Vorgehensmodelle zwischen Agilität, Phasenmodellen, Projektmanagementstandards und Reifegradmodellen auf dem Weg in die Nische G. Fessler SEI-certified SCAMPISM Lead Appraiser, DGQ/EOQ Lead Auditor Six Sigma Black Belt iNTACS Competent Assessor ® 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 These Vorgehensmodelle werden durch leistungsfähigere Mittel abgelöst werden 2 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Agenda Kernproblem Einige Hilfsmittel Zeitliche Entwicklung und heutiger Stand These 1 Tailoring und Prozessmuster These 2 Zusammenfassung 3 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Kernproblem Software-Entwicklung scheint wesentlich schwieriger zu sein als ursprünglich vermutet Darum wurden in den letzten 60 Jahre etliche Hilfsmittel bzw. Ansätze zur besseren Entwicklung von Software geschaffen Bemerkung Wie fast immer gilt auch hier Wenn es zu einem Problem viele Lösungen gibt, weiß man nicht, was das wirkliche Problem ist, und welche Lösung die richtige ist 4 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Einige Ansätze - alphabetisch sortiert Agilität Best Practice-Sammlungen Body of Knowledge/Wissenssammlungen CASE (Computer-Aided Software Engineering) Entwicklungshandbücher Methoden Normen Phasenmodelle Projektmanagement Prozessorientierung Prozessverbesserung Reifegradmodelle Tom DeMarcos Ansatz Vorgehensmodelle Nicht für alle diese Ansätze gibt es allgemein akzeptierte Definitionen 5 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Agilität Kernidee Software mit möglichst wenig Formalismen und Bürokratie entwickeln Konzentration auf die Entwickler Bemerkungen Hohe Disziplin Kommunikationsbereitschaft und -fähigkeit 6 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Best Practice-Sammlungen Kernidee Zusammentragen, was in Entwicklungsprojekten funktioniert hat Strukturiert dokumentieren Bemerkung Oft Vorstufe von Normen 7 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Body of Knowledge/Wissenssammlungen Kernidee Systematische und strukturierte Sammlung des Wissens zu einem Themengebiet Bemerkungen Von sehr knappen Verweis-Zusammenstellungen bis zu sehr umfassenden und umfangreichen Dokumenten 8 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung CASE (Computer-Aided Software Engineering) Kernidee Intensive und detaillierte Unterstützung und Lenkung der SoftwareEntwicklung durch IT-gestützte Werkzeuge 9 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Entwicklungshandbücher Kernidee Systematische, umfassende und organisationsspezifische Zusammenstellung und Dokumentation dessen, was ein Entwickler alles tun muss, um ein Produkt zu entwickeln Bemerkung Oft sehr umfangreich 10 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Methoden Kernidee Systematische, detaillierte und umfassende Beschreibung einer einzelnen Vorgehensweise 11 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Normen Kernidee Sammlung und Standardisierung von Wissen eines Spezialgebiets Abstimmung unter Experten oft weltweit 12 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Phasenmodelle Kernidee Phasen sind eine logische Strukturierung von immer wieder vorkommenden Aktivitäten mit höherer Kohäsion In einem Softwareprojekt Über Softwareprojekte hinweg Ein Phasenmodell ist eine Zusammenstellung von Phasen zusammen mit deren Strukturierung und Interaktionen Bemerkung Oft zeitlich strukturiert 13 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Projektmanagement Kernidee Übertragung des in anderen Arten von Projekten gewonnen Wissens zur Strukturierung, Führung, Planung, Steuerung und Durchführung von einmaligen Vorhaben mit definierbarem Beginn und Ende Bemerkung Verhalten sich Softwareprojekte genau so wie andere Projekte? Unterschiedliche Schwierigkeitsgrade vs. 14 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Prozessorientierung Kernidee Nicht nur die Gliederung einer Organisation ("Aufbauorganisation") systematisch festlegen und weiterentwickeln, sondern auch die Abläufe ("Ablauforganisation") Karte: Wikipedia Karte: Die Bahn 15 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Prozessverbesserung Kernidee Entwicklungsabläufe systematisch unter Verwendung von Referenzmodellen weiterentwickeln Zwei Hauptvarianten Referenzmodelle, die bessere Entwicklungsabläufe modellieren Referenzmodelle, die die Verbesserung von Arbeitsabläufen modellieren Idee: SEI, Mastering Process Improvement 16 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Reifegradmodelle Kernidee Optimale Arbeitsweise einer Organisation nicht in einem Schritt erreichen, sondern über systematische und bewährte Teilschritte Optimizing Quantitatively Managed Defined Managed Initial Grafik: Software Engineering Institute 17 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Tom DeMarcos Ansatz Kernidee Vergesse alle anderen Ansätze, beschäftige einfach die weltweit besten Personen für eine gegebene Aufgabe Bild: CC BY SA 3.0, Scott Goodhart Bild: Wikimedia Commons 18 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Charakterisierung Vorgehensmodelle Kernidee Strukturierung und Beschreibung der Aktivitäten, der zu verwendenden Methoden, der Rollen, und der zu erstellenden Arbeitsergebnisse, so dass diese in Entwicklungsprojekten unmittelbar einsetzbar sind Bemerkungen Oft an konkrete Bedürfnisse in vorgegebenem Rahmen anpassbar Tailoring 19 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Blick über den Tellerrand Statistische Prozessregelung (SPC) 1/4 Komplett andere Art des Umgangs mit Arbeitsabläufen als Vorgehensmodelle Kernidee Prozesse streuen in der Durchführung Methoden der Statistik ermöglichen die Unterscheidung zwischen Kerneigenschaften eines Prozesses • Stimme des Prozesses Statistisch bedingte Schwankungen • Streuung Von außen einwirkende Störungen • Feststellbare Ursachen der Prozessstreuung sowie deren Bestimmung und zielgerichtete Weiterentwicklung 1. Schritt: Beseitigung der von außen auf den Prozess einwirkenden Störungen "Stabilisierung des Prozesses" 20 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Blick über den Tellerrand Statistische Prozessregelung (SPC) 2/4 2. Schritt: Bestimmung der Eigenschaften des Prozesses LSL LCL USL UCL 3. Schritt: Verbessern des Prozesses LSL LCL USL UCL "Fähiger Prozess": Ein Prozess der mit hinreichender Sicherheit dazu in der Lage ist, die an das erstellte Produkt gestellten Anforderungen zu erfüllen 21 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Blick über den Tellerrand Statistische Prozessregelung (SPC) 3/4 M2 I1 V2 SPC I3 M4 Prozess V1 M1 Mn I2 Ix Stabilisierung M3 Vm V3 M5 V4 ProzessErstimplementation 22 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Blick über den Tellerrand Statistische Prozessregelung (SPC) 4/4 Ideen, Methoden und Meta-Methoden der Statistischen Prozessregelung werden heute in der Softwareentwicklung nur in wenigen Organisationen eingesetzt CMMI®-Forderung in den Reifegraden 4 und 5 Kernforderung der ISO 9001:2008 In Fertigungsabläufen wurde nachgewiesen, dass die Statistische Prozessregelung sehr leistungsfähig ist 23 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Agenda Kernproblem Einige Hilfsmittel Zeitliche Entwicklung und heutiger Stand These 1 Tailoring und Prozessmuster These 2 Zusammenfassung 24 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Ungefähre Positionierung einiger der Hilfsmittel Phasenmodelle Reifegradmodelle Entwicklungshandbücher Vorgehensmodelle Projektmanagement Projekt Normen Methoden Best PracticeSammlungen BoKs 25 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Zeitliche Entwicklung und heutiger Stand Phasenmodelle Reifegradmodelle Entwicklungshandbücher Vorgehensmodelle Projektmanagement Projekt xy Methoden Normen Best PracticeSammlungen BoKs 26 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler These 1 Vorgehensmodelle Strukturierung und Beschreibung der Aktivitäten, der zu verwendenden Methoden, der Rollen und der zu erstellenden Arbeitsergebnisse, so dass diese in Entwicklungsprojekten unmittelbar einsetzbar sind These 1 Ein Großteil der ursprünglich in Vorgehensmodellen enthaltenen Bestandteile ist inzwischen in andere Ansätze aufgenommen worden Vorgehensmodelle sind damit weitgehend überflüssig 27 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Agenda Kernproblem Einige Hilfsmittel Zeitliche Entwicklung und heutiger Stand These 1 Tailoring und Prozessmuster These 2 Zusammenfassung 28 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Tailoring Vorgehensmodelle sind meist an konkrete Bedürfnisse eines Projekts anpassbar Tailoring Komplexe Software ➨ Komplexe Softwareentwicklung ➨ Komplexe Vorgehensmodelle ➨ Komplexes Tailoring („Extreme Tailoring“) Angepasstes Vorgehen passt nicht Zu viel enthalten Das falsche enthalten Wichtiges fehlt Innovation? Kundenorientierung? 29 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Entwurfsmuster Vergleichbares Problem in der Software-Architektur Entwurfsmuster Bewährte, allgemeine und parametrisierbare Lösungsstrukturen zum Einsatz bei wiederkehrenden Entwurfsproblemen in bestimmten und dokumentierten Zusammenhängen Können mehrfach als Problemlöser in vergleichbaren Zusammenhängen eingesetzt werden Ohne auch nur zweimal zur identischen Umsetzung zu führen Entwurfsmuster „kanalisieren“ Lösungen, anstatt diese vorzugeben Unterstützen Kreativität und Verantwortung des Umsetzers Anstatt diese einzuschränken bzw. wegzunehmen 30 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Prozessmuster Analog zu Entwurfsmuster lassen sich Prozessmuster definieren Bewährte, allgemeine und parametrisierbare Prozessstrukturen zum Einsatz in wiederkehrenden Abläufen in bestimmten und dokumentierten Kontexten Im Einsatzfall werden diese durch einen dokumentierten Ausgestaltungsvorgang an die konkreten Bedürfnisse eines Projekts angepasst Prozessmuster „kanalisieren“ die Prozesse eines Projekts anstelle diese vorzugeben Prozessmuster lassen den Verantwortlichen im Projekt ihre Verantwortung • Und ermöglichen es diesen, ihre Verantwortung wahrzunehmen Richtig wirksam werden Prozessmuster erst in Verbindung mit geeigneten Prozessarchitekturen Anordnung Schnittstellen Abhängigkeiten und andere Abhängigkeiten und Beziehungen zwischen zusammengehörende Prozesselementen und externen Prozessen 31 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Prozessmuster und Projekt Ausgestaltung Prozessarchitektur Satz von Prozessmustern Projektspezifisch ausgestaltete Prozesse Projektmanagement Projekt 32 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler CMMI® CMMI® enthält die Idee der Prozessmuster, nutzt aber andere Begriffe Standardprozess Operative Definition des grundlegenden Prozesses, die die Etablierung eines gemeinsamen, übergreifenden Prozesses der Organisation lenkt. Standardprozesse beschreiben die unabdingbaren Prozesselemente, von denen erwartet wird, dass sie in jedem definierten Prozess aufgenommen werden. Sie beschreiben außerdem die Beziehungen (z. B. Anordnung und Schnittstellen) zwischen diesen Prozesselementen Prozessarchitektur Anordnung, Schnittstellen, Abhängigkeiten und andere Beziehungen zwischen den Prozesselementen eines Standardprozesses und zu externen Prozessen Definierter Prozess Projektspezifisch ausgestalteter (Standard-)Prozess Tailoring Erstellung, Änderung oder Anpassung einer Prozessbeschreibung für einen bestimmten Zweck, z. B. Zielsetzung, Randbedingungen, Umfeld eines Projekts Organisationsspezifischer Satz von Standardprozessen Zusammenstellung aller in der Organisation vorhandenen Standardprozesse Quelle: CMMI® 33 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler CMMI® - Mentales Modell Tailoring Guideline Prozessbibliothek ProzessTailoring Messablage Prozessverbesserung ProzessQualitätsSicherung Prozessplanung Plan Org. Asset Library Prozess umsetz. Prozessverfolgung 34 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler These 2 Prozessmuster und Prozessarchitektur werden, bis auf Spezialfälle, Vorgehensmodelle ersetzen, da sie leistungsfähiger und flexibler sind Phasenmodelle Prozessarchitektur Entwicklungshandbücher Prozessmuster Vorgehensmodelle BoKs Projektmanagement Methoden Projekt 35 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Agenda Kernproblem Einige Hilfsmittel Zeitliche Entwicklung und heutiger Stand These 1 Tailoring und Prozessmuster These 2 Zusammenfassung 36 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Zusammenfassung Für die Bestandteile von Vorgehensmodellen gibt es heute leistungsfähigere Bestandteile anderer Ansätze, bzw. leistungsfähigere neue Ansätze Prozessmuster Bemerkung CMMI® fordert an keiner Stelle ein Vorgehensmodell aber Prozessmuster (unter anderer Bezeichnung) 37 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Rückblick These Kernproblem Einige Hilfsmittel Statistische Prozessregelung Zeitliche Entwicklung und heutiger Stand These 1 Tailoring und Prozessmuster These 2 Zusammenfassung 38 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Fragen? Anmerkungen? Widerspruch? 39 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Danke für Ihre Aufmerksamkeit. 40 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler Literatur Chrissis, M. B., Konrad, M., Shrum, S.: CMMI®, Richtlinien für ProzessIntegration und Produkt-Verbesserung. Addison-Wesley, 2009 DeMarco, T.; Lister, T.: Peopleware: Productive Projects and Teams. Dorset House, 1987 Fessler, G.: Erfahrungsbericht - Vorgehensmodell für Telekommunikations-Softund Hardware-Entwicklung. In Petrasch, R.; Wiemers, M., Kneuper, R.: Praxistauglichkeit von Vorgehensmodellen, 10. Workshop der Fachgruppe WI-VM der Gesellschaft für Informatik. Shaker Verlag, 2003 Copyright-Notiz ® Capability Maturity Model, Capability Maturity Modeling, CMM and CMMI are registered in the U.S. Patent and Trademark Office by Carnegie Mellon University 41 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler G. Fessler Studium der Mathematik, Physik und Informatik Göttingen, Freiburg und Karlsruhe Seit 1986 Mitarbeit in und Leitung von ProzessVerbesserungsinitiativen von Hard- und SoftwareEntwicklungen, hauptsächlich in den Branchen Telekommunikation und Automobilbau Jeweils erster deutschsprachiger durch das Software Engineering Institute (SEISM) autorisierter SW-CMM® Lead Assessor CMMI® Lead Appraiser Introduction to CMMI® Instructor DGQ/EOQ ISO 9000 Lead Auditor mit ISO/TS 16949 Qualifikation ISO 15504/Automotive SPICE Competent Assessor Six Sigma Black Belt 42 | VorgehensmodelleFesslerV1 | 2010-04-13 | © G. Fessler