Announcing Cradle-7.7 - start your free trial here

Agile Development

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

The V Model

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

Agile Development Inputs & Outputs
Agile Development Inputs & Outputs

Agile Development

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.

Agile Development Inputs & Outputs

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:

  • You are able to manage all your data, no matter how large or small, no matter how static or dynamic, of any format and content, in every agile or phase based process
  • You and your team can work efficiently, collaboratively, even across multiple locations
  • You can be alerted to, and track, every action and every change
  • You have full traceability across the entire lifecycle, including unique transitive views
  • You can apply the appropriate level of configuration management and change controls and produce change logs, audit trails
  • You can guarantee the quality and completeness of your information, your documentation, your traceability and your historical records

Cradle fully supports agile processes, providing:

  • User needs, represented as user stories, use cases or requirements
  • Ability to define product features, linked to the needs
  • Prioritisation of these features and their allocation into iterations or sprints
  • Iterations can be linked to analysis, architecture and design models built in Cradle
  • Architecture and design information can be linked to test cases built in Cradle and test results collated in Cradle
  • Integration with your project plan, providing a WBS, user task lists and progress reporting
  • Ability to track defects and issues in each iteration
  • Full traceability and coverage analyses shown as diagrams, nested tables and matrices
  • Baselines, with your choice of formal change control, and the ability to browse the database as it was in any previous baseline
  • Collaborative discussions between team members
  • A wide range of automatic alerts; you control which are generated and who receives them
  • Ability to run user-defined metrics in each iteration and between iterations
  • Facility to collate Key Performance Indicators (KPIs) and present them in user-defined dashboards