Today, hardly any company can do without a digital product and service offering. We explain how to start with your next digitalization and software development project through agile requirements engineering as part of an agile conception phase.
„In the future, every company will be a software company.“ (Andreessen, 2011) Across all industries, the realization has matured that IT systems, digital applications, and custom-fit software solutions make the difference in B2B. Today, only a few companies can manage without a digital product and service offering. Industrial companies in mechanical and plant engineering are also thinking about how they can create added value for their customers through digital services to win their loyalty. The start of such an initiative includes developing a clear vision and gathering the most important requirements. Read here how you can do this.
IIn traditional software development, it has become practice to record the previously developed requirements in a detailed specification sheet. This is done either internally within the company or by commissioning a service provider. This approach is particularly deeply rooted in mechanical and plant engineering. However it has clear disadvantages: The creation of a requirement specification sheet takes a lot of time, costs money, and is ultimately too rigid a concept to allow subsequent change requests to be incorporated. Since various stakeholders are involved in specifying a solution, this process often drags on for months. Most companies state that the lack of time is the biggest obstacle to digital transformation.
Experience with agile software development is still not widespread in many sectors and functions, and the external recruitment of specialists is also a challenge. It is not uncommon for the assumption to arise that a specification of requirements is not necessary before the start of the project when using agile methods. Instead, they are collected “just in time” and documented in the user stories. This often leads to multiple requirements adjustments in the course of the project, as the primary strategic orientation changes continuously due to a lack of coordination between the stakeholders involved. While agile software development does make it possible to react flexibly to obstacles and new requirements during the development process, stable business requirements are still a success factor for successful software projects. The formulation of precise requirements is an essential task of requirements engineering. However, these can only be formulated if all stakeholders share a vision and agree on common goals. To make it easier for our customers to get started with requirements engineering, we have developed an approach supported by agile methods.
Many of our customers are not familiar enough with agile software development to be able to provide us with finished user stories for implementation in the sprints. Therefore, we have identified the task for us to accompany them step by step in this process and to bring them closer to the agile principles.
Agile software development works – at least in the beginning – without a detailed documented catalog of requirements. However, it is essential to develop a clear strategy. Before the start of the project, it must be clear to everyone involved what is to be achieved in the development – objectives and framework must, of course, also be defined in agile projects. We developed our agile conception phase out of these considerations. It is a compact series of workshops that can be completed in a few days, similar to the Google Design Sprint (Knapp & Zeratsky, 2022). In this way, we ensure a high project speed and short time-to-market. In close cooperation with the client, the biggest “pain points” of the target group, a product vision based on them, and a first prototype can be developed. The conception phase ends with the joint validation of the developed ideas.
The product vision captures the shared understanding of the goal to be achieved by building the product. The product vision board can help in the development of a product vision by raising important questions about the target group, their pain points and needs, possible solutions and the company’s goals. Especially in complex projects, the requirements of different stakeholders have to be taken into account. A product vision helps to reach a high degree of consensus on the basic direction before going deeper into the elaboration of functional requirements.
With the tool of a user story map, popular in agile software development, requirements are brought into a clear structure. This gives stakeholders and departments a common anchor point for the clarification process. After the functional requirements have been developed, it is essential to prioritize the requirements. The goal is to quickly go to market with a minimum viable product (MVP) to receive valuable feedback for optimizing the product.
User experience (UX) design is of central significance for companies, especially for their brand. The aim is to create a consistently positive user experience across all touchpoints. UX encompasses not only digital solutions but also external communication and the end product itself. A basic user experience analysis and design phase should be carried out before the start of development so that an overall concept can be created. This will then be finalized later in the course of the project. It is particularly important to develop clear user journeys and visualize them through wireframes. Depending on the project, the level of detail of the elaboration can vary – from initial wireframes and screen drafts to clickable UX prototypes.
New IT systems are rarely operated as stand-alone systems, so interfaces to the existing system landscape should be considered as early as possible. Therefore, we conduct a review of the status quo of the existing system landscape to develop a target picture that takes the integration of the new solution into account. Depending on the complexity of the system landscape and its interfaces, a single workshop may be sufficient, or a completely independent project may be required.
Without validating the ideas developed, no agile conception phase can be concluded. Measured against the defined requirements, it tests the suitability of a solution. So we finally ask ourselves: Does the product really solve the users’ problem? To be able to answer this question as early as possible, we test the solution on potential users already during the specification phase. The wireframes and interactive prototypes created in step three are used again for this purpose. These allow us to test our ideas particularly quickly based on hypotheses. We continuously incorporate the feedback into the solution and test it further. In the end, we receive a coordinated and tested product, optimized for the intended use – without having written a single line of code.
Following the agile conception phase, further detailed workshops can take place to address those topics that were deliberately outsourced so as not to slow down the speed of the conception phase. The results are documented in a specification document, a UX prototype, and an additional user experience concept. In addition, the user stories are transferred as a backlog to a project management tool, such as JIRA. Up to this point, only what brings additional information content for the customer has been specified. According to agile principles, user stories do not contain implementation details. Therefore, these are taken up again in the project, for example, in sprint planning, discussed and refined.
HOLGER REIMSBACH
consultant digital business
Marc Andreessen (2011): Why Software Is Eating the World
Jake Knapp & John Zeratsky (2022): The Sprint Book.
J. Bolkart/Statista (2022): Was sind die größten Hürden für die Digitalisierung in Unternehmen? https://de.statista.com/statistik/daten/studie/1284685/umfrage/umfrage-unter-unternehmen-zu-hindernissen-bei-der-digitalisierung/