"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.
 

(c) FIT 2002 Gruppe 2