The solution we delivered needed to be designed and build from the ground up. And it had to replace the old system while it was still used in production daily.
Old and new running side by side in production
Every sprint or two we released new functionalities to a live production environment. When everything worked as it should, we turned off those specific functionalities in the existing system. This way people were able to adjust to the new solution step by step.
The old system
The system that was in place was build with outdated technology and the support from the supplier was discontinued.
For a system that is used for the primary process of the companies core business that is an unacceptable risk.
Modern technologies with a new look and feel
Along with the transition to a native .NET application we also had to tailor the application to fit the HZPC way of working.
This resulted in several major improvements in terms of efficiency as wel as data quality.
Mapping the work processes
As we were woking in-house right in the middle of were the primary process took place we we able to walk along, observe, inquire, and test assumptions and deliverables whenever we needed.
We could see every workflow live and gain a clear understanding of the context.
I always try to simplify the complexity of the whole, right at the start as much as possible. To find the fundamental elements, the essence so to say.
This helps following the right structure throughout the process, and acts as a reference for both design and data.
Having the right facilities is important. But they are not always available wherever you are. Sometimes you have to improvise in the corner of a hallway :D
Co creative sessions with product owners, team members and end users like this always helps to align on ideas, direction and decisions.
Defining all the individual steps for each part of the process made clear:
who was doing what, why, and for who
where improvements could be made
where the solution for each concern should be placed (process, system or people)
Designing the solution
Very low fidelity
I can explore endless options for each screen(state) very quickly to firstly see for myself if there is value in the ideas I come up with, and secondly to discuss with others in an early stage possible directions for the solution.
Micro interactions and screen states
Also to align with developers on the details my drawing skills are heavily used.
Layout & UI Design
As the outlines of the solution and it's main components become clear it is time to design the basic layout and assign purpose to each layout section on the screen.
To direct future expected behaviour you need to be consistent in allocation of functionalities so it becomes logical. This way users will 'understand' the structure and know where to look for things.
And that starts with tapping into the existing mental models of the end users as much as possible.
Test and iterate
To continuously improve we delivered early and fast. Every functionality was tested with key users. This feedback loop helped to get it really right.
Sprint Demo presentations
There was a high level of engagement from users, product owners and other stakeholders to attend the sprint demos where we showcased our deliverables.
These demos also resulted in very valuable feedback.