- Scrum
- Agile Softwareentwicklung und agiles Projektmanagement
- Höhere Flexibilität und schnellere Reaktionszeiten auf Veränderungen
- Verkürzte Entwicklungsphase und somit früher lauffähige Software
- Gut geeignet für komplexe Projekte mit unklaren Anforderungen
- Scrum
- Agile software development and agile project management
- Greater flexibility and faster response times to changes
- A shortened development phase resulting in working software at an earlier date
- Well suited for complex projects with vague requirements
Agile Softwareentwicklung mit Scrum
Scrum wird als agiles Projektmanagementverfahren definiert, welches hauptsächlich in Softwareentwicklungsprojekten eingesetzt wird. Hierbei wird viel Wert auf Wissensmanagement, also die Weiterbildung der Mitarbeiter, gelegt. Der eigentliche Prozess besteht aus mehreren, verschachtelten Schleifen, sogenannten Sprints, in denen Feedback an den Projektleiter (ScrumMaster) zu bisherigen Ergebnissen gegeben wird.
Aufgrund ihrer mangelnden Flexibilität sind die meisten Projektmanagement-Methoden für Softwareentwicklungs-Projekte nur beschränkt geeignet. Abhängigkeiten zwischen einzelnen Teams oder Akteuren legen einen starren Zeitplan vor und verhindern Parallelarbeiten. Scrum versucht diese Defizite mit möglichst flexiblen Strukturen und unabhängigen Arbeitsabläufen auszugleichen.
Rollen in Scrum Projekten
In einem Scrum-Projekt agieren viele Protagonisten miteinander, um den Projekterfolg zu garantieren. Um eine gewisse Struktur und Ordnung zu bewahren exisitert eine genaue Rollenaufteilung. Für Gewöhnlich werden nur die drei Rollen ScrumMaster, Team und Product Owner in Scrum-Projekten definiert. Boris Gloger erweitert dieses Schema jedoch um den Manager, Customer und End User. Mit diesem erweiterten Rollenmodell sind die Aufgaben der einzelnen Gruppen klar definiert und es bildet somit die Grundarchitektur für ein erfolgreiches Projekt.
Artefakte in Scrum Projekten
Um ein Scrum-Projekt erfolgreich abzuschließen, bedienen sich Scrum-Teams sogenannter Artefakte. Das sind Tools oder Ergebnisse von Aktivitäten welche im Projekt eine professionelle Arbeitsgestaltung ermöglichen. Die agile Softwareentwicklung beinhaltet ein Artefakt, auf das unter keinen Umständen verzichtet werden kann, nämlich auslieferbaren Code.
Das Tracking des Fortschritts in Scrum Projekten
Für das Tracking und die Visualisierung von Fortschritten in Scrum eignet sich einerseits das Burn Down Chart als bewährte Methode. Dies geschieht unüblicherweise durch das Team selbst. Jeweils ein Burn Down Chart wird für jeden Sprint hergenommen und täglich aktualisiert. Dabei repräsentiert die vertikale Achse die Anzahl der abzuarbeitenden Tasks und die horizontale Achse die Tage des aktuellen Sprints.
Auf der anderen Seite kann man ergänzend zum Burn Down Chart noch das Task Board verwenden, um den Status des aktuellen Sprints festzuhalten. Hier gilt die selbe Regel wie beim Burn Down Chart, nur dass das Scrum-Team das Task Board pflegt und benutzt. Dieses Task Board kann entweder ein Software-Tool sein oder ein Whiteboard an der Wand.
Meeting-Typen in Scrum Projekten
Wie in jedem gut organisierten Projekt ist ein guter Zeitplan das A und O und macht so einen Großteil des Erfolges aus. In Scrum wird das Projekt über den kompletten Zeitraum von einer Vielzahl unterschiedlicher Meetings begleitet, wobei das Daily Scrum wohl das wichtigste darstellt, da es die Basis täglichen Informationsaustauschs ist und als regelmäßiger Statusbericht unverzichtbar ist.
Mit Scrum wurde hier ein sehr guter Ansatz vorgestellt, aber nicht die Universallösung für Softwareentwicklungsprojekte. Es erfreut sich momentan größter Beliebtheit und hat sich schon des öfteren als eines der besten agilen Projektmanagement-Verfahren bewährt. Wenn man versucht einen Trend für die nächsten Jahre zu erkennen, so wird dieser ganz sicher in Richtung Agilität gehen.
Agile software development with Scrum
Scrum is defined as an agile project management method, which is mainly used in software development projects. Much emphasis is laid on knowledge management, so the training of staff is essential. The actual process consists of several nested loops, known as sprints, in which feedback is given to the project manager (ScrumMaster).
Because of their lack of flexibility, most project management methods for software development projects are limited. Dependency between individual players or teams present a rigid schedule and prevents parallel work. Scrum tries to balance these deficits with flexible structures and independent work processes.
Roles in Scrum projects
In a Scrum project, many individuals act together to ensure the success of the project. To ensure structure and order there exists a precise division of roles. Usually only the roles of ScrumMaster, Team and Product Owner are defined in Scrum projects. Boris Gloger extended this scheme with the Manager, Customer and End User. With this expanded model, the tasks of each group are clearly defined, forming the basic architecture for a successful project.
Artifacts in Scrum projects
To successfully conclude a Scrum project, Scrum teams make use of so-called artifacts. These are tools or results of activities which enable a professional work design in the project. The agile software development includes an artifact, that can’t be spared under any circumstances and that is deliverable code.
The tracking of progress in Scrum projects
The Burn Down Chart as a best practice is suited for the visualisation as well as the tracking of progress in Scrum. This is done unusually by the Scrum team itself. A Burn Down Chart is derived for each sprint and updated on a daily basis. The vertical axis represents the number of tasks to be processed and the horizontal axis represents the days of the current sprint.
In addition to the Burn Down Chart the Task Board can be used to record the status of the current sprint. The same rules apply as with the Burn Down Chart, the only difference is that the Scrum team administer and use the Task Board. The Task Board can be either a software tool or a whiteboard on the wall.
Updates during Scrum projects
As in any well-organized project, good scheduling is very important to the overall success of the project. During a Scrum project a variety of meetings are held. The Daily Scrum being the most important as it is the basis of daily information exchange and is essential as a regular status update.
Scrum is a very good approach for software development projects, but it is not a universal solution. It currently enjoys great popularity and has been frequently proven to be one of the best agile project management methods.
