Scrum als praktikable Vorgehensweise zur agilen Softwareentwicklung

thumbnail

©123rf

Immer häufiger hört und liest man in IT-Kreisen von „Scrum“. Im Deutschen mit „Gedränge“ übersetzt, bezeichnet es ein Vorgehensmodell des Projektmanagements. Besonders geeignet ist Scrum zur agilen Softwareentwicklung. Die Grundidee findet jedoch immer häufiger auch in anderen Bereichen Verwendung. Umsetzungstechniken und das Framework von Scrum sind getrennt, um den Beteiligten möglichst weiträumige Freiheiten bei der genauen Ausgestaltung einzuräumen. Eine der Grundideen hinter Scrum in der agilen Softwareentwicklung ist die nicht zu erfassende Komplexität: Einige Projekte sind schlicht zu groß und komplex, um vorab in einem Projektplan erfasst zu werden.

Durch den Einbau von Zwischenzielen und deren Abarbeitung kann die Komplexität reduziert werden. Charakteristisch  sind hier Sprints – Iterationen, die zwischen ein bis vier Wochen benötigen sowie ein transparentes Projektumfeld, in dem jegliche Belange nachvollziehbar festgehalten werden. Die ausgelieferte Software wird regelmäßig überprüft und kontinuierlich validiert sowie gegebenenfalls nach Nutzervorstellung angepasst werden. Aufgaben werden in kleinere Einheiten zerlegt  und bei Bedarf auf Basis von Nutzerfeedback geändert, um möglichst einen maximalen Nutzen zu schaffen.  Typischerweise besteht ein Scrum-Projektteam aus drei bis neun Leuten. Größere Projekte sind unter Einhaltung bestimmter Frameworks auch möglich.

Scrum bedeutet regelgeleitetes Vorgehen zu optimieren

scrum softwareentwicklung

©123rf

Für Scrum bestehen keine strenge Vorgaben , die eingehalten werden müssen. Sie befassen sich mit fünf Aktivitäten, drei Artefakten und drei Rollen, die den Kern eines Projekts ausmachen. Die Regeln sind beispielsweise im Agile Atlas oder im Scrum Guide niedergeschrieben. Für die Umsetzung der Aktivitäten, Artefakte und Rollen muss das Scrum-Framework durch Techniken konkretisiert werden, um Scrum tatsächlich umsetzen zu können.  Diese drei Teilbereiche beinhalten folgende Dinge:

  • Rollen: Bei Scrum werden drei Rollen unterschieden. Der Product Owner, das Entwicklungsteam und der Scrum Der Produkt Owner ist für die Produkteigenschaften und dessen wirtschaftlichen Nutzen verantwortlich. Er steht in regelmäßigem Kontakt zu den Stakeholdern, welche alle Personen, Gruppen oder Institutionen, die von den Aktivitäten eines Unternehmens direkt oder indirekt betroffen sind, beinhaltet. Das Entwicklungsteam erstellt die jeweils gewünschten Funktionalitäten in enger Absprache mit dem Auftraggeber. Das Team besteht aus mindestens drei und höchstens neun Mitgliedern. Der Scrum Master überwacht die Einhaltung des Scrum Frameworks und prüft fortwährend deren Einhaltung. Der Scrum Master fungiert gegenüber dem Entwicklungsteam als dienende Führungskraft, die keine Arbeitsanweisungen gibt, sondern dem Team den Rücken frei hält, um ihnen ein ungestörtes sowie effizientes Arbeiten zu ermöglichen .
  • Aktivitäten: Damit werden Ereignisse oder Meetings bezeichnet. Sie folgen bei Scrum einem festgelegten Muster. An jedem Tag findet etwa ein Daily Scrum statt, in dem vordergründig das Entwicklungsteam Informationen austauscht. Ziel ist es Probleme frühzeitig aufzudecken und Aufgaben nötigenfalls in kleinere Arbeitseinheiten zu zerteilen. Ein Sprint Review folgt nach Abschluss eines Sprints und dient der Bewertung der gelieferten Inhalte. Unter Sprints wird der Projektprozess, bei dem das Entwicklungsteam innerhalb eines Vorgangs Anforderungen aus dem Product Backlog in ein Produktinkrement umsetzt, bezeichnet. Dabei sollten auch die Verwender und Auftraggeber anwesend sein. In der Sprint Retrospektive setzt sich das Projektteam kritisch mit seiner eigenen Arbeit auseinander und versucht Entwicklungspotentiale aufzudecken. Bei diesem Termin unterstützt beispielsweise der Scrum Letztlich bleibt das Product Backlog Refinement, bei dem das Team gemeinsam mit dem Eigentümer das , eine Liste der zu erledigen Aufgaben,  weiterentwickeln. Näheres dazu unter dem Punkt Artefakte.
  • Artefakte: Im Rahmen von Scrum existieren drei Artefakte. Das Product Backlog ist eine Liste der Anforderungen an ein Produkt und wird dynamisch fortgeschrieben. Die Anpassung erfolgt gemäß dem individuellen Bedarf und weiteren Faktoren, wie etwa der Wirtschaftlichkeit. Im Sprint Backlog werden alle Aufgaben, die im aktuellen Sprint zu erledigen sind, hinterlegt. Dieser ist allen Beteiligten zugänglich und möglichst übersichtlich. Das Product Inkrement ist die Gesamtheit der Einträge im Product Backlog und entspricht in etwa einem Ergebnis.

