|
"CPT": Rollenverteilung und Organisationsform
Ein "Chief Programmer Team" ist eine hierarchisch aufgebaute,
zentralisierte Projektorganisationsform, in der es klar definierte Rollen,
Aufgabenaufteilungen, Verantwortlichkeiten und Informationsflüsse
gibt. Ein Chief Programmer Team liegt üblicherweise ausserhalb
der eigentlichen Firmen-Aufbauorganisition. Über die gesamte Projektdauer
hindurch hat der Chief-Programmer die alleinige Verantwortung und ist
dem Firmenmanagement keine Rechenschaft über den Arbeitsfortschritt
schuldig. Er hat einzig und allein dafür zu sorgen, dass das Projekt
termingerecht abgeschlossen werden kann.
Das folgende Bild zeigt die Rollen und die Informationsflüsse
in einem "Chief Programmer Team":
- Chief Programmer
Dieser agiert als technischer und funktionaler Vorgesetzter und ist
der Hauptverantwortliche für den Entwurf und die Implementierung.
Das Software-Produkt entsteht ausschliesslich durch die Vorstellung
des Chief Programmers. Der Chief-Programmer ist ein IT-Experte mit
überdurchschnittlichen Führungsqualitäten, der für
das gesamte Design verantwortlich ist.Ausserdem ist er, gemeinsam
mit seinem Co-Piloten, für die Codierung und Integration von
"Top-level" und kritischen Modulen verantwortlich. Der Chief
Programmer trifft alle wichtigen technischen Entscheidungen und teilt
den anderen Teammitgliedern Arbeit zu. Es steht auch in seiner Macht,
während des Projekts temporär zusätzliche Projektmitglieder
anzufordern.
Der Chief Programmer schreibt gemeinsam mit seinem Co-Pilot die Dokumentationen.
- Co-Pilot:
Er muss, genauso wie der Chief Programmer, ein hervorragender IT-Experte
sein und ist die "rechte Hand" des Chief Programmers.Er
ist die Schnittstelle zum Kunden und muss den Chief Programmer bei
dessen Ausfall vertreten. Ausserdem liegt es in seiner Zuständigkeit,
den Chief Programmer zu unterstützen und dessen Tätigkeit
und Entscheidungen zu überwachen.
- Administrator/Sekretär
Er entlastet den Chief Programmer von jeglichen finanziellen, rechtlichen
und sonstigen administrative Aufgaben (beispielsweise Buchhaltung,
Verträge aufsetzen, Organisieren der Arbeitsplätze für
die Projektmitarbeiter usw.).
- Testspezialist:
Dieser schreibt Programme, die für das Testen des Software-Produkts
notwendig sind. Dazu zählen unter anderem die Module für
die Testdatenerstellung. Der Testspezialist wertet ausserdem den generierten
Output der Testdurchläufe aus. Seine Aufgaben werden genau wie
die der anderen Projektmitglieder durch den Chief Programmer und dessen
Co-Piloten festgelegt.
- Editor:
Dieser überprüft die Dokumentationen, die vom Chief Programmer
und dessen Co-Piloten erstellt werden.Er ist auch für das Format
der Dokumentationen verantwortlich. Der Editor ist kein technischer
Spezialist.
- Dokumentenverantwortlicher (librarian)
Dieser ist für das Versionsmanagement und die Verwaltung der
einzelnen Modul-Quellcodes verantwortlich. Zusätzlich bereitet
er Reports für den Chief Programmer vor, die den Projektfortschritt
beschreiben.
- Sprachspezialist (language lawyer):
Dieser ist ein Spezialist für jene Programmiersprache, in der
die Software realisiert wird. Er ist für die Optimierung von
Modulen verantwortlich. Ausserdem ist es seine Aufgabe, verschiedene
Lösungsalternativen für bestimmte Probleme zu erarbeiten.
- Tool-Verantwortlicher (toolsmith):
Dieser ist für die Erstellung von Tools verantwortlich, die die
anderen Projektmitglieder in ihrer Arbeit unterstützen. Solche
Tools sind beispielsweise Shell-Scripts o. Make-Files.
- Weitere Programmierer:
Hier handelt es sich um Spezialisten, die vom Chief Programmer ihre
Aufgabe je nach ihren Spezialkenntnissen zugewiesen bekommen.
|
|