In my last blog I looked at four main methodologies of Agile Software Development (ASD).
Following on from this, today I hope to look at three more slightly less common methods. The three methods I will look at are:
1. Adaptive Software Development
2. Dynamic Systems Development Method (DSDM)
3. Feature Driven Development
Adaptive Software Development is a design principle for the creation of software systems. It focuses primarily on the rapid creation and evolution of software systems. Something unique about this form of software development is that there is never a period where the software is finished; there are just stable periods between new releases.
The focus of adaptive software development is in the computer code. There is very little, of any planning involved. Overall, the lack of pre-planning steps allows the developers to make the software very quickly. While this will occasionally result in software that doesn’t perform the precise functions required, that is generally not a problem.
Dynamic Systems Development Method (DSDM) is an organised process focused on delivering business solutions quickly and efficiently. It is similar in many ways to SCRUM and XP, but it has its best uses where the time requirement is fixed.
DSDM focuses on delivery of the business solution, rather than just team activity. It makes steps to ensure the feasibility and business sense of a project before it is created. It stresses cooperation and collaboration between all interested parties. DSDM makes heavy use of prototyping to make sure interested parties have a clear picture of all aspects of the system.
Feature Driven Development is one of the agile processes not talked or written about very much. FDD is very different to scrum and XP development however it is just as applicable for small teams. It was designed from the ground up to work for a larger team. Larger teams present different challenges. For example, a small team of disciplined and highly skilled developers by definition is likely to succeed regardless of which agile method they use. In contrast, it is unrealistic to expect that everyone in a larger team is equally skilled and disciplined. For this and other reasons, FDD makes different choices to Scrum and XP in a number of areas.
The Following diagram briefly outlines the process of Feature Driven Development:
In my next blog I will explain why we need Agile Development and problems that can often arise with it.