Week 8 - Agile Development Methods
'Agile'. 'Lean'. 'Simple Design'.. You hear it everywhere how the - originally - software methodologies have been appropriated by other teams to develop and manage their business models, products and projects to become more customer centric, iterative and more focused on rapid testing. Multiple iterations, early feedback and adaptable product development go along with the idea is 'fail cheap, fail quick, try better.'
Before the 'agile revolution', software development teams have been primary working with the waterfall methodology. Beck (1999) introduced the Extreme Programming methodology as one of the early adopters of agile software development methodologies. Rather than working on a process of 1.Analysing, 2. Designing , 3. Implementing and 4. Testing, the agile is an adaptive, iterative method where these activities are all executed throughout the software development process.
However, agile methodology seems to be more of a philosophy rather than a simple method to apply.
The methodology not only needs to fit into the context given, but also the team has a primary influence on whether the process is successful or not. Krutchen (2007) explains agile as a culture. The idea that software development becomes a team activity where the members of the group code in pairs, interact with each other, test, iterate and challenge their idea and quality continuously requires a strong team spirit and increases the complexity of managing these teams. This is where SCRUM came into play. Williams et al. (2011) explains SCRUM as:
'an agile software development process that works as a project management wrapper around existing engineering practices to iteratively and incrementally develop software.' (Scrum + Engineering Practices: Experiences of Three Microsoft Teams, Williams et al., 2011)
Nevertheless, many teams mix up the methodologies to fit into their individual context. While extreme programming normally requires the customer to be involved in the development process, this role is often replaced by the product owner or another leading member of the team. Many teams do not label the way they work as "agile", "SCRUM" or "extreme programming" but rather define themselves as opponents to the "waterfall model".
Nowadays, we can discover these lean development methods even in the development process of physical goods or even strategies. Human-centered-design and design thinking methods that involve the customer in the development process have become the source of creating sustainable products and business models. 'The lean startup' focuses in rapid prototyping, multiple iterations of the model and testing before engaging into pre-defined strategies that bear high risks and uncertainty.
Here an overview of the difference between the classic waterfall and more iterative methods.


0 comments:
Post a Comment