"CPT": Geschichtliches
Enstehungsgeschichte des Chief Programmer Teams
Die Geschichte des Software-Engineerings ist eine Geschichte von Krisen
und neuen Herausforderungen. Die Disziplin des Software-Engineerings
hat ihren Ursprung in den 60er Jahren.
Nachdem nach einiger Zeit die Fehlerquote in der Programmierung massiv
anstieg, kam es zur Software-Krise. Es mussten neue Wege gefunden werden,
um die Fehlerquote in Software-Projekten zu reduzieren. Solche Ansätze
waren zum Beispiel die strukturierte Programmierung, "egoless"-Programming
und "Chief Programmer Teams". Durch die Anwendung solcher
Ansätze kam es dann bis in die 80er Jahre zur Beruhigung.
Krisen des Software-Engineerings
Nach der Software-Krise kam es zu weiteren Krisen (siehe Abbildung),
welche die jedoch nicht mit dem Chief Programming in Verbindung stehen.
Das Konzept des "Chief Programmer Teams" wurde von Dr.
Harlan D. Mills in den späten 60ern bzw. in den frühen
70ern entwickelt. Bekannt wurde es erst durch den positiven Bericht
von Baker über den erfolgreichen Einsatz des Konzeptes bei der
Entwicklung eines Online-Informationssystems
für die New York Times und einer Publikation von Brooks ("Mythical
Man-Month").
Brooks beschrieb in seiner Publikation hautpsächlich die wesentlichen
Vorteile des Mills-Konzeptes (Durchgängigkeit der Systementwicklung
und Objektivierung der Kommunikationsbeziehungen innerhalb des Projektes).
Brooks erklärt das Konzept des "Chief Programmer Teams",
indem er es mit einem medizinischen Chirurgenteam mit festgelegten Funktionen
vergleicht. Ein solches Team besteht ebenfalls aus einem Kernteam von
Spezialisten und mehreren unterstützenden Assistenten bzw. Hilfskräften.
Der Vergleich mit einem Chirurgenteam erwies sich jedoch nicht als geeignet,
da die Laufzeit einer Operation nicht mit der Laufzeit eines Software-Projektes
vergleichbar ist.
Baker empfahl einige Erweiterungen
beziehungsweise Änderungen des ursprünglichen Mills-Konzeptes:
- Ein kleines hochqualifiziertes Team übernimmt den übergeordneten
Entwurf und die Entwicklung des Systemkerns übernimmt.
- Ist der Entwurf und somit der Systemkern fertiggestellt, werden
die Mitarbeiter des Ursprungsteams Chief Programmer neuer Teams, die
die Untersysteme entwickeln.
- Dieser hierarchische Prozess kann so oft auf wiederholt werden,
wie es der Projektumfang erfordert .
Baker versuchte durch dieses neue Organisationsmodell die Probleme
des ursprünglichen "CPT"-Modells zu vermeiden.
Das "CPT"-Modell hat folgende wesentliche Merkmale:
- Der Projektleiter ist wesentlich in die Implementierung mit einbezogen.
- Es werden hauptsächlich Spezialisten (unterstützt von
einigen wenigen "Hilfskräften") eingesetzt.
- Die Teamgrösse ist maximal auf 10 Teilnehmer beschränkt.
Das Konzept des Chief Programmer Teams hat zwar in der Methodensammlung
des Software-Engineerings seinen Platz eingenommen, es blieb jedoch
eine empirische Fundierung aus (es wurde bisher sehr selten eingesetzt).
Eine Studie von Selig weist darauf hin, dass im deutschsprachigen Raum
kein Software-Engineering-Projekt mit dem "CPT"-Ansatz realisiert
wurde.
Lebenslauf des Erfinders: Dr. Harlan D. Mills (1919-1996)
Dr. Harlan D. Mills wurde am 14.Mai 1919 in Iowa geboren und starb
am 8.Jänner 1996. Er war Professor am "Florida Institute of
Technology" und Vorsitzender der "Softare Engineering Technology,
Inc., Vero Beach". Ihm wurde im Jahr 1952 der Doktortitel (Mathematik)
verliehen.
Seine Arbeiten hatten grossen Einfluss auf die industrielle Praxis
im Software-Engineering-Bereich. Er verstand ein Programm als mathematische
Funktion und das Testen einer solchen Funktion als statistisches Experiment.
Er schrieb 6 Bücher und über 50 Artikel, in denen er seine
Ansichten dokumentierte und begründete.
Wissenschafltich war er ausserdem noch an der "Johns Hopkins University,
New York", an den Universtäten von Maryland und Florida sowie
an etlichen Fakultäten in Iowa State und Princeton tätig.
In der Industrie arbeitete er für IBM (er war Mitglied der "Corporate
Technical Committee" der IBM Corporation). Ausserdem war er Präsident
der "Mathematica and Software Engineering Technology".
|