Software-Projekte im Griff - Teil II
Lebende Dokumente funktionieren wie folgt: Ein erster grob strukturierter und leidlich vollständiger Entwurf aller Analysen und Konzepte steht allen Teammitgliedern so früh wie möglich zur Verfügung. Diese Entwürfe erheben keinerlei Anspruch auf Vollständigkeit. Stattdessen kann jedes Teammitglied bereits zu einem frühen Zeitpunkt Einblick in die Ideen und Überlegungen der Analysten, Planer und Systemarchitekten nehmen. Während diese Dokumente im Rahmen eines sorgsam gepflegten "Change Control"-Prozesses weiterentwickelt werden, erhalten die Teammitglieder beständig Updates der Dokumente, welche die Änderungen gegenüber der Vorversion deutlich hervorheben und wichtige Änderungen sowie die Diskussionsprozesse, die zu diesen Änderungen geführt haben, dokumentieren. Die Dokumente - insbesondere die der Systemarchitekten - sind auch zu Beginn und sogar lange Zeit während der Development Phase noch nicht geschlossen und werden erst kurz vor Fertigstellung des gesamten Featuresets eingefroren. Die funktionale Spezifikation wird also erst mit Erreichen des letzten Meilensteins der Entwicklungsphase eingefroren, also unmittelbar vor dem major Meilenstein "Scope Complete/First Use".

Was sich zunächst anhört wie die Hölle auf Erden für jeden Entwickler und Codierer, ist in Wirklichkeit ihr Paradies und ihre Existenzberechtigung zugleich. Mal ehrlich - wer könnte sich schon vorstellen, aufgrund einer von Anfang an vollständigen und unveränderlichen Spezifikation zu codieren. Gäbe es einen langweiligeren Job auf der Welt - außer vielleicht Steine klopfen? Was aussieht wie die Hölle für Programmierer, fordert und fördert in der Realität ihre Kreativität und ihren ohnehin bereits scharfen Verstand. Wie aber mit lebenden Dokumenten leben (besonders überleben)? Wie lebt man mit kreativen Entwicklern und ständig wachsenden Featurelisten? Wie schafft man es, gleichzeitig Zeitpläne einzuhalten und Budgets nicht über Gebühr zu strapazieren? Hier nun gibt MSF als Antwort die bereits zu Beginn des Projektes festgelegte Entscheidungsmatrix, die als von allen Projektbeteiligten abgesegnete Entscheidungsgrundlage dient. Diese Entscheidungsmatrix legt nichts weiter fest, als die Antwort auf die Frage, welche Parameter während des Projektes fix und welche variabel sein sollen, wo gespart werden darf und wo investiert werden muss.
 |  |
|