Die Methode SCRUM ist ähnlich wie ExtremeProgramming eine Methode der agilen Softwareentwicklung und wurde ursprünglich von Toyota entwickelt. Man nimmt bei dieser Methode grundsätzlich an, dass die Entwicklung von Software sehr komplex ist. So komplex, dass man alle Aufgaben und Phasen niemals so genau planen kann wie benötigt. Es ist also sinnvoller, nur einen groben Plan zu erstellen den man als Rahmen sehen sollte in den man sich bewegt und den man nutzen kann um auf Kurs zu bleiben.
Tatsächlich deckt sich dieser Ansatz sehr gut mit der Praxis! Wenn Kunden eine Software oder Website haben möchten dann verlangen Sie meistens eine genaue Zeit- und Aufwandschätzung und wollen dich dann damit auf einen Fixpreis festnageln. Jeder der schon einmal ein Projekt zu einem Pauschalpreis abgewickelt hat weiß, dass man sich sehr leicht mit dem Zeitaufwand verschätzen kann und im Endeffekt viel mehr Stunden daran programmiert als geplant!
Das es ein paar Rollen in SCRUM gibt die zu besetzen sind, ist diese Methode für kleine Teams von 2-3 Leuten sinnvoller als für einzelne Programmierer. Wenn du dich aber gut in verschiedene Rollen hineinversetzen kannst, kannst du natürlich SCRUM auch als einzelner Freelancer einsetzen.
Wenn man nach der SCRUM Methode entwickelt gibt es ein paar definierte Zyklen die man einhalten sollte.
Der Product Owner klärt mit dem Team welche Features bis zum nächsten Termin zu erledigen sind und welches Ziel erreicht werden muss. Danach werden die Aufgaben an das Team verteilt. Diese Aufgaben sollten so aufgesplittet werden, dass jede innerhalb eines Tages zu implementieren ist. Diese Aufgaben werden auch Sprint Backlog genannt.
Das ist der wichtigste Zyklus von SCRUM. Der Sprint bezeichnet eigentlich die Zeit in der die einzelnen Aufgaben vom Team abgearbeitet werden. So ein Sprint sollte nicht länger als 30 Tage dauern. Optimal wäre ein Zeitraum von ein bis drei Wochen. Am Ende des Sprints muss ein lauffähiges Programm stehen.
Dieses Meeting findet jeden Tag für ein paar Minuten statt. Hier sollte besprochen werden, welche Aufgaben seit gestern erledigt wurden, welche bis zum nächsten Treffen erledigt werden und ob es Probleme bei der Implementierung gegeben hat.
Nachdem ein Sprint abgeschlossen ist wird vom Team und vom Product Owner ein Review durchgeführt. Es wird kontrolliert ob die definierten Ziele erreicht wurden.