Rational Unified Process (RUP)
Der Rational Unified Process (RUP) ist ein iterativer Softwareentwicklungsprozess, der Rollen, Artefakte und Phasen zur Steuerung komplexer Projekte definiert.
Klassifikation
- KomplexitätHoch
- AuswirkungOrganisatorisch
- EntscheidungstypOrganisation
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Überdokumentation und damit verzögerte Lieferungen
- Widerstand gegen formalisierte Rollen in agilen Teams
- Fehlende Anpassung führt zu Ineffizienz
- Iterationen kurz halten und regelmäßig integrieren
- Tailoring: RUP nur so schwer wie nötig einsetzen
- Automatisierte Builds und Tests für frühes Feedback
I/O & Ressourcen
- Produktvision und Stakeholder-Anforderungen
- Vorhandene Architektur- und Komponentenübersicht
- Ressourcen- und Zeitplanung
- Inkrementelle Releases und Meilensteine
- Dokumentierte Entscheidungen und Artefakte
- Risikobasierte Priorisierungsliste
Beschreibung
RUP ist ein prozessgetriebener, iterativer Ansatz zur Entwicklung von Software mit klaren Rollen, Meilensteinen und Artefakten. Er unterstützt Risikomanagement und Änderungskontrolle und eignet sich besonders für strukturierte, großskalige Entwicklungsprojekte. Die Methode fördert wiederholbare Abläufe und dokumentierte Entscheidungen.
✔Vorteile
- Verbesserte Risikokontrolle durch frühe Iterationen
- Bessere Nachvollziehbarkeit durch definierte Artefakte
- Skalierbarkeit für große, verteilte Projekte
✖Limitationen
- Relativ hoher Prozess- und Dokumentationsaufwand
- Kann zu starrer Umsetzung führen, wenn nicht angepasst
- Einarbeitungszeit für Rollen und Artefakte erforderlich
Trade-offs
Metriken
- Iterationsdauer
Misst die durchschnittliche Dauer einer Iteration und hilft, Vorhersehbarkeit zu bewerten.
- Anzahl identifizierter Risiken pro Iteration
Zeigt, wie effektiv Risiken erkannt und priorisiert werden.
- Defect-Dichte nach Release
Misst Qualität der gelieferten Inkremente und Wirkung der QA-Aktivitäten.
Beispiele & Implementierungen
Telekommunikationsprojekt mit RUP
Ein Anbieter nutzte RUP zur Steuerung modularer Releases und zur Koordination vieler Subteams.
Enterprise-Software-Entwicklung
RUP half, Entwicklungsrisiken früh zu identifizieren und architekturbasierte Inkremente zu liefern.
Migration zu inkrementellen Releases
Team führte RUP-Iterationen ein, um von großen Monolith-Releases auf häufigere Inkremente umzustellen.
Implementierungsschritte
Analyse der aktuellen Prozesse und Identifikation von Stakeholdern
Tailoring des RUP-Frameworks auf Projektgröße und Risiko
Pilotiteration durchführen, messen und Prozesse anpassen
⚠️ Technische Schulden & Engpässe
Tech Debt
- Veraltete Artefakte, die nicht mehr gepflegt werden
- Unabgestimmte Toolkette führt zu manuellen Integrationsaufwänden
- Teilweise implementierte Prozesse ohne Monitoring
Bekannte Engpässe
Beispiele für Missbrauch
- RUP vollständig rigide anwenden und dadurch Iterationen verhindern
- Alle Artefakte unabhängig von Projektgröße erzeugen
- Management-Commitment fehlt, Prozesse bleiben bloße Theorie
Typische Fallen
- Nicht ausreichend Tailoring führt zu unnötigem Aufwand
- Fokus auf Dokumentation statt auf funktionierende Inkremente
- Unklare Verantwortlichkeiten zwischen Rollen
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Erfordert Commitment der Leitungsebene
- • Abhängigkeit von qualifizierten Rollen
- • Benötigt angepasste Toolkette