Scrum basiert auf einem einfachen Prinzip. Man macht eine Liste von Produktanforderungen. Dann wählt man einige davon aus und entwickelt über einen relativ kurzen Zeitraum Software, die diese auswählten Anforderungen erfüllt. Danach liefert man, erhält Rückmeldungen vom Anwender/Kunden und beginnt erneut mit der Auswahl.
Nicht verhandelbar ist, daß am Ende eines Durchlaufs (Sprint) funktionsfähige, getestete und produktionsreife Software steht. So wird dem Auftraggeber eine Wahlmöglichkeit geschaffen. Er kann entscheiden die Software mit dem jetzigen Funktionsumfang einzusetzen oder auf die nächste verbesserte Version zu warten.
Der wesentliche Vorteil von Scrum ist, daß sehr zielgerichtet Software entwickelt wird. Durch die Vorgabe, daß am Ende eines Sprints lauffähige Software steht wird von ganz allein das Augenmerk aller Beteiligten auf das Wesentliche gelenkt. Ein zweiter Vorteil ist, daß inkrementell entwickelt wird und so nach jedem Sprint, der ja nur wenige Tage dauert, auf veränderte Anforderungen reagiert werden kann.
Trotz seiner Einfachheit bringt die Arbeitsorganisation mit Scrum eine Menge Schwierigkeiten ans Tageslicht. Die führen dann meist dazu, daß das Team es nicht schafft in der relativ kurzen Zeit, die für einen Sprint zur Verfügung steht, lauffähige und vollständig getestete Software abzuliefern. Häufig wird dann als Reaktion entweder die Zeit für den Sprint verlängert oder Teilaufgaben, wie z.B. das Testen, auf den nächsten Sprint verlagert. Am Ende stellen sich die erhofften Vorteile nicht ein.
Scrum hört sich wirklich einfach an. Versteht man aber, daß es sich bei Scrum nur um ein Rahmenmodell handelt und überhaupt nicht um eine komplette definierte Vorgehensweise alter Schule, so wird klar, daß es zur erfolgreichen Anwendung eine Menge Erfahrung braucht. Es geht nämlich gar nicht darum Scrum korrekt anzuwenden, sondern im Gegenteil eine Vielzahl anderer Maßnahmen durchzuführen, die das gute Funktionieren von Scrum erst ermöglichen.