Automotive SPICE® ist ein eingetragenes Warenzeichen des VDA/QMC
® Capability Maturity Model, Capability Maturity Modeling, CMM and CMMI are registered in the
U.S. Patent and Trademark Office by Carnegie Mellon University SM CMM Integration, IDEAL, Personal Software Process, PSP, SCAMPI, SCAMPI Lead Appraiser,
SEPG and TSP are service marks of Carnegie Mellon University
CMMI®
CMMI® und agile Methoden
Gerhard Fessler
Steinbeis-Beratungszentrum Prozesse, Exzellenz und CMMI
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 2
Inhalt
Erster Blick auf agile Methoden
Erster Blick auf CMMI® und das SEISM
Zwischenbild
Tieferer Blick auf CMMI®
Tieferer Blick auf agile Methoden
Agiles Manifest und CMMI®
Schlussbemerkungen
CMMI® und agile Methoden
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 3
Agile Methoden
Keine klare Definition, viele verschiedene Varianten
XP (eXtreme Programming)
Scrum
...
Oft nutzen Organisationen agile Methoden, ohne dies so zu nennen
Definition "Agile Methoden" nach deutscher Wikipedia:
o Ziel der Vorgehensweise ist es, den Software-Entwicklungsprozess durch
Abbau der Bürokratisierung und durch die stärkere Berücksichtigung der
menschlichen Aspekte effektiver zu gestalten.
o Den meisten agilen Prozessen liegt zu Grunde, dass sie versuchen, die
reine Entwurfsphase auf ein Mindestmaß zu reduzieren und im
Entwicklungsprozess so früh wie möglich zu ausführbarer Software zu
gelangen, welche dann in regelmäßigen, kurzen Abständen dem Kunden
zur gemeinsamen Abstimmung vorgelegt werden kann.
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 4
Agile Methoden - Agiles Manifest
1. Individuen und Interaktionen gelten mehr als Prozesse und Tools.
2. Funktionierende Programme gelten mehr als ausführliche Dokumentation.
3. Die stetige Zusammenarbeit mit dem Kunden steht über Verträgen.
4. Der Mut und die Offenheit für Änderungen stehen über dem Befolgen
eines festgelegten Plans.
Autoren: Kent Beck, et. al., 2001; Quelle: Deutsche Wikipedia
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 5
Inhalt
Erster Blick auf agile Methoden
Erster Blick auf CMMI® und das SEISM
Zwischenbild
Tieferer Blick auf CMMI®
Tieferer Blick auf agile Methoden
Agiles Manifest und CMMI®
Schlussbemerkungen
CMMI® und agile Methoden
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 6
CMMI® und das SEISM
Capability Maturity Model Integration
o Motto:
Bessere Produkte durch bessere Prozesse
o Klar definiert, sehr klar strukturiert, umfangreich
Kaufbar als Buch (470 Seiten)
Frei downloadbar als Datei
o Breite und gut definierte Unterstützung durch das Software Engineering
Institute, Pittsburgh, PA, USA (SEISM)
o In diesem Webinar steht CMMI® für CMMI® for Development
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 7
CMMI® - Motivationsfolie des SEISM
Quelle: SEISM, Process Boot Camp @ SEPG North America, March 2008
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 8
CMMI® - Inhalt
o Anforderungen an Prozesse und deren Institutionalisierung
Pflicht zur Prozessdokumentation
Pflicht zur (schriftlichen) Planung des Entwicklungsablaufs
Pflicht zur Prozessverbesserung
Pflicht zur Führung der Prozesslandschaft durch das Management
o Spezifische Praktiken tendieren in Richtung eines schwer-gewichtigen
Prozesses
o Subpraktiken beschreiben einen schwergewichtigen Prozess
In CMMI® sind viele Erfahrungen aus (militärischen) Großprojekten
eingeflossen
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 9
Inhalt
Erster Blick auf agile Methoden
Erster Blick auf CMMI® und das SEISM
Zwischenbild
Tieferer Blick auf CMMI®
Tieferer Blick auf agile Methoden
Agiles Manifest und CMMI®
Schlussbemerkungen
CMMI® und agile Methoden
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 10
Zwischenbild
Grundlegende Ideen
Unterschiedliche Blickwinkel, aber kein Widerspruch!
CMMI®
o Fokus auf Prozesse
o Fokus auf Verantwortung des
Managements
o Prozessverbesserung
Bessere Prozesse
Bessere Produkte
o Mitarbeiter
diszipliniert
nutzen Regeln
o Know-How-Träger
Prozess-Assets
Prozess-Bibliothek
Agile Methoden
o Fokus auf Personen und Produkte
o Fokus auf konkrete
Vorgehensweisen
o Enge Kundeneinbindung
Minimaler Overhead
Verfeinerung von
Anforderungen
o Mitarbeiter
komfortabel
kreativ
o Know-How-Träger
Mitarbeiter
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 11
Zwischenbild
Grundlegende Ideen
Prozesse Tools
Personen
CMMI®
Agile
Methoden
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 12
Zwischenbild
Charakteristische Punkte
CMMI®
o Manager/Gruppen/Rollen
o Vertrauen des Kunden
Prozess-Infrastruktur
generell eher niedrig
o Kosten von Fehlern
hoch
o formale Kommunikation
o Anforderungsorientiert
Agile Methoden
o Personen
o Vertrauen des Kunden
Personen
funktionsfähiges Produkt
generell eher hoch
o Kosten von Fehlern
niedrig
o "informelle" Kommunikation
o Testorientiert
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 13
Zwischenbild
Grafik von Mike Phillips
Lean
Six
Sigma
Theory
of
Constraints
"Was"
Qualitätsmodelle
Verbesserungs-
methoden
"Wie"
Techniken zur
Umsetzung
CMMI®-ACQ
ISO 9000
PMI
CMMI®-SVC
CMMI®-DEV
Agile
ITIL TSP
Quelle: Mike Phillips, SEISM
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 14
Zwischenbild
Motivationsfolie des SEISM
Weiterdenken dieser beiden Bilder bis zum Endergebnis:
Bilder: SEISM, Wikimedia Commons
?????
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 15
Inhalt
Erster Blick auf agile Methoden
Erster Blick auf CMMI® und das SEISM
Zwischenbild
Tieferer Blick auf CMMI®
Tieferer Blick auf agile Methoden
Agiles Manifest und CMMI®
Schlussbemerkungen
CMMI® und agile Methoden
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 16
CMMI® - Vertiefung
Capability Maturity Model Integration
o Capability:
Fähigkeit, Fertigkeit, Tauglichkeit, Tüchtigkeit
o Maturity:
Mündigkeit, Reife
o Motto:
Improving processes for better products (deutsch: Bessere Produkte durch bessere Prozesse)
o CMMI®: Prozesse sind Hilfsmittel
o Zweck von CMMI®: Eine Organisation durch Verbesserung von Prozessen
dazu befähigen, "bessere" Produkte zu entwickeln
o Zielpunkte von CMMI® sind die Fähigkeiten einer Organisation im Umgang
mit Prozessen
Generische Ziele und Praktiken
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 17
CMMI® - Vertiefung
"required" vs. "expected"
Spezifische
Ziele (SG)
Generische
Ziele (GG)
Prozessgebiet
Typ.
Arbeits-
ergebnisse Sub-
praktiken
Ausarbeit.
generischer
Praktiken
An
me
rku
ng
en
Spezifische
Praktiken
(SP)
Generische
Praktiken
(GP)
normativ
49
167
66
286
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 18
CMMI® - Vertiefung
"required" vs. "expected"
Nur die als "required" gekennzeichneten Teile von CMMI® werden tatsächlich
gefordert
Spezifische und generische Ziele (Goals)
Mit den als "expected" gekennzeichneten Teilen von CMMI® muss sich eine
Organisation auseinandersetzen und angemessene Lösungen finden
Spezifische Praktiken
• "Alternative Praktiken" möglich!
Generische Praktiken
• Alternative Praktiken fast unmöglich
Subpraktiken sind Erläuterung und Verständnishilfen
o Der in CMMI® formulierte schwergewichtige Entwicklungsprozess ist weder
gefordert noch erwartet!
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 20
CMMI® - Vertiefung
Methoden
CMMI® ist (fast) methodenfrei
Zur realen Entwicklung von Produkten sind Methoden erforderlich
o Aus CMMI®-Sicht spricht nichts gegen eine Nutzung agiler Methoden, sofern
diese die spezifischen und generischen Ziele (Goals) erfüllen bzw. diesen
zumindest nicht widersprechen
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 21
Inhalt
Erster Blick auf agile Methoden
Erster Blick auf CMMI® und das SEISM
Zwischenbild
Tieferer Blick auf CMMI®
Tieferer Blick auf agile Methoden
Agiles Manifest und CMMI®
Schlussbemerkungen
CMMI® und agile Methoden
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 22
Agile Methoden - Vertiefung
Vollständiges agiles Manifest
Deutsche Wikipedia zitiert das agile Manifest unvollständig:
1. Individuen und Interaktionen gelten mehr als Prozesse und Tools.
2. Funktionierende Programme gelten mehr als ausführliche Dokumentation.
3. Die stetige Zusammenarbeit mit dem Kunden steht über Verträgen.
4. Der Mut und die Offenheit für Änderungen stehen über dem Befolgen eines
festgelegten Plans.
Es fehlt:
o That is, while there is value in the items on the right, we value the items on
the left more. (Deutsch: Obwohl die nachstehenden Aussagen wichtig sind, gewichten wir die
hervorgehobenen höher)
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 23
Agile Methoden - Vertiefung
Vollständiges agiles Manifest
o Das agile Manifest lehnt Prozesse, Dokumentation, Verträge usw. nicht ab,
sondern gewichtet diese im Verhältnis zu eher personenbezogenen Themen
niedriger
o Die intuitive Gleichsetzung von agilen Prozessen und undiszipliniertem
Vorgehen (Cowboy Coding) wird inhaltlich vom agilen Manifest nicht
unterstützt
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 24
Inhalt
Erster Blick auf agile Methoden
Erster Blick auf CMMI® und das SEISM
Zwischenbild
Tieferer Blick auf CMMI®
Tieferer Blick auf agile Methoden
Agiles Manifest und CMMI®
Schlussbemerkungen
CMMI® und agile Methoden
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 25
Agiles Manifest und CMMI®
1. Individuen und Interaktionen gelten mehr als Prozesse und Tools.
o CMMI®:
Stakeholder Involvement (GP 2.7, PP SP 2.6, SP 3.3, PMC SP 1.2, SP
1.5, IPM SG 2, IPPD): 35 Praktiken
Train People (GP 2.5, PP SP 2.5, OT): 30 Praktiken
Assign Responsibility (GP 2.4): 22 Praktiken
• Individuen und Interaktionen: 87 Praktiken
Prozesse: teilweise GP 2.2 (Plan the Process), OPD SP 1.1, SP 1.3,
IPM SP 1.1): 22 teilweise + 3 explizite Praktiken
Tools: OPD SP 1.6, IPM SP 1.3: 2 Praktiken
• Prozesse und Tools: ca. 16 Praktiken
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 26
Agiles Manifest und CMMI®
2. Funktionierende Programme gelten mehr als ausführliche Dokumentation.
o CMMI®:
CMMI® fordert Dokumentation im wesentlichen nur für Prozesse (z. B.
OPD SG 1)
In einigen Fällen (Requirements, Technisches Datenpaket, Entwurf,
End-User-Dokumentation) wird produktbezogene Dokumentation
erwartet
o Agile Methoden:
Problem: Systematisches Lernen ohne Dokumentation
3. Die stetige Zusammenarbeit mit dem Kunden steht über Verträgen.
o CMMI®:
Requirements Management, Requirements Development, Stakeholder
Involvement
Verträge mit dem Kunden stehen nicht im Fokus von CMMI®
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 27
Agiles Manifest und CMMI®
4. Der Mut und die Offenheit für Änderungen stehen über dem Befolgen eines
festgelegten Plans.
o CMMI®:
Andere Betrachtungsweise
• So gut wie möglich planen
• Verfolgen, was wirklich passiert
• Bei Abweichungen vom Plan muss eingegriffen werden
• Ab ML 2 wird eine generelle Offenheit für Verbesserung gefordert (GG 2)
• Ab ML 3 wird eine systematische Verbesserung über die gesamte
Organisation hinweg gefordert (GG 3, OPF, OPD, IPM)
Es gibt keine Stelle im CMMI®, an der Vereinheitlichung gefordert wird!
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 28
Agiles Manifest und CMMI®
12 Prinzipien
1. Unsere höchste Priorität liegt darin, den Kunden durch frühzeitige und
kontinuierliche Auslieferung von nützlicher Software zufriedenzustellen.
2. Begrüße sich ändernde Anforderungen, selbst wenn sie erst spät in der
Entwicklung auftreten. Agile Methoden machen Änderungen für
Wettbewerbsvorteile des Kunden nutzbar.
3. Liefere häufig funktionierende Software aus, innerhalb weniger Wochen
oder Monate, wobei der kürzeren Zeitspanne der Vorzug gegeben werden
soll.
4. Benutzer und Entwickler müssen während des Projektes täglich
zusammenarbeiten.
5. Führe Deine Projekte mit motivierten Mitarbeitern durch. Gebe ihnen die
benötigte Umgebung und Unterstützung und vertraue ihnen, dass sie ihre
Arbeit erfolgreich durchführen.
6. Die effizienteste und effektivste Methode Informationen einem
Entwicklungsteam zukommen zu lassen bzw. innerhalb des Teams
auszutauschen, besteht in direkter Kommunikation durch persönlichen
Kontakt.
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 29
Agiles Manifest und CMMI®
12 Prinzipien
7. Funktionierende Software ist der wichtigste Maßstab des Fortschritts.
8. Agile Methoden fördern die nachhaltige Entwicklung. Geldgeber, Entwickler
und Anwender sollten in der Lage sein, beständiges Tempo dauerhaft
beizubehalten.
9. Ständige Aufmerksamkeit für technische hervorragende Qualität und gutes
Design erhöhen die Agilität.
10. Einfachheit – die Kunst, den Umfang der nicht erforderlichen Arbeit zu
maximieren – ist wesentlich.
11. Die besten Architekturen, Anforderungen und Entwürfe entstehen in
selbstorganisierten Teams.
12. Das Team reflektiert regelmäßig darüber, wie es effektiver wird und passt
dann sein Verhalten entsprechend an.
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 30
Inhalt
Erster Blick auf agile Methoden
Erster Blick auf CMMI® und das SEISM
Zwischenbild
Tieferer Blick auf CMMI®
Tieferer Blick auf agile Methoden
Agiles Manifest und CMMI®
Schlussbemerkungen
CMMI® und agile Methoden
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 31
Schlussbemerkungen
Unterschiedlicher Ansatz
CMMI®
o beschreibend
o quantitativ
o universell
o Aktivitäten
o strategisch
o proaktiv
o Stabilität/Vorhersagbarkeit
o unabhängig von Teamgröße
o formale Kommunikation
o auch für große, komplexe und
komplizierte Produkte
o Lernende Organisation
o jegliche Art von Entwicklung
Agile Methoden
o vorschreibend
o qualitativ
o situativ
o Produkt
o taktisch
o reaktiv
o Schnelligkeit
o kleine, lokale Teams
o direkte Kommunikation
o inkrementell entwickelbare
Produkte
o Lernen im Projekt
o Software
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 32
Schlussbemerkungen
Prinzipielle Struktur
CMMI®-Assessment CMMI® Policies
Prozessarchitektur Management-Reviews
Arbeitsabläufe
der Organisation
Agile
Methoden
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 33
Schlussbemerkungen
Agile Methoden und CMMI® behandeln unterschiedliche Punkte
o z. B. in den 12 agilen Prinzipien
Zwischen agilen Methoden und CMMI® gibt es keine Widersprüche
CMMI® muss durch Methoden unterstützt werden, z. B. durch die Methoden, die
in den agilen Methoden beschrieben werden
Beide Vorgehensweisen erfordern Disziplin der Entwickler
o Agile Methoden eher mehr als CMMI®
Agile Methoden und CMMI® beschreiben jeweils auf ihre Art einen Teil dessen,
was zur Entwicklung von Produkten notwendig ist
o Beide sind nicht vollständig und können sich gegenseitig ergänzen
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 34
Schlussbemerkungen
High Maturity
Die Konzepte, die die CMMI® Maturity Level 4 und 5 einführen, werden derzeit
von den agilen Methoden nicht betrachtet
Diese sind teilweise mit den Intentionen der agilen Methoden nicht
verträglich
Wenn es gelingt, diese in die agilen Methoden angemessen
einzubringen, wird dies eine weitere Steigerung der Leistungsfähigkeit
der agilen Methoden mit sich bringen
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 35
Jetzt oder später
Steinbeis-Beratungszentrum Prozesse, Exzellenz und CMMI (PEC)
Gerhard Fessler
Herzog-Carl-Straße 2
73760 Ostfildern
+49 173 989 75 44
www.sbz-pec.de
LinkedIn CMMI
®
Fragen? Anmerkungen?
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 36
Schlussbemerkungen
Quelle: Sanjiv Abuja, via SEI
Nein Ja
Nein
Ja
Pra
gm
atism
us
Prozessdisziplin
Qualität
Bürokratie Chaos
Kreatives
Chaos
CMMIAgilität4 | 2012-06
© 2012, License CC-BY-SA 3.0, G. Fessler, P. Sprenger, SBZ PEC | 37
Referenzen
http://de.wikipedia.org/wiki/Agile_Softwareentwicklung
http://www.agilemanifesto.org/
CSE Annual Research Review and Executive Workshop 2002, AGILE Methods
and CMMI
Glazer, Hillel; Dalton, Jeff; Anderson, David; Konrad, Mike; Shrum, Sandy;
CMMI® or Agile: Why Not Embrace Both!; Technical note CMU/SEI-2008-TN-
003, Software Engineering Institute, Pittsburgh, November 2008
Bernhard Fischer; Einsatz agiler Vorgehensmodelle bei der Entwicklung
medizinischer Software; Master Thesis; Donau Universität Krems, 2008