Soko Maier: Die Kunst der Schätzung – Software-Entwicklungsaufwände beherrschen

7. Juni 2023 um 08:28
  • kolumne
  • soko maier
  • developer
image

Das Scheitern von Software-Entwicklungsprojekten aufgrund falscher oder – genauer gesagt – zu niedriger Aufwandsschätzungen ist ein Dauerbrenner. Auf welche Faktoren besonders geachtet werden muss, schreibt Karakun-CEO Elisabeth Maier in ihrer aktuellen Kolumne.

Es gibt wenige Personen, die nicht von einem Software-Projekt berichten können, das sehr viel länger gedauert hat als bei Projektstart angenommen oder das ein Vielfaches des ursprünglich angenommen Preises gekostet hat. Oder anders formuliert: Die tatsächlichen Aufwände stehen oft im Missverhältnis zu den ursprünglichen Annahmen und Schätzungen. Aber wieso liegen Schätzungen bei der Software-Entwicklung so oft und manchmal auch massiv daneben?
Gründe für fehlerhafte Schätzungen gibt es wie Sand am Meer. Ich möchte daher heute die in meinen Augen fünf wichtigsten Faktoren beleuchten und Ihnen näherbringen, wie Sie selbst Einfluss auf die Qualität von Schätzungen nehmen können.

Sicherheit durch klare Projektziele und -inhalte

Die wichtigste Voraussetzung für die Schätzung von Software-Entwicklungsaufwänden ist Klarheit bezüglich der Ziele des Projekts sowie der Prioritäten und der Funktionen, welche im Rahmen des Projekts implementiert werden sollen. Das mag auf den ersten Blick trivial klingen, aber genau das ist eine der Hauptursachen für falsche Schätzungen.
Die Gründe für diesbezügliche Unklarheiten können vielfältig sein: Der Auftraggeber kann sich über Ziele und Wünsche noch nicht im Klaren sein oder es gibt auftraggeberseitig noch Abstimmungsbedarf bezüglich einzelner Funktionalitäten. Zudem kommt es vor, dass (noch) nicht alle Stakeholdergruppen zur Zeit der Auftragsvergabe einbezogen wurden (zum Beispiel Benutzervertreter, interne IT) und deshalb wichtige Kernanforderungen nicht spezifiziert wurden, die einen Einfluss auf die Zielerreichung des Softwareprojekts haben.

Rollenspiele mal anders

Sowohl auf Seite des Auftraggebers, wie auch des Auftragnehmers müssen Rollen definiert sein, die das Projekt unter Einbeziehung aller Stakeholder koordinieren, auftretende Probleme frühzeitig identifizieren und zusammen mit den betroffenen Projektteilnehmern lösen. Zwei Rollen stehen hierbei im Fokus:
  • Product Owner: Diese Rolle ist zuständig für das Management der Anforderungen an ein Softwareprodukt oder eine Lösung, insbesondere im Hinblick auf die Priorisierung der einzelnen Kunden-Requirements. Die Product Owner Rolle muss idealerweise kundenseitig vorgesehen werden, da nur dort eine Einschätzung der Wichtigkeit der einzelnen Software-Funktionalitäten vorliegt. Zudem hat ein Product Owner immer die Ziele und Vision eines entstehenden Softwareprojekts im Fokus und managt die Projektprioritäten vor diesem Hintergrund.
  • Scrum Master: In agilen Projekten arbeitet ein Scrum Master eng mit den Entwicklern zusammen, räumt Unklarheiten und Hindernisse aus dem Weg und unterstützt die Kommunikation der einzelnen am Projekt beteiligten Gruppen. Diese Rolle wird idealerweise vom Auftragnehmer gestellt.
Die Praxis zeigt, dass beim Fehlen (einer) dieser Rollen Probleme oft zu spät identifiziert und dann mit vergleichsweise hohen (und typischerweise nicht budgetierten) Kostenfolgen behoben werden müssen.
Die Notwendigkeit von bestimmten Rollen gilt im Übrigen auch für nicht agil geführte Projekte. Hier benötigt es andere Rollen wie einen Projektmanager, eine Auftraggeberin oder einen Qualitätsmanager.

Erfahrung ist die beste Wünschelrute

Idealerweise sollten Aufwandsschätzungen von erfahrenen Software-Entwicklern erstellt werden, da Schätzungen so auf konkrete Projekt-Learnings abgestützt werden können. Alle Parteien profitieren von Erfahrungen mit einem ähnlichem Technologie-Stack oder ähnlichen An- und Herausforderungen. Liegen nur wenige Erfahrungen mit solchen Projekten vor, steigt das Risiko einer Fehleinschätzung.
Gibt es zwischen Definition und Umsetzung von Projekten eine grosse zeitliche Lücke, sollten ein paar zusätzliche Aspekte berücksichtigt werden. Nicht selten sind die Experten, die die Schätzung erstellt haben, später nämlich nicht im Entwicklungsteam. Deshalb muss sichergestellt werden, dass …
  • … die bei der Schätzung getroffenen Annahmen von weiteren Experten validiert werden und sich auf mehrere Meinungen und Erfahrungen abstützen.
  • … bei der Schätzung klar dokumentiert wird, von welchen Erfahrungsprofilen bei der Schätzung ausgegangen wurde, um später das Entwicklungsteam entsprechend zu besetzen.
Gerade in längerfristigen Projekten gilt es zudem, eine gewisse personelle Fluktuation zu berücksichtigen. Neue Mitarbeiter mit einem möglicherweise abweichenden Erfahrungsstand stossen zum Projekt hinzu und müssen eingearbeitet werden. Dies hat Einfluss auf die entstehenden Aufwände – Schätzungen werden schnell hinfällig.

Nichts ist so beständig wie der Wandel

In den meisten Software-Entwicklungsprojekten ändern sich die Anforderungen im Laufe des Projekts. Das hat hauptsächlich zwei Gründe: Einerseits ändern sich Rahmenparameter, andererseits werden neue Einsichten gewonnen, die berücksichtigt werden müssen. In vielen Fällen führt dies zu steigenden Aufwänden. Wohl dem, der eine agile Projektmethode gewählt hat. Dann nämlich können in Zusammenarbeit mit dem Auftragnehmer die Prioritäten überprüft und bei Bedarf Features mit geringerer Bedeutung durch wichtigere, neue Anforderungen ersetzt werden. Dadurch kann das Projekt trotz Änderungen im Kosten- und Zeitplan durchgeführt werden.

Einander verstehen erfordert Kommunikation

Einen massgeblichen Einfluss auf die Qualität einer Schätzung haben nicht zuletzt die Art der Anfrage und der Projekttyp. Bei öffentlichen Ausschreibungen gibt es beispielsweise nur wenige Möglichkeiten, mit dem Auftraggeber in Kontakt zu treten und offene Fragen anzusprechen. Dies führt dazu, dass bei der Schätzung Annahmen getroffen werden müssen, die sich später als falsch erweisen können. Das wiederum führt schnell zu höheren Implementierungs­aufwänden.
Bei den Projekttypen bieten agile Projekte dank der regelmässigen Planung von zu implementierenden Features die besten Voraussetzungen für die Einhaltung von Schätzungen. Aber auch hier gibt es Einschränkungen: Im Fall von Fixpreisprojekten trägt im Ernstfall der Auftragnehmer das Risiko. Deshalb wird dieses in aller Regel eingepreist. Natürlich können Abweichungen in beidseitiger Abstimmung zwischen Auftraggeber und Auftragnehmer geklärt werden, allerdings müssen diese früh genug erkannt und angesprochen werden.

Fazit: Grosse Unbekannte in Schätzungen lassen sich reduzieren

Wenn sich jemand am Stammtisch zur Aussage hinreissen lässt, dass Softwareentwickler die Aufwände eines Projekts raten oder auswürfeln, dann gibt es für solche Fehleinschätzung oft gute Gründe. Und ja, Aufwandsschätzungen sind und bleiben bis zu einem gewissen Grad ein Blick in die berühmte Glaskugel. Dabei können alle Parteien aktiv zu zuverlässigeren Schätzungen beitragen. Die grosse(n) Unbekannte(n) in jeder Schätzung sind nämlich Annahmen, die Softwareentwicklerinnen und Softwareentwickler machen müssen. Diese lassen sich unter Einhaltung der aufgeführten Faktoren reduzieren. Und wenn die Annahmen dann noch richtig dokumentiert sind, wird es früher oder später auch am Stammtisch leiser.
Soko Maier ist die Software-Kolumne von inside-it.ch. Hier schreibt Karakun-CEO Elisabeth Maier regelmässig über Themen rund um Software und Programmiersprachen.

Loading

Mehr zum Thema

image

Swiss Developer Survey 2023 startet: Welche Frameworks mögen Sie?

Was freut und was ärgert Entwicklerinnen und Entwickler? Swiss Made Software fragt nach Trends und Technologien.

publiziert am 28.9.2023
image

Prantl behauptet: Erfolg wird öfter verhindert als geschaffen

Zu grosse Egos, zu gewinnfixiert, Angst vor Veränderungen: Kolumnist Urs Prantl sagt, dass sich Unternehmerinnen und Unternehmer oft selbst im Weg stehen.

publiziert am 25.9.2023
image

Vogt am Freitag: 5G oder Giele, gut gemeint ≠ gut gemacht

Weil der Bau von rund 3000 Mobilfunkantennen blockiert ist, will die FDP den Schweizer Telcos helfen. Das ist eine gute Idee. Nur: Das gewählte Vorgehen ist sinnlos.

publiziert am 22.9.2023
image

Von Windows über MS 365 bis zu Github: KI kommt überall

Microsoft gibt weitere KI-Integrationen und entsprechende Rollout-Termine bekannt. Ein Überblick.

publiziert am 22.9.2023