Twin Peaks Model
Inhaltsverzeichnis: Definition – Parallele Entwicklung – Kommunikation – Vorteile – Fragen aus der Praxis – Download – Hinweise
Wissen kompakt: Das Twin Peaks Model beschreibt die Konkretisierung von Anforderungen parallel zur Erforschung passender Systemarchitekturen.
Twin Peaks Model Definition
Das Twin Peaks Model beschreibt, wie Sie Anforderungen und Architektur eines Systems iterativ und parallel zueinander entwickeln. Es liefert die Antwort auf die Frage „Was muss zuerst entwickelt werden – die Anforderungen oder die Architektur?“. Es veranschaulicht die zusammenhängenden Aktivitäten des Requirements Engineerings und der Entwicklung der Systemarchitektur.
Zuerst Anforderungen erfassen oder Softwarearchitektur entwerfen?
Viele IT Organisationen stehen vor der Frage, wie sie bei der Entwicklung eines neuen Systems vorgehen sollen. Gilt es zuerst Anforderungen zu erfassen oder wäre es besser, zuerst die Softwarearchitektur zu entwerfen? Anforderungen können sich ändern, neue Technologien erscheinen und frühere Designentscheidungen in Frage stellen. Es empfiehlt sich daher zu Beginn, die wichtigsten Anforderungen an ein System rudimentär zu entwerfen. Entwickeln Sie mit diesen Anforderungen einen Prototypen oder ein Minimum Viable Product (MVP), holen Sie sich Feedback der Stakeholder ein und überarbeiten Sie Ihren Entwurf. Leiten Sie daraus neue Anforderungen ab und bewerten und priorisieren Sie vorhandene Anforderungen erneut. Und setzen Sie die priorisierten Anforderungen wieder in der Architektur um.
Die Kommunikation bei paralleler Entwicklung
Das Twin Peaks Model beschreibt ein dynamisches Zusammenspiel zwischen Anforderungen und Architektur. Für dieses Zusammenspiel ist eine gute Kommunikation zwischen den Projektbeteiligten essentiell.
Idealerweise gibt es in dem Projektteam sowohl einen Anforderungsanalysten als auch einen Systemarchitekten. Beide arbeiten gleichzeitig und iterativ. So werden einerseits Probleme bei Architekturbeschränkungen besser verstanden und anderseits Architekturen auf Basis von Anforderungen besser entwickelt oder angepasst. Natürlich benötigt der Systemarchitekt einen hervorragenden Überblick über das System und seine Umgebung. Er beurteilt die Auswirkungen und Abhängigkeiten von Anforderungen auf die Architektur und kommuniziert Anforderungen, die sich aus verschiedenen Architekturalternativen ergeben.
Vorteile der parallelen Entwicklung
Anforderungen und die Architektur eines Systems sind stark voneinander abhängig. Das Twin Peaks Model verfolgt den Gedanken, parallel auf Anforderungen und Architektur zu achten. Dadurch ergeben sich verschiedene Vorteile:
- Die Detaillierung und Konkretisierung von Anforderungen erfolgt genauso schrittweise wie die Erforschung passender Architekturalternativen. Somit wächst die Architektur anhand der Anforderungen und Architekturentscheidungen können zu Konkretisierung und Neubewertungen von Anforderungen führen.
- Die Architektur steht im Fokus und lässt sich so gestalten, dass sowohl die gesetzten Ziele als auch funktionale und nicht-funktionalen Anforderungen erfüllt werden. Gleichzeitig wird ein Architecture-Indifferent Design mit einer Vernachlässigung der Architektur vermieden, bei der Entwickler vorhandene oder in der Domäne übliche Architekturen (Presumptive Architecture) verwenden.
- Projekt- und Produktrisiken lassen sich durch die Evaluation von Alternativen mittels Analysen, Simulationen, Prototyping oder Refactoring reduzieren.
- Die Nachvollziehbarkeit wird erhöht, denn Architekturentscheidungen lassen sich auf Anforderungen und vice versa zurückführen.
- Inkonsistenzen zwischen Anforderungen und Architektur werden vermieden.
- Ohne frühzeitige Architekturbewertung werden kritische Anforderungen leicht übersehen. Dies führt häufig zu Nacharbeiten, verspäteten Designänderungen und hohen Kosten. Mit dem Twin Peaks Modell lässt sich dies vermeiden.
Fragen aus der Praxis
Hier finden Sie einige Fragen und Antworten aus der Praxis:
Wo hat das Twin Peaks Model seinen Ursprung?
Das Twin Peaks Model ist eine vereinfachte Version des Spiralmodells und geht auf Professor Bashar Nuseibeh zurück, der im Jahre 2001 dafür plädierte, die Anforderungsermittlung und den Architekturentwurf verzahnt und parallel zu organisieren. Er hatte erkannt, dass eine sequenzielle Reihenfolge aus „Requirements first, Design second“ bei innovativen Systemen nicht zweckmäßig ist.
Woher kommt der Name des Twin Peaks Models?
Visualisiert wird das Twin Peaks Model mit zwei gleichartigen Bergen (daher Twin Peaks genannt); der eine Berg repräsentiert die Anforderungen, der andere die Architektur. Beide sind gleich hoch und gleich wichtig. Sie beginnen mit groben Anforderungen und Architekturmodellen und verfeinern sie parallel zueinander im gegenseitigen Wechsel. So gelangen Sie vom schmalen Gipfel der Berge mit zunehmender Detaillierung zu neuen Anforderungen und Architekturelementen.
Welche Fragen helfen, die Architektur im Laufe einer Entwicklung im Blick zu behalten?
- Welche Softwarearchitekturen sind bei sich ändernden Anforderungen stabil und wie wählen wir diese aus?
- Welche Anforderungen sind stabiler als andere und wie identifizieren wir sie?
- Welche Anforderungen sind volatil und wie identifizieren wir sie?
- Wie gelingt die zukunftssichere Skalierung von Systemen?
- Wie erreiche ich eine Modularisierung von Systemen?
Wenn Ihnen der Beitrag gefällt, teilen Sie ihn gerne in Ihrem Netzwerk. Und falls Sie sich für Tipps aus der Praxis interessieren, dann testen Sie unseren beliebten Newsletter mit neuen Beiträgen, Downloads, Empfehlungen und aktuellem Wissen. Vielleicht wird er auch Ihr Lieblings-Newsletter.
Hier finden Sie ergänzende Informationen aus unserem t2informatik Blog: