Digital products are a very important part of digital transformation. This raises many questions, especially for SMEs: How to tackle the development of digital products? Which methodologies are available? Which one fits best? In our new series, we will show you what this is about and what is important in this context. The first article explains the difference between software development according to the classic waterfall model and the agile software development.
Waterfall – one after another
The waterfall model follows a gradual approach within clearly defined phases. They built upon each other and only after the conclusion of the first phase, the second one can start. An example: First, the software requirements are defined and the PRD is created. Then the software architecture is programmed. Following that, the software is implemented, then examined and maintained as required, errors are removed and adjustments are carried out. Thus, the model follows a rigid procedure: concept, design, technical implementation, roll-out, support.
The waterfall model assures a high planning certainty because all phases are clearly defined in advance and processed strictly according to the plan. In projects with little uncertainty, this model offers an easy and constructive way of working. The main disadvantage of the waterfall model is the lack of flexibility. Modification of software is in most cases costly and not easy to implement if difficulties appear in a subsequent phase of the project.
Agile Software Development – close to the customer
Agile software development is mainly characterized by a high level of flexibility. The approach evolved from the realization, that a consistent planning in software projects has become impossible. This predominantly results from the uncertainty regarding the outcome, the dynamic of the requirements, the technologies and the market conditions. Agile software development thus follows an iterative approach. It is based on a few clear rules and repeating processes within a determined timeframe.
According to the agile approach, the process starts with defining a few requirements, developing them within a few days or weeks, and implementing and testing them. If the development team sees that something does not work or if the customer demand has changed in the meantime, adjustments are made right away. This way it is possible to respond flexibly to changed requirements and customer wishes. Errors are fixed at an early stage, changed requirements of the users are implemented fast and new functions are added if needed.
In Silicon Valley some modern and agile methods like Design Thinking, Scrum und Lean Startup have taken root over the last years. In this series, we will present you these new approaches and working methods, illustrated by examples from real life.