Projektmanagement

Softwareentwicklung weist gewisse Ähnlichkeiten zum Segeln auf. Möchte man mit einem Segelboot von Punkt A nach Punkt B reisen, gibt es auf der Landkarte betrachtet so etwas wie eine Ideallinie, die genau zwischen beiden Punkten besteht und eigentlich nur abgefahren werden müsste. In der Realität zeigt es sich aber, das man durch verschiedene Umstände, wie z.B. Strömung, Windstärke oder auch mal eine kurze Unachtsamkeit des Steuermanns immer wieder vom Kurs abkommt. Daher muss der Kapitän immer wieder den Kurs messen und entsprechend Gegensteuern.

Ähnlich muss sich auch ein guter Entwickler verhalten. Software ist im Anfangsstadium nichts weiter als eine Idee im Kopf des Kunden. Viele Faktoren hängen davon ab, ob ein Projekt erfolgreich abgeschlossen werden kann. Der Kunde muss die Idee vermitteln können, der Entwickler muss die Sprache des Kundens genau verstehen, er muss die Idee des Kunden mit den entsprechenden technischen Gegebenheiten in Einklang bringen.

Jeder weiß das Software während ihres Entwicklungsprozesses Fehler enthalten kann und in einigen Bereichen vielleicht nicht genau dem entspricht, was sich der Kunde vorgestellt hat. Ein guter Entwickler kann nun diese Abweichungen vom Ideal wie ein guter Kapitän in einfachen kleinen Schritten korrigieren, so das das Ziel letztendlich zur Zufriedenheit aller beteiligten erreicht wird.

Woran man nun so einen guten Entwickler erkennen kann? An der Art, wie er die Entwicklung des Projektes organisiert. Wenn wir einmal davon ausgehen, das ein hypothetisches Projekt sich bereits in einem Alpha Stadium befindet, der Kunde es sich anschaut und sowohl Fehler als auch Abweichungen vom Konzept fest gestellt hat. Befindet sich der Kunde nun in einem Meeting mit dem Entwickler und zeigt dem Entwickler beispielsweise auf dem Bildschirm "Auf Seite 3 befindet sich die Grafik links unten um einige Pixel verschoben und nicht in einer Reihe mit den anderen Grafiken" und der Entwickler macht sich nun Notizen auf einem Blatt Papier, dann kann man mit Sicherheit sagen, das es sich um einen unprofessionellen Entwickler handelt.

Dieser Ansatz ist fehleranfällig, da es für den Entwickler später nur noch seine Aufzeichnungen gibt und keine visuelle Repräsentation. Außerdem wird hier Zeit verschwendet, ein Meeting sollte höchstens dann statt finden, wenn es darum geht wie und wann die Probleme behoben werden, nicht jedoch um welche zu finden oder gar mündlich zu kommunizieren.

Ich nutze daher für alle meine Projekte eine hoch professionelle Projektverwaltung, wie sie auch von Firmen wie BMW, Adobe, Yahoo und anderen eingesetzt wird. Meine Kunden erhalten selbstverständlich während der Entwicklung Zugriff auf diese Software und sind so in der Lage auf einen Blick den Status des Projekts zu sehen (Wie viele Vorgänge gibt es, wie viele davon sind bereits abgeschlossen). Er kann über diese Software Fehler melden, aber auch Wünsche äußern wie neue Funktionen. Er bekommt dann automatisch einen Überblick wann diese Wünsche umgesetzt werden.

Zu jeden Vorgang kann man selbstverständlich auch Dateien mit hochladen. Vorgänge wie Fehlermeldungen oder Aufgaben können mir selbstverständlich auch per Email zugesandt werden, diese werden dann automatisch in die Projektverwaltung eingespeist und in verarbeitbare Vorgänge umgewandelt.

Geht es um Fehlerberichte, wie die oben angesprochene verschobene Grafik auf Seite 3, dann kann sich der Kunde aus der Projektverwaltung ganz einfach ein Browserplugin für alle gängigen Browser herunter laden und damit ganz einfach Fehlermeldungen direkt im Projekt markieren. Er würde einfach Seite 3 anschauen, einen Kreis mit der Maus um die verschobene Grafik ziehen und dann einen Text dazu einfügen "verschoben". Dann würde er den Fehlerbericht abschicken und in meiner Projektverwaltung wurde automatisch ein Fehlerbericht mit Bildschirmfoto und Kommentar hinterlegt.

Dieses Vorgehen spart viel Zeit, die man dann für wesentlicheres nutzen kann. Ebenso gehören Missverständnisse der Vergangenheit an. Dies ist eines der "Geheimnisse" warum meine Kunden so zufrieden sind.