Agile software development is a set of software development methods in which requirements and solutions evolve through collaboration between self-organising, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change
Traditional software development processes follow a V-model with distinct phases, each starting and ending with a review based on the quality of that phase's inputs and outputs
The disadvantages of the traditional V approach are the lack of early prototypes and the lack of a testable system until late in the project. These can be overcome by a highly iterative (or agile) approach in which the development is divided into short iterations or sprints. Each sprint follows a specify-build-confirm cycle that can, and should, have the same rigour as the V-model
The goal of each sprint is to satisfy needs by adding features in an update of the system. So the system exists from the earliest sprints, as a prototype that evolves into the final system.
The main input to each iteration is the product backlog, the list of features yet to be built. Needs are often represented as user stories. The backlog is assessed and prioritised at each iteration.
The disadvantages of the traditional V approach are the lack of early prototypes and the lack of a testable system until late in the project. These can be overcome by a highly iterative (or agile) approach in which the development is divided into short iterations or sprints. Each sprint follows a specify-build-confirm cycle that can, and should, have the same rigour as the V-model
The goal of each sprint is to satisfy needs by adding features in an update of the system. So the system exists from the earliest sprints, as a prototype that evolves into the final system.
The main input to each iteration is the product backlog, the list of features yet to be built. Needs are often represented as user stories. The backlog is assessed and prioritised at each iteration.
With Cradle's unique ability to support the entire systems process, you can perform, manage, track and control your entire project's work in one tool and in one database.
If your project is small, you can manage sprints and their associated issues and defects. You can record all scrum discussions and design decisions. The metrics and KPIs from Cradle will help you to keep to the project plan. Cradle's change tracking and traceability views help you guarantee the validity of the final system.
In large projects, your needs are greater. Cradle's unique ability to link sprints to evolving analysis, architecture, design and validation information will provide the traceability and design rigour that you need. The ability to baseline the evolving system and documentation, to browse through historic baselines, and to track all changes will provide the management rigour that you need.
The benefits of Cradle for agile processes are:
Cradle fully supports agile processes, providing: