newsroom.tech – Tipp der Woche #3

Stolpersteine und Fehler bei der Definition der eigenen Prozesse zur Software-Entwicklung lauern überall. Wir liefern euch zusätzliche Tipps aus unserem Erfahrungsschatz.

Oft gibt es einen oder mehrere Treiber für die Definition des Prozesses zur Software-Entwicklung in einer Organisation. Manchmal ist es das Management, das die Qualität erhöhen oder sicherstellen will und genügend Kontrolle über Budget, Scope und Termine fordert. Oft ist es aber auch das Team, das Standards will, um seine eigene Arbeit zu erleichtern. Dabei werden oft ähnliche Fehler gemacht oder Stolpersteine übersehen.

Wer erarbeitet den Prozess?

Schon in der Frage, wer den Prozess für die Software-Entwicklung definiert, liegen die ersten Risiken. In einer kleinen Firma ist das einfacher, aber auch dort macht es Sinn, alle Leute daran mitarbeiten zu lassen, die den Prozess dann jeden Tag anwenden sollen. Ansonsten wird es schnell ein “Papiertiger”, der “vom Management aufgedrückt” wurde und gar nie wirklich lebendig wird.

Ist der Haupttreiber für die Definition des Prozesses ein Projektleiter, ist die Chance relativ hoch, dass der Prozess auch viele Projektleiter-spezifische Aktivitäten und Artefakte beinhalten wird. Gleiches gilt, wenn es ein Test-Manager, der Architekt oder der Requirements Engineer ist. Der Prozess wird zwangsläufig einen stärkeren Fokus auf entsprechende Gebiete haben. Das muss nicht schlecht sein, man muss sich dessen einfach bewusst sein.

Finde die richtige Flughöhe

Je nach Organisation müssen Prozesse sehr detailliert oder nur sehr grob definiert werden. Das kann regulatorische Gründe haben, aber meistens ist es eine Frage der Kultur und der Menschen in einer Organisation. Manche haben gerne Flussdiagramme, die jeden einzelnen Schritt definieren, andere brauchen eher gröbere Leitplanken, in denen sie sich relativ frei bewegen können.

Es empfiehlt sich eher, eine möglichst hohe Flughöhe zu finden. Die Ziele eines Prozess-Schrittes oder einer Phase und die Schnittstellen dazwischen sind die Startpunkte für die Definition eines Prozesses. Das kann relativ einfach mit Checklisten oder Definitions-of-Ready (DoR) und Definitions-of-Done (DoD), wo möglich sogar automatisiert überprüfbar, gemacht werden.

Beschreibe die Abläufe und Artefakte im Detail, wo vertieftes Wissen oder Erfahrung fehlt. Die täglichen Abläufe lernt jeder neue Mitarbeiter schnell “on the Job”. Prozessschritte, die nur unregelmässig oder sehr selten anfallen, die aber wichtig für die Organisation sind, benötigen detailliertere Beschreibungen. Und natürlich auch, wenn sie regulatorische Vorgaben erfüllen müssen.

Verliere nicht den Fokus auf das Wesentliche

Mittlerweile vergisst man bei all den unterschiedlichen Berufen und Rollen, die rund um die Software Entwicklung entstanden sind, was eigentlich der Hauptzweck einer Organisation ist, die Software entwickelt: möglichst viel und möglichst gute Software zu schreiben. Das geht natürlich nicht über qualifizierte Software-Entwickler. Natürlich leisten auch alle andere Rollen einen wesentlichen Beitrag zu einer guten Software. Aber in extremen Beispielen trifft man heutzutage auch mal 2 Entwickler in einer Software-Organisation von 30 oder mehr Leuten an. Das kann man machen, dürfte aber wohl weder sonderlich effizient, noch sonderlich wirtschaftlich sein. Unserer Erfahrung nach sollten mindestens die Hälfte der Leute in einer Software-Entwicklungs-Organisation auch echte Software-Entwickler sein.

Natürlich kann zum Beispiel in Produktfirmen das Marketing und Sales wichtiger sein als die eigentliche Software-Entwicklung und der Prozess komplett darauf ausgerichtet werden. Aber auch da empfiehlt es sich, den Prozess zur Software-Entwicklung mit dem Fokus auf Entwicklung zu gestalten und die Wege zu Marketing und Sales kurz zu halten.

Und der Fehler, der einem am ehesten unterläuft, ist, dass man den Prozess so gestaltet, dass er für sich oder seine eigene Rolle die Arbeit erleichtert. Oft geschieht das in agilen Organisationen mit riesigen DoRs, welche den vorhergehenden Prozessschritt massiv komplizierter und aufwändiger machen. Nicht vergessen: Das wesentliche eines Prozesses ist es, den Erfolg der gesamten Organisation sicherzustellen.

Tomas Huber, CEO Newsroom Technologies AG