Die Vorteile der Scrum-Methode in der agilen Softwareentwicklung

Kennzeichnend für Scrum in der agilen Softwareentwicklung ist eine ständige Transparenz über den Projektfortschritt und die einzelnen Teilaufgaben (Sprints). Sowohl das Scrum-Team, als auch der Auftraggeber haben so stets einen klaren Status vor Augen. Da die Erledigung von Aufgaben individuell wahrgenommen wird, existiert bei Scrum eine sogenannte „Definition of Done (DoD)“. Sie enthält Qualitätsmerkmale und Anforderungen, die zur Erfüllung einer Aufgabe erledigt werden müssen. Durch eine fortschreitende Zusammenarbeit des Teams, kann diese Definition of Done stetig weiterentwickelt und spezifiziert werden.

Durch regelmäßige Gespräche sind alle involvierten Parteien gut über den Fortschritt oder etwaige Probleme im Rahmen eines Projekts informiert. Termine die der Rückkoppelung dienen erlauben die Reflexion von Problemen und bieten die Möglichkeit, zukünftige Aufgaben effizienter zu bewältigen. Ebenso lassen sich so kurzfristig veränderte Anforderungen schnell umsetzen.

Die Grenzen des Scrum-Konzepts in der agilen Softwareentwicklung

Eine einhundertprozentige Erfolgsgarantie kann Scrum genau wie andere Konzepte nicht bieten. Dennoch hat es sich als Vorgehensweise bei der agilen Softwareentwicklung bewährt und sich gegenüber anderen Methoden überlegen gezeigt. Dementsprechend ist Scrum auch für evonier software solutions ein wichtiges Thema. Bestes Fachwissen zu Scrum kombiniert mit praktischen Programmierkenntnissen erlauben es, unseren Kunden besondere Ergebnisse zu liefern. Mit Hilfe von Scrum gelingt eine schnelle und günstige Produktentwicklung unter Einbeziehung der jeweils vorhandenen betrieblichen Bedürfnisse. Da die späteren Softwareanwender auch die Anforderungen definieren, wird ein Produkt geschaffen, das sich ideal in die Unternehmenspraxis einfügt.

Evonier software solutions berät seine Kunden sowohl am Standort Berlin, als auch bei Ihnen vor Ort über Webanwendungen und mehr. Das junge Projektteam hält sich durch regelmäßige Fortbildungen stets auf dem Laufenden und ist nicht nur über aktuelle IT-Trends bestens informiert.

Zur Softwareentwicklung

evoniersoftware.de