Agile methods software development (also called Agile Modelling, denoted AG for short) reduce software lifecycle time (thus speeding up development) by firstly creating 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:
SCRUM is a framework used within teams managing complex projects and its aim is to deliver value in short periods of time. It is based on three pillars: transparency, inspection and adaptation. It is used in the management of development projects for software products and also in a business-related context.
Kankan main aim is to manage how tasks are completed. Consists in a visual method that allows to know the status of the projects quickly and to assign new tasks in a very effective way. In order to apply it, a task board is necessary to improve the work and to have a sustainable rhythm.
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.
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.
Crystal methodology focuses primarily on people and the interaction between them as they work on a software development project. At the beginning of the project, processes and tools are not fixed, but are decided on the basis of the business requirements and technical needs of the project.
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:
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.
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.
RUP (Rational Unified Process) is an iterative development method promoted by the Rational Software company, which was bought by IBM.