"CPT": Motivation

  Produktivität von Software-Entwicklern

Durch eine Studie von Sackman, Erikson und Grant wurde aufgezeigt, dass die Produktivität von Softwareentwicklern innerhalb einer beobachteten Gruppe vom schlechtesten zum besten Entwickler um den Faktor 10 variiert.Weiters ergaben sich durch diese Studie folgende Unterschiede:

Task/Eigenschaft
Faktor
Implementierung 16:1
Tests 28:1
Programmgrösse 5:1
Laufzeit 5:1

Durch diese Zahlen könnte man fälschlicherweise annehmen, dass jene Programmierer, die am längsten für die Implementierung benötigt haben, auch den besten Code produziert haben. Eine weitere Analyse mit unterschiedlichen Programmen bewies jedoch das Gegenteil.

Platzierung
Std. Implementierung
und Testen
Laufzeit
Programmgrösse
Bester
35
4.2
3218
Zweitbester
37
5.3
2186
Drittbester
254
6.6
3746
Schlechtester
286
5.9
3640

Aus dieser Tabelle ist ersichtlich, dass die Programmierer, die am schnellsten programmiert haben, auch den schnellsten Code entwickelten, der ausserdem eine geringe Grösse aufweist.

Durch diese Studie wird verdeutlich, wie gross der Qualitätsunterscheid zwischen verschiedenen Entwicklern ist. Wenn man nun ein Team von echten Spezialisten zusammenstellt und versucht, mit diesen ein Software-Projekt zu realisieren, müsste der Zeitaufwand des Projekts stark reduziert werden können. Weil so ein Team weniger Mitarbeiter benögt, sinkt auch der Zeitaufwand für die Kommunikation zu anderen Teammitgliedern. Diese Eigenschaft findet man in "Chief Programmer Teams".

  Womit verbringen die Software-Entwickler ihre Arbeitszeit

Andere Analysen haben gezeigt, dass in grossen Software-Projekten ein Programmierer die Hälfte seiner Zeit für Besprechungen oder andere Aktivtäten, die nicht direkt mit der Entwicklung der Software in Zusammenhang stehen. Durch die geringe Gruppengrösse von "CPT"s und die unterstützenden Rollen des "CPT"s (Administrator, Editor usw.) können sich die anderen Projektglieder besser auf ihre eigentliche Tätigkeit konzentrieren, was Produktivität erhöht.

  Aufstiegsmöglichkeiten

Normalerweise sind die Aufstiegschancen eines Software-Entwicklers in Firmen begrenzt. Will ein Mitarbeiter in der Hierarchie aufsteigen, so ist dieser gezwungen, ins Management zu wechseln. Steigt man als Techniker die Karriereleiter hinauf, so werden die technischen Tätigkeit, die man von Grund auf erlernt hat, immer weniger und die Zeit für Managementtätigkeiten steigt. Zu oft verliert dadurch eine Firma einen hervorragenden Programmierer und bekommt einen unterdurchschnittlich begabten Manager. Durch die Struktur des "CPT"s können normale Programmierer zum Co-Piloten bzw. zum "Chief Programmer" in Folgeprojekten aufsteigen. Durch diesen Aufstieg verringern sich ihre technischen Tätigkeit nicht. Der Mitarbeiter bleibt weiterhin in seinem eigentlichen Spezialgebiet tätig. Wird in der Firma für grosse Software-Projekte das Prinzip der hierarchischen "CPT"s angewendet, so kann ein Programmierer mehrer Ebenen aufsteigen, ohne die technische Orientierung seiner Tätigkeit zu verlieren.

"CPT": Beispiel aus der Praxis

Erstmals kam das Konzept des "CPT"s für die Entwicklung eines Informationssystems der New York Times zum Einsatz. Bei diesem Projekt entstanden in 132 Personenmonaten 83000 Codezeilen. Laut IBM wurden 50 Prozent der erwarteten Kosten und 25 Prozent der geplanten Zeit eingespart. In der darauffolgenden 5wöchigen Abnahmezeit wurden 21 Fehler gefunden, die alle an einem halben Tag behoben werden konnten. Im darauffolgenden ersten Jahr des Einsatzes traten nur weitere 25 Fehler auf.

 

(c) FIT 2002 Gruppe 2