Recently, I had a pleasure to take part in a rather non-standard project at Objectivity. Not only was it extremely short, as it only lasted two weeks, but, what`s more surprising, it also didn`t aim at developing any software. What sort of venture was it then?
Our client is one of the worldwide leading providers of legal services. They were looking to develop a solution that would aggregate a variety of services in a single portal. These services were crucial to handle client`s business processes and could be delivered through bespoke applications or Commercial off the Shelf (COTS) packages, which vary by nature. What`s more, all the services (further referred to as modules or components) should be accessible with a common user interface that should provide a superior user experience throughout the portal. The reason for that is that the portal would act as a one stop shop for clients of our client, allowing them to order services from a service portfolio and track a progress of work. Hence, a user centered, ‘single-application-experience’ approach was desired.
Our goal was to consult the client how to proceed with such a complex project, or even a programme. This included:
- designing a user interface,
- designing a high-level architecture for the portal,
- providing high-level estimates for creating the portal UI and for integration with external bespoke applications and/or COTS packages.
The client intended to use the high-level design to support their business case and take vital business decisions based on our IT consultancy work outcomes and recommendations.
At the very beginning we had little knowledge of client business processes and services that should be available within the portal. We struggled to understand how the services would depend on one another or how they should interoperate to maximise the business value. These pieces of information were inevitable to understand the integration approach within the portal. Another challenge was that our client had not yet decided whether to choose bespoke applications or purchase COTS and if so, which ones. They shortlisted candidates for several modules, however decisions weren`t taken at that point of time yet. System users were another big question mark for us.
How did we face the challenge?
To address the need for a new user interface, we first invited the client to UX workshops. Our User Experience Specialists listened carefully to our client`s needs and pain points, and helped them in defining goals and clarifying vision of the system. Several personas were identified based on these exercises, which significantly improved our understanding of end users, their habits and performed tasks. The conclusions drawn from the workshops were later reflected in hi-fidelity mock-ups and presented to the client, who was thrilled with the results. It turned out that the superior UX Specialist performance laid foundations for our future cooperation with the client.
Furthermore, we offered to conduct an Event Storming workshop. We invited the client to our office and spent more than 2 days on meaningful conversations about their business processes. This step was essential to understand the client perspective and kick off the consultancy work. The exercise was moderated by Objectivity Technical Consultant and our team consisted of:
- Solution Architect,
- User Experience Specialist,
- Business Analyst.
There was a good reason to invite such a variety of roles. Usually, all of them actively participate in a product development process, and the better the development team knows the business domain, the more profound the initial analysis is. That directly translates into the overall quality of the final product. The client representatives acted as subject matter experts (SMEs) in the business area and thanks to them we gained a valuable insight into their business domain. Not only did we have a chance to get to know their vision and expectations towards the software, but we could also enjoy time together, which reportedly strengthened our relation.
At the workshop, in the first place we focused on identifying the main events that occur within the business domain. Contribution of our subject matter experts was priceless in this phase as they possessed in-depth knowledge about the business. Following this, the events were set in chronological order, which allowed us to visualise the main business process flow and some of the supporting flows. Another exercise, the reverse narration one, helped to ensure that the defined set of events was complete. At last, we added user roles and external systems that impacted or were impacted by events within our flow.
At that point of time the wall was full of Post-Its visualising our main business process and some side ones. Having this big picture in front of our eyes, there couldn`t be a better moment to identify portal modules, the dependencies among them, interoperability requirements and integration points with the main flow.
Obviously, there were some domain areas that could not be investigated deeply enough due to either time constraints or insufficient knowledge at that point of time. Those topics (called ‘hot spots’) were listed and handed over to the client for consideration. This step has also generated value - our client was made aware of the fact that there are undiscovered business needs. Thanks to that they could dig deeper into them and take decisions far before the project start.
Having had all the portal modules identified, we held another exercise aiming at comparing business value of every component to the effort needed to integrate it with the portal skeleton. As a result, we received a Value/Effort Matrix that was later used to prioritise work.
In general, this two-day exercise was pretty demanding for both the client and us. It turned out that SMEs` portal visions slightly differed although they perfectly knew ways of working in their company. The workshop gave them an opportunity to align their ideas and reach a common understanding.
Based on the results of Event Storming, Value/Effort Matrix exercise and numerous conversations we managed to get a big picture and complexities of the portal. Thanks to this, we were able to prepare a high-level architecture of the system. We gained the knowledge necessary to suggest a sequence in which components should be incorporated into the portal to generate business value in a relatively short period of time.
The Event Storming exercise acted as a basis to create a backlog of features that ought to be covered within the portal. The backlog was used to perform a high-level estimation of the required UI and integration work.
We outlined an architecture vision that presented the perspective from a high-level point of view. It showed the communication and integration between applications that perform domain functionality. Our Architect listed architecture risks and constrains that must be considered when taking business decisions.
We recommended Service Oriented Architecture as a main integration principle for the portal since it would enable easy integration with any other external application including business intelligence. We also suggested certain API principles to minimise issues during the integration, drafted a data model for the portal and provided concept for the implementation of user authentication mechanism.
To help our client decide whether to buy COTS solutions or develop custom applications, we also listed pros and cons of each approach.
This project differed from many others as it didn`t deliver any piece of software but was a pure IT consultancy work. Our client requested to advise them on architecture of software that will underpin the firm`s strategy and will be the backbone of services provided to their clients. We were delighted and excited to be trusted with such a responsible work to carry on. It proved we are perceived not only as trusted software developers, but also advisors that can deliver business value through IT consulting.