In the interview with Stephan Spies, CEO of OFIGO

OFIGO is an agile, highly specialized IT consulting and software development company based in Essen, right in the heart of the Ruhr metropolitan region. Using agile methods and cutting-edge software technologies, OFIGO provides an innovation architecture for the digitalization of companies and the development of new digital business fields. For years, the company has specialized in holistic software development solutions and employs recognized methods such as Design Thinking. This was reason enough for us to speak with Stephan Spies, CEO of OFIGO GmbH & Co. KG.
DIGITAL FUTUREmag: Mr. Spies, the term “agile” has only been used in the field of software development for a few years. Yet it has also become almost a buzzword in many other areas. In your opinion, why is “agile software development” the order of the day?
Stephan Spies: The most important aspect for me is that software development projects are complex and can only be planned to a limited extent at the start. Many requirements are still unknown at the beginning and must be checked to see whether they actually provide the desired added value for the target group. This means that new findings and needs arise throughout the development process. Successful project management therefore requires an approach that delivers fast, verifiable results and assumes from the outset that changes will occur during the course of the project. Based on agile methods, OFIGO develops tailor-made software solutions and digital products. The client is an active part of the project team, which leads to better communication as well as more transparency and trust.
DIGITAL FUTUREmag: Agile software development requires a clean requirements analysis. Could you briefly describe the most important steps on the way to successful implementation?
Stephan Spies:
A clean requirements analysis has always been the most important prerequisite for software development. The crucial question, however, is at what point the requirements analysis can actually be considered clean. Even in classic process models, requirements could be very well captured. A major difference, however, is the time horizon for which requirements are defined. In agile software development, the requirements analysis is a continuous process. The requirements that are to be implemented next are defined very precisely, while those that will be developed later are defined very roughly. This results in a living requirements description that can be described much more accurately at the time of actual implementation than with classic process models. At the same time, no time is wasted on requirements descriptions that lie far in the future and are often no longer relevant or have changed significantly by the time they are implemented.
In addition, we place great emphasis on the entire project team understanding the vision and objectives of the project and thus having a clear understanding of why the individual requirements are necessary. This allows inconsistencies in the requirements to be addressed directly.
From this, the most important steps for successful implementation can also be directly derived. First and foremost, it is very important to develop a very clear vision and objective for the project, which must constantly be tested throughout the project. Any adjustments must be made transparent and understandable to the entire team. For the creation and verification of the vision and objectives, it is crucial that the target audience is closely involved. Only in this way can clear priorities be derived and the focus placed on functionalities that bring real added value.
Another important step is the design of the technological architecture that matches the requirements, so that no fundamental wrong decisions are made at the beginning that could become very expensive later on. In the further course, it is necessary to have an experienced foresight to make the right architectural decisions based on changing requirements and to enable efficient further development. Often, many aspects must be considered here that are not always visible (e.g., security, disaster recovery, scaling, monitoring and service management, etc.).
DIGITAL FUTUREmag: The topic of Design Thinking inevitably also comes into play. I myself once participated in a workshop where we had to skewer marshmallows on spaghetti. Not only was it fun, but it really encouraged us to develop new ideas. How does Design Thinking fit into software development?
Stephan Spies:
The goal of Design Thinking is to develop innovations or innovative products that are user-oriented and meet user needs.
Although in most companies users are initially consulted, their wishes, suggestions, and problems end up with the IT department. This problem continues in agile software development. Even in pure Scrum projects, there is often a classic trap at this point: the developed solution meets the specifications of the IT department – it was conceived from a technical perspective and perfectly implemented – but users are hardly involved more than in traditional software development.
Design Thinking aims to ensure continuous dialogue. The basic idea of this creativity technique is to generate ideas that are exclusively user-oriented. For software development, this means involving all employees who work on the software or are involved in a task in the solution-finding process – regardless of their department or status.
Together, problems are examined with as little effort as possible and potential solution approaches are developed, resulting in a “Minimum Viable Product.” This first, already functional product then serves as the basis for further development in a continuous discourse with all stakeholders. Combined with Design Thinking, agile software development becomes a genuine alternative to classic requirements management.
Both approaches share the iterative fundamental idea but are applied at different stages of the project. Design Thinking is used for idea generation and concretization, while agile development is a method for the rapid delivery of product increments. In the Design Thinking workshops that OFIGO conducts with customers or their employees, clarity is already created before the actual development project about what goals are to be pursued with the software and what benefits it should provide for the user. Anyone planning a software project should definitely consider Design Thinking as a method. When applied with agile development methods such as Scrum, Design Thinking ensures that the solution meets the users’ wishes.
DIGITAL FUTUREmag: Does prototyping also play a role here?
Stephan Spies:
Prototyping plays a very important role and often represents the first concrete step toward implementing new ideas. With little effort and in a short time, you receive genuine feedback from the target group. The small and quick steps taken enable learning and further development of requirements before extensive implementation takes place. This approach also allows several concepts or solution approaches to be compared with one another.
In addition, the results of a prototype can be used in requirements analysis to better assess the effort and costs of a software development project and serve as a proof-of-concept with regard to the feasibility of a project. Prototyping has its fixed place in Design Thinking, for example within a Design Sprint workshop. The result is usually a surface prototype that gives test users a tangible impression of the user interface (mostly graphical) and the added value in order to provide as realistic feedback as possible.
DIGITAL FUTUREmag: What difficulties or, shall we say, challenges do you encounter when using these new methods?
Stephan Spies:
Overall, we can say that we have had extremely positive experiences with the use of these methods so far. The great thing is that even the biggest challenges can be overcome, since learning and reflection are an integral part and the approach is therefore highly resilient. It is important that customers and employees embrace the new methods and a culture is created where this is also possible.
The biggest challenge with the initially very simply designed methods is to transfer them into a productive, self-organizing work culture.
This becomes significantly more difficult with large projects: Large projects usually take place within a large corporate context with fixed structures and steep hierarchies. As soon as several teams work together on the development of a product, the complexity increases exponentially. In this case, an approach based on, for example, Scrum does not provide a means of achieving the goals (effectiveness, efficiency, developing the "right" thing, and customer satisfaction) of agile software development. In this context, we work with our customers to train and establish process models that make the goals of agile software development usable in scaled project environments.
DIGITAL FUTUREmag: On November 5, you will be represented at the Digital FUTUREcongress at Messe Essen. What can visitors expect at your trade fair stand?
Stephan Spies:
Our cheerful trade fair team will be on site at stand D05, representing the digitalization engineers from OFIGO. There, we will be available to all interested trade fair visitors to discuss software engineering and agile project management. Otherwise, we also have some “culinary click-bait” in store: alongside really delicious coffee, our guests can enjoy slush ice in the flavors “Scrumberry” and “Agil Apple”. Where it says OFIGO, it’s OFIGO through and through.
DIGITAL FUTUREmag: Many thanks for this truly great conversation.
The interview was conducted by Michael Mattis, Managing Director and organizer of the Digital FUTUREcongress.