Der schönste Job der Welt

18.03.2009
Von 
Alexandra Mesmer war bis Juli 2021 Redakteurin der Computerwoche, danach wechselte sie zu dem IT-Dienstleister MaibornWolff, wo sie derzeit als Head of Communications arbeitet.
Entwickler sollen kreativ und kommunikativ sein. Ein frommer Wunsch? In einem Software- und Beratungshaus wie Skytec gelingt der Spagat zwischen Code und Kunde.

Manchmal beneidet Thomas Geyer seine Entwickler. "Der Beruf ist einer der schönsten auf der Welt. Entwickler sehen sofort, ob das, was sie getan haben, auch funktioniert." Im Gegensatz dazu müssten Vertriebsprofis länger auf ein Erfolgserlebnis warten, etwa bis der Vertrag mit dem Kunden unter Dach und Fach ist. Als Vorstandschef des Münchner Software- und Beratungshauses Skytec weiß Geyer, wovon er spricht, da auch er regelmäßig mit Kunden verhandelt.

Die Entwicklung redet von Anfang an mit

Mit dem Kunden und seinen Wünschen soll sich nach Geyers Auffassung auch der Entwickler intensiv beschäftigen: "Leider werden heute viele Entwicklerteams isoliert, und der Kontakt zum Kunden läuft nur über den Projektleiter." Das funktioniert bei Skytec anders. Noch bevor dem Kunden ein konkretes Angebot unterbreitet wird, stimmen sich Presales und Technikabteilung ab. Zusammen listen sie die Anforderungen an die Software auf, angefangen von der Geschwindigkeit des Systems bis hin zur Sicherheit. In einem Grobkonzept stecken die Entwickler ab, welche Technologien sie einsetzen werden und wie die Module ausschauen sollen. "Wir müssen die Lizenzkosten für Hard- und Software ermitteln und unseren Entwicklungsaufwand in Manntagen abschätzen", erklärt Martin Roeder, der bei Skytec eine Gruppe von Entwicklern leitet.

Auf der Basis kalkuliert Geyer den Preis für die Dienstleistung. Allerdings erst, nachdem er die Aufwandsschätzung hinterfragt hat. Warum sind für die Entwicklung eines zentralen Leitsystems für Bahnhofsanlagen bei den Essener Verkehrsbetrieben zweieinhalb Mannjahre nötig? Roeder muss seinem Chef erklären, dass die Anforderungen nicht auf einem Framework programmiert werden können: "Die Einarbeitung in bestimmte Frameworks braucht Zeit, außerdem entwickeln sich die Frameworks ständig weiter." Im Projekt für die Essener Verkehrsbetriebe haben die Skytec-Entwickler die Web-Oberfläche mit dem Framework "Tapestry" erstellt, obwohl die Einarbeitung aufwändig war. "Wir haben uns aufgrund der Flexibilität für diese Entwicklungsumgebung entschieden", sagt Roeder.

Das Pflichtenheft ist die Messlatte für die Entwickler

Auch das Testen der Software gestaltet sich oft aufwändiger, als Chef und vor allem Kunden es annehmen. Dazu Roeder: "In einem Großprojekt bauen sehr viele Leute ständig neue, voneinander unabhängige, aber miteinander funktionierende Module. Man muss darum jedes Modul testen, was etwa 30 Prozent der Zeit und damit genauso viel Zeit beansprucht wie die eigentliche Entwicklung." Die restlichen 40 Prozent der Projektdauer entfallen auf Konzept, Kommunikation, Abstimmung, Rollout-Planung und Installation. Wichtig sei auch die Versionskontrolle, in der überprüft wird, ob alle Abhängigkeiten stimmen. Im so genannten Bugtracking-Mechanismus tragen Entwickler und Softwaretester die Fehler ein, die sie entdeckt haben. Selbst den Kunden könne man hier einbeziehen, erklärt Roeder: "Das bedeutet aber, dass Entwicklerteams ihre Arbeit offenlegen und dem Kunden sehr nahe kommen."

Hat der Kunde den Kaufvertrag unterschrieben, erstellen die Entwickler ein Pflichtenheft, das zur Messlatte ihrer späteren Arbeit wird. Skytec favorisiert ein visuelles Pflichtenheft, so Geyer: "Wer die Funktionen nur beschreibt, lässt zu viel Raum für Interpretationen. Wir bauen für den Kunden eine grafische Oberfläche, über die er auf Screenshots klicken kann, die die Funktionen darstellen." Zudem legt man sich im Pflichtenheft auf die Entwicklungsmethode, den Test- und Abnahmezyklus, einzelne Meilensteine, den Projektleiter sowie die Kommunikationswege zum Kunden fest. Zu Letzteren gehört auch ein Workspace, in den Entwickler und Kunde Informationen stellen können.

Ungeliebte Softwaredokumentation

In der eigentlichen Programmierphase sind weit mehr Aufgaben zu erledigen als das reine Schreiben des Codes. Programmierer, Code-Reviewer, die aus der Sicht des ahnungslosen Anwenders die Lesbarkeit der Codes überprüfen, Softwaretester und Qualitätssicherer erfüllen verschiedene Rollen, müssen aber Hand in Hand arbeiten. "Unter Entwicklern sind noch viele Individualisten anzutreffen, die ihren Code nicht dokumentieren oder sich mit dem Team nicht abstimmen mögen", räumt Skytec-Chef Geyer ein. Das führe vor allem in großen Projekten manchmal zu Schwierigkeiten. Zu den Aufgaben eines Entwicklers gehört es laut Roeder, seinen Code nach den zum Projektstart beschlossenen Regeln zu dokumentieren und zu den festgelegten Zeiten die neu geschriebenen Codes einzuchecken. Insbesondere bei der agilen Softwareentwicklung, in der die Module nacheinander entwickelt werden, ist es nötig, sich täglich abzustimmen und jede Woche ein Teilergebnis zu präsentieren.

Wenn der Kunde Änderungen will, bleibt ein solcher "Change Request" nicht ohne Folgen für Verkauf und Technik. Während die Verkäufer mit dem Kunden verhandeln, damit er die Änderungen auch bezahlt, müssen die Entwickler die Auswirkungen auf das Projekt prüfen, neue Testszenarien aufbauen und das Feinkonzept ändern.

Die Rollout-Phase beginnt mit einem Werkstest vor dem Kunden. Bei Bedarf können Kleinigkeiten korrigiert werden, bevor das System installiert wird. Dann gilt es, die Mitarbeiter in der neuen Software zu schulen und die Dokumentation zu übergeben.

Kreativ und kommunikativ als Traumkombination

Risiken können Entwicklungsprojekte viele bergen: Angefangen von der falsch kalkulierten Zeit über den Code, der sich als nicht wartbar entpuppt, bis hin zur Fluktuation der Entwickler. "Softwareentwicklung hat viel mit Kreativität, Leidenschaft und Kommunikation zu tun", sagt Thomas Geyer. "Ein guter Entwickler schaut immer über die reine Programmierung hinaus und deckt Schnittstellen ab." Der Skytec-Chef weiß aber auch, dass es die Traumkombination kreativ und kommunikativ selten gibt. Manchmal ziehen sich gerade die kreativsten Köpfe lieber zurück, als sich ins Team einzubringen.