"Agile methods" software development (also called Agile Modelling denoted AG for short) reduce software lifecycle time (thus speeding up development) by firstly developing a prototype version, then integrating functionality on an iterative basis responding to customer requirements and testing throughout the development cycle
Agile methods originate from the instability of the technical environment and the fact that the client is often unable to define every single requirement at the start of the project. The term "agile" is a reference to the ability to adapt to contextual changes and changes to specifications which occur during the development process. Thus in 2001, 17 people came up with the agile manifesto the main points of which are as follows:
- individuals and interactions rather than processes and tools
- software development rather than exhaustive documentation
- working with the customer rather than contract negotiation
- openness to change rather than following inflexible plans
With the help of agile methods, the customer is in total control of his project and achieves rapid software implementation. Thus, this allows for user involvement from the beginning of the project.
RAD - Rapid Application Development
Rapid Application Development (or RAD) was defined by James Martin in the early 1980s, and consists of a short development cycle based on 3 phases (Requirements, Design and Construction) with an ideal delivery time of between 90 and 120 days maximum.
The DSDM (Dynamic Software Development Method) was developed to fill in some of the gaps in the RAD method by providing a framework which takes into account the entire development cycle.
The main features of the DSDM method are as follows:
- User involvement
- Iterative and incremental development
- Increased delivery frequency
- Integrated tests at each phase
- The acceptance of delivered products depends directly on fulfilling requirements.
UP - Unified Process
The Unified Process UP method is an iterative and incremental development process which means that the project is cut into very short phases, where a new incremental version is delivered at the end of each phase.
This approach is based on UML modelling for the description of software architecture (functional, applicational and physical), and user case development which outlines user requirements and demands.
RUP - Rational Unified Process
RUP (Rational Unified Process) is an iterative development method promoted by the Rational Software company, which was bought by IBM.
The RUP method mainly specifies team make-up and time scales as well as a number of document models.
XP - Extreme Programming
The XP method (EXtreme Programming) defines a set of best practices for application development in optimal conditions by placing the customer at the centre of the development process, maintaining a close relationship with the customer.
Extreme Programming is based on the following concepts:
- Development teams work directly with the customer in very short cycles of one to two weeks maximum.
- Delivery of versions of the software occurs very early and at rapid intervals to maximize the impact of user feedback.
- There is tight collaboration in the development team when working on the code.
- The code is tested and cleaned up throughout the development process.
- Indicators measure the progress of the project so that the development plan can be updated.
For more information: