Funktionierende Software ist das wichtigste Fortschrittsmaß
„ Funktionierende Software ist das primäre Maß für Fortschritt. ”
Das Messen des Fortschritts bei einem Softwareentwicklungsprojekt kann schwierig und problematisch sein. Die traditionelle Methode besteht darin, ein Projekt in Aufgaben aufzuteilen und den prozentualen Abschluss dieser Aufgaben zu verfolgen, um den Fortschritt zu messen. Dies kann jedoch sehr irreführend sein, da die Liste der Aufgaben häufig unvollständig ist und der Fertigstellungsgrad häufig eine subjektive Beurteilung erfordert, die schwer zu treffen und häufig ungenau ist.
Testen ist ein weiterer Faktor – in der Vergangenheit waren der gesamte Entwicklungsprozess und der Testprozess sehr oft sequentiell. Das Ergebnis ist, dass, obwohl die Entwicklung der Software abgeschlossen zu sein schien, Sie nicht wissen, wie vollständig sie wirklich ist, bis sie getestet und als vollständig validiert wurde. Ein agiler Ansatz betont, dass das Testen viel mehr gleichzeitig mit der Entwicklung der Software durchgeführt wird. Es gibt ein agiles Konzept namens Definition of Done, das Sie ziemlich oft hören werden. Das Team sollte klar definieren, was getan bedeutet – es bedeutet im Allgemeinen, dass die Software getestet und vom Benutzer akzeptiert wurde. In anderen Umgebungen ist die Definition von Done möglicherweise viel mehrdeutiger und unterliegt Interpretationen. Wenn Sie keine klare Definition von erledigt haben, ist jede Schätzung des Fertigstellungsgrads wahrscheinlich verdächtig.
Ein genaueres Maß für den Fortschritt besteht darin, ein Softwareprojekt in Funktionsblöcke aufzuteilen, wobei jeder Softwareblock eine klare Definition of Done hat und dem Benutzer für Feedback und Akzeptanz demonstriert werden kann.