Have you ever had an opportunity to manage a project with business and technical requirements being documented before the beginning of the project? And while presenting the first (or another) version of the project, it turned out that the Client had seen it differently? Or maybe you have taken part in a project having no specific requirements and starting with a risk of not delivering the product that would meet the Client’s expectations? How to manage a project when the problem that the Client is struggling with is known, however the very aim of the project, the final product as well as the requirements are not clearly specified?
Unfortunately, such situations are very common in IT projects, and the use of agile methods (e.g. Scrum, Kanban) may not be enough. What it means in practice is that finding the best solution that would achieve the project aim, both in terms of business and technical aspects (or that would define the aim if it is not yet clear), requires the use of techniques and tools for conceptual design. In such a situation, we involve business analysts, technical architects as well as a design team consisting of a Visual Designer and a User Experience specialist. One of the most significant determinants of success or failure is the right choice of methods, techniques and solutions applied to a given problem.
How do we help our Clients on a daily basis
Depending on the situation, we have a few ways of applying conceptual designs elements to an IT project:
1. We start a project with a design phase, during which we discuss business and technical requirements with the Client, and also design the final product based on a user perspective. We often do it in the form of a sprint, using research and project methods, e.g. rapid prototyping. I’ve had an opportunity to work on a project, where a 2-week sprint turned out to be sufficient. Nevertheless, there are projects where this phase takes much longer or shorter. The above-mentioned project had a limited budget, and that’s why the design phase allowed us to confirm the project scope and set priorities, e.g. which functionalities should be delivered in the first phase of the project, and which ones could be postponed till the second phase etc.
At Objectivity, we use a design phase for various projects – both the bigger and smaller ones – by means of selecting appropriate methods and techniques. After the design phase, we move on to the implementation of the chosen solution.
2. In several projects that I had an opportunity to manage, we organized workshops and carried out research that would help us understand the internal processes and systems used on the Client’s site. For this purpose, we used:
- shadowing technique, which is a research technique that helps to check how the user deals with the processes, and how they use the systems in their company. Thanks to this technique, we were able to define the problem more efficiently and come up with the right solution.
- event storming, together with a technical team and a subject matter expert we documented the business process and defined the project requirements. At the beginning, it’s worth explaining it to the participants what the workshop is all about and what they can expect – which will certainly make them feel more comfortable,
- design thinking, i.e. a method of creative problem solving when, together with the Client, we analyze the current processes and define the problems to be solved. In some cases, even one-day workshop is enough to define the project scope and to prepare the product prototypes.
At Objectivity, we use many more methods and techniques, including interviews, testing prototypes with users etc.
3. It is sometimes the case that the design phase is so big and complex that it may be treated as a separate project, during which we work with the Client on improving the project vision and create a prototype. The final product consists of models, ready graphics or a prototype, which are then used to assist creating the scope of an implementation project.
One of the advantages of using prototypes is a possibility to test them with users.
According to Nielsen, 5 users are enough to detect 80% of the system bugs.
Influence on the project – time, budget, scope
Project management triangle i.e. scope, time and budget are mutually dependent, and the influence on one of the three dimensions may affect the others. Extending a project scope will change its time and budget, while reducing the budget will affect the scope and time. Apart from these three dimensions, we also have quality – a very significant factor in IT projects – which may also be decreased or raised depending on the situation.
Hence, how does the use of conceptual design elements and prototypes affect the project triangle?
- Project scope is much clearer both to the Client and to the development team if the tools and methods for designing systems are used. We do not only rely on business and technical requirements description, but at the same time, we can also find out what the product will look like, e.g. thanks to the use of prototypes. Therefore, it reduces the risk of subsequent changes in the projects.
- Very frequently, while discussing business requirements, we visualize the final product. In reality, even in the case of having a very specific requirements description, each person may have a different “perception’’ of the product. It may turn out that during the design phase, we will give up on the initial assumptions and decide to add more functionalities that will, at the same time, extend the project scope. In case of smaller projects, it is best to finish the design phase and move on to the implementation phase. By doing so, we reduce the risk of introducing changes during the project duration (it can be compared to a waterfall approach in project management). In case of ‘big’ projects or creating a product, it is not always possible to finish the design phase before starting the implementation phase. Then, it is necessary to plan the work in such a way so that the design team could be “a few steps’’ ahead of the development team. If we deal with simultaneous work, there is always risk of a change that may have its consequences, e.g. influence on the system architecture.
- The biggest value resulting from the design phase is multiplicity of solutions that can be checked, as well as some ground for discussion with a business, and also testing a system with the user by means of prototypes.
- The project scope can be easily adjusted by increasing or reducing the number of functionalities. However, it does not leave the budget of the project unaffected. In case of the budget being limited, the design phase may help us assess which functionalities are most important and should be implemented in the first place, and which of them can be postponed. It is particularly important while creating a product which can be delivered to the user in a basic version, and then be gradually developed and extended by additional functionalities.
- One must bear in mind that the budget of a project is most frequently limited, which must be considered during the design phase
- A design phase may extend in time if we keep expanding the scope of the project by adding more prototypes of the product. At the beginning of a design phase it’s worth determining the time frames of this stage of the project.
The use of conceptual design phase in IT projects brings plenty of benefits for both the Client and a technical team in terms of a better understanding of the final product. Nevertheless, one should bear in mind that it is necessary to plan such a design phase and adjust it to a situation in a project. Otherwise, it may affect the scope, budget and duration of the project.
While working at Objectivity, I’ve had an opportunity to manage many projects, which involved a conceptual design phase. In each case, we were able to grasp the changes much earlier and to manage them accordingly. It was sometimes the case that we had to extend the project scope, which affected the budget as well as the duration of the project. Nevertheless, we were confident that the product would be more useful and would bring a bigger value to the end-user.