Im Gegensatz zur klassischen Softwareentwicklung z.B. mit der Wasserfallmethode lässt man nicht erst ein kleines Team ein riesiges theoretisches Konzept schreiben und schaut nach monatelanger Entwicklung ob es auch in der Praxis taugt. In Techniken wie Scrum definiert man erst einmal nur ein Ziel und alle Anforderungen z.B. 200. Ab dann hat das gesamte Team (5-9 sonst mehrere Teams) die Aufgabe diese Anforderung mit allen Kompetenzen gemeinsam zu lösen. Man arbeitet in Iterationen für die das Team entscheidet welche Anforderungen umgesetzt werden z.B. 10 von 200. Alle 2 Wochen ist gibt es ein fertiges lauf- und testfähiges Inkrement das bewertet und ggf. sogar als Milestone für Kunden released werden kann. Nun können neue Anforderungen hinzugenommen, geändert oder entfernt werden. Man hat also über die komplette Projektdauer maximale Transparenz, Flexibität und viel Raum für Kreativität. Es wird trotzdem sauber dokumentiert und getestet. Gewichtet man übrigens alle Anforderungen in Komplexitätspunkten,
kann man bei gleichbleibender Teamstärke eine Geschwindigkeit messen nach wie vielen Iterationen das Projekt komplett fertig ist und was es kostet.