Agile vs. classic software development
The right process model for your project
by DI (FH) Andreas Lettner
Classic approaches such as waterfall, V-model or spiral model or agile approaches such as Scrum or Kanban? At the beginning of a project, the question arises as to which of the existing process models is best suited for the current project. RISC Software GmbH has many years of experience with different process models and advises its customers at the beginning of a project which process model is recommended.
Table of contents
- Changes
- Feedback
- Complexity
- Conclusion
- Resources
- Author
Changes
Classical process models follow a linear approach, where work is done from the beginning towards a defined end state. Here, the project passes through different phases in sequential order. The phases are usually concluded by milestones. Due to the rigid transitions and sequence of the phases, it is avoided as much as possible to introduce new requirements or a change of requirements into a project. This is usually not compatible with the budgeted and time goals.
Agile approaches rely on an iterative-incremental model instead of this sequential order. Iterative means that product development happens in cycles, while incremental means that a potentially usable product increment is created at each cycle. As a result, necessary deviations from the plan can be recognised at an early stage.
Feedback
Recognising the need for concrete changes is a challenge for every project team. In classic process models, this happens at best at the milestones, i.e. between two phases – at worst only at the end of the project. In agile approaches, each iteration includes timely feedback from customers, which prevents the final product from not meeting market requirements.
Complexity
Projects fail because of a misjudgement of their complexity. The definition of complexity according to the Cynefin framework (2) results from the fact that the relationship between cause and effect cannot be predicted in advance. Complex systems require mercantile practices to achieve a product goal. This contrasts with complicated systems where, with the appropriate knowledge base, the relationship between cause and effect is predictable. Thus, complicated systems or products can certainly be planned in advance. Agile approaches are based in their principles on emergent product development and promote the reduction of complexity through their iterative-incremental practices.
Conclusion
Both approaches – the classical and the agile – have their respective advantages. Ultimately, the assessment of which process model is the most suitable is based on the experience of both partners – the client and the implementation partner. Nevertheless, the following basic rules can be used to make a decision:
Projects that can be realised in a short time with small teams and are in a clearly defined context may be suitable for classical process models. Even with a classical approach, RISC Software GmbH works according to agile values and usually complements the project processes with agile practices. Above all, active and continuous communication with the customers is a principle that is never neglected.
Agile practices are recommended for all other projects. Steering product development and reducing complexity are fundamental principles of agile values, and even long-term projects with multiple teams can be coordinated through scaling techniques.
A team of specialists at RISC Software GmbH advises its customers individually on the possible process models as early as the project initiation stage and also continuously monitors the results during project implementation in order to be able to make any necessary adjustments to the process model with the customers in good time.
Contact
Author
DI (FH) Andreas Lettner
Head of Unit Domain-Specific Applications, Head of Coaches
Resources
(1) https://www.standishgroup.com/
(2) D. Snowden. (2000) “Cynefin, A Sense of Time and Place: an Ecological Approach to Sense Making and Learning in Formal and Informal Communities”