Hans Bonfigt
Montag, der 24. September 2018

Erfolgreiche Projekte …

Wann gelingt ein Softwareprojekt ?

Über „Projektmanager“ und ihre Wünsche nach „Resilenz“ und „Agilität“
kann man sich trefflich amüsieren. Vorausgesetzt, man ist nicht darauf
angewiesen, daß die bedeutungsschwangere Gruppe selbsternannter „Indivi-
dualisten“ (mit Google-Einheitstelephon) irgendwann einmal liefert.

Deutlich schwieriger ist es schon, aufzuzeigen, wie man es besser machen könnte. Nun hat mich jemand genau danach gefragt, und warum sollte man nicht einmal die Projekte aus 35 Jahren Berufserfahrung Revue passieren lassen, die gelungen sind ?

Dabei möchte ich mich unterscheiden von üblichen „Ratgebern“, die unreflektiert postulieren, was sie im Herzen bewegt. Ich nehme mir stattdessen reale Projekte und bilde Schnittmengen gewisser Merkmale.

1. Der Sinn eines Projektes muß allen Beteiligten klar sein.
Nur so kann die Unternehmensleitung Rückendeckung geben, nur so erlebt ein Entwickler die Freude an sinnvoller Arbeit, nur so wird das Endprodukt vom Nutzer angenommen.

2. Ein Projekt muß wirtschaftlich erfolgreich sein.
Vor allem aber: Man muß diesen Erfolg auch transparent machen können.

3. Die Einfachheit und die Eleganz eines Entwurfs entscheidet !
– Das zu impementierende Verfahren sollte so einfach sein, daß man es einem Siebenjährigen erklären könnte. Vereinfachen, vereinfachen, vereinfachen.
– Das, was nicht vereinfacht werden kann, wenigstens sauber modularisieren !
– Immer nur EINEN Standard für einen bestimmten Schnittstellentyp auswählen !
– Lieber die Aufgabenstellung reduzieren als das Team überfordern.
Tatsache ist oft: Erst wenn das Endprodukt unter realen Bedingungen läuft, stellt man fest, was es wirklich leisten kann und welche Funktionen auch tatsächlich genutzt werden !

4. Prototypen bauen !
Viel wichtiger: Wenn sie funktionieren, gnadenlos löschen und neu beginnen !

5. Tote Pferde nicht weiterreiten !
So gut wie jede Entwicklung kommt an den Punkt, wo sich Fehler in der Konzeption zeigen. Gnadenlos zurückbauen.

6. Keine Demokratie und vor allem KEINE KOMPROMISSE !
In der Sache nachgeben mit Rücksicht auf persönliche Empfindlichkeiten (Na gut, Meike, Du kannst Dein Modul auch in JAVA schreiben …) erzeugt eine sprudelnde Quelle von Problemen. EINER leitet das Projekt, genau wie auch nur EINER ein Auto fahren kann. Das ist das Erfolgsrezept der Seefahrt.

7. Mitarbeiter respektieren !
Auch vermeintlich „einfache Codierarbeit“ ist erstaunlich nicht trivial. Der Architekt sollte den Maurer mit Respekt behandeln und umgekehrt. Aber niemals sollte ein Architekt mauern oder ein Maurer planen.

8. Kommunikation standardisieren.
Keine Dokumente und Codefragmente hin- und herschicken. Kein kompromittierendes „WhatsApp“ oder „Twitter“. Schon gar keine „Google-Accounts“ ! Wir müssen Kundendaten treuhänderisch behandeln. Klare, eindeutige Begriffe verwenden ! Die Fachtermini des Kunden verwenden !

9. Anzahl der Mitarbeiter.
Benötigte Externe und Zukaufprodukte reduzieren !

10. Die Werkzeuge müssen sich der Idee unterordnen und nicht umgekehrt.
Haskell, Lisp oder „Clojure“ machen noch keinen genialen Entwurf.

11. Die Chemie im Team muß stimmen !
Die „menschliche“ Komponente ist zu 70 Prozent entscheidend für einen Projekterfolg.

12. Keine „Gnadenhäppchen“ für die Mitarbeiter.
In Form von „kostenloser Maté“ und „Kickerautomat im Flur“. Das ist keine Wertschätzung auf Augenhöhe. ORDENTLICH ZAHLEN ! Das garantiert souveräne Mitarbeiter.

Abgesehen davon: Arbeit kann und soll durch sich selbst schön sein und muß nicht mit albernen Spielereien „aufgepeppt“ werden. Was dabei herauskommt, kann jeder sehen, der ein aktuelles „Windows“ öffnet.

-hb

Kommentar verfassen

*