Twin Peaks Model. Development of the architecture and requirements
of a software system.

What is the Twin Peaks Model? What advantages does it have and how to you use it in software development?

Twin Peaks Model

Application Lifecycle Management with objectiF RPM

Integrative software for ALM
Need. Solution. Benefit.

Use objectif RPM for requirements engineering, agile project management and integrated test management.

What is the Twin Peaks Model?

The Twin Peaks Model tackles the development of the architecture and requirements of a software system. Developed by Bashar Nuseibeh, an IT professor at the Open University in the UK, it it means to solve the chicken-and-egg problem in software development:

Before you draft architecture, the requirements have to be defined. But requirements can only be derived when the architecture is known.

In practice, this often results in a classical waterfall model: First, the requirements are specified, then the architecture is developed based on these. This procedure leads to requirements that, for instance, cannot be implemented with the existing technology; or to a poorly performing architecture that is assembled from individual components and does not fulfill the stakeholders’ expectations.

So Nuseibeh suggested the Twin Peaks Model, to see the architecture and requirements as two “twin peaks” that have to be developed and refined iteratively in a mutual interplay. This means that the tops of the mountains make the starting point and the preparations go down to the bottoms.

Overview of the advantages of the Twin Peaks Model

  • Requirements take system limits into account
  • Quick development of design alternatives
  • Quick creation of prototypes
  • Efficient development of the architecture through use of existing solutions
  • Workload of requirements can be estimated from first rough architecture plan
  • Reduction of costs because “unrealistic” requirements are identified before the developing solution
  • Risk reduction in development