Project Realization provides solutions and resources to support the management and development of software based products for the aerospace, automotive, and rail industries, including safety-critical systems.

Development Priorities: Agile v Traditional

Traditional Development

Priorities in Traditional Development

The traditional Waterfall model contains the following preconceptions:

  • All requirements are known before starting the development
  • Nothing will change during the development
  • Only start a phase of development after the previous phase is complete
  • Start testing the system after it has been developed
  • Only deliver the software once all the requirements have been completed

Consequently problems are discovered late, resulting in:

  • Significant rework
  • Significant impact on the schedule
  • Significant increase in costs
  • Reduced quality
  • Low confidence

The trade-off in a traditional development is that functionality always takes priority to cost and time.


Agile Development

Priorities in Traditional Development

The Agile approach starts from quite a different position:

  • Appreciate that not all requirements are known at the start
  • Accept that things will change during development
  • Find the problems as soon as possible

Mechanisms for Agile Development

  • Frequent delivery of a functioning ‘product’
  • Incremental introduction of functionality
  • Prioritise ‘product’ functionality to meet a Timebox
  • Start testing the ‘product’ as soon as possible

Consequently problems are discovered early and lessons learned, resulting in:

  • Reduced rework effort
  • Reduced impact on timescales
  • Increased confidence in the end product
  • Good quality
  • Continuous improvement

The trade-off in Agile is that not all functionality is known at the outset and therefore timescales and cost take precedence so that 'something' is always delivered.


Process Comparison

Priorities in Traditional Development

A single diagram showing the two process priorities together.