figure
figure icon figure icon figure icon
8 Juni 2020
0
(0)
Lesezeit: 21 minutes

Agile. Alles, was Sie über die agile Methodik wissen müssen

Was ist agile? Wie hat das alles angefangen? Welche Prinzipien charakterisieren diese Methodik, wie unterscheidet sie sich vom traditionellen Ansatz und wie können Projekte effektiv (und agil) durchgeführt werden? Wir präsentieren eine Reihe von Informationen, die jede Person, die in irgendeiner Weise mit Technologien in Verbindung steht, kennen sollte. Wir hoffen, dass sie für Sie wertvoll und empfehlenswert sind. Wir laden Sie ein, Kommentare abzugeben und bei Detailfragen mit uns Kontakt aufzunehmen

Agile – ein agiler Arbeitsansatz. Wo kommt das her?

Jeder hat wohl schon von „agilen“ Ansätzen des Projektmanagements gehört. Aber ist jedem die Geschichte hinter der Formulierung der Regeln bekannt? Wahrscheinlich nicht – für diese Leute werden wir kurz beschreiben, wie das alles aussah.

Die Idee von „agile“ wurde 2001 von einer Gruppe von Programmierern entwickelt, die sich in einem Skigebiet in den Utah Mountains trafen. Ihr Ziel war es, neben Unterhaltung und Vergnügen, die Änderung der Herangehensweise an den Software-Entwicklungsprozess zu diskutieren. Der Bedarf wurde durch die Tatsache diktiert, dass das Unternehmen Schwierigkeiten hatte, mit den Bildhauern im Code zurechtzukommen; die Zeit der Appsentwicklung wurde über die Zeit gestreckt, die Änderungen in der Technologie waren sehr schnell, die Frustration wuchs und Projekte scheiterten oft oder lieferten am Ende eine Lösung, die im Vergleich zu den Produkten der Konkurrenz bereits veraltet war. Es wurde notwendig, einen Weg zu finden, eine Software zu entwickeln, die die vielen Variablen berücksichtigt und die es ermöglicht, die App schneller auf den Markt zu bringen.

Das Problem wurde als eine schlechte Herangehensweise an das Projekt selbst diagnostiziert – die Änderungen mussten „bei Null“ beginnen, d.h. bereits in der Phase der Planung der Arbeit. Bis jetzt (d.h. bis zum denkwürdigen Ausflug in die Berge) wurde die Software-Entwicklung so geschrieben und durchgeführt, dass ein Haus gebaut oder ein neuer Joghurt auf den Markt gebracht wurde. Der Arbeitsplan wurde von oben geschrieben, wobei das Projekt in aufeinanderfolgende Phasen unterteilt wurde – ohne die Realisierung der einen war es nicht möglich, zur nächsten überzugehen; die Kosten wurden ebenfalls sofort geschätzt und ein bestimmtes Budget zur Verwendung zugewiesen; daher musste der Auftraggeber alle Anforderungen weitergeben, wobei er die Tatsache berücksichtigen musste, dass zusätzliche Änderungen Chaos verursachen und schwierig umzusetzen sein würden. Dieser Ansatz (Wasserfall genannt) für Projekte mit vielen Variablen, die schwer vorhersehbar sind, hat einfach nicht funktioniert.

Der Februar 2001 erwies sich als ein Meilenstein, der zu einer Änderung der Arbeitsweise der Entwicklungsteams führte. Nach stürmischen Gesprächen kamen 17 Programmierer zu einer Einigung, die zur Schaffung einer neuen Vereinbarung führte: Manifest für die Agile Software-Entwicklung, d.h. eine Liste von 12 Prinzipien und eine allgemeine Idee eines agilen Ansatzes zur Durchführung von Software-Projekten.

Seitdem sind fast 20 Jahre vergangen, in denen eine Vielzahl von Publikationen über agile, projekterleichternde Apps mit dieser Methodik, Vlogs, Podcasts, Kurse, Schulungen, Zertifikate – die Idee wurde in vielen Unternehmen erfolgreich umgesetzt, um die Umsetzung von Projekten zu erleichtern; ihre Wirksamkeit und wachsende Popularität werden u.a. durch Daten aus dem Bericht aus dem Jahr 2019 gut dargestellt:

* Anfänglich bezog sich „agile“ hauptsächlich auf die Teams, die an der Software-Entwicklung arbeiteten, aber mit der Zeit wurde die agile Methodik auch in anderen Bereichen der Wirtschaft eingeführt. Ein interessantes Beispiel ist der Prozess der Entwicklung des Gripen-Kampfflugzeugs durch die schwedische SAAB, der nach agilen Prinzipien durchgeführt wurde:
https://www.scruminc.com/wp-content/uploads/2015/09/Release-version_Owning-the-Sky-with-Agile.pdf

Neu vs. Alt. Agile gegen Waterfall

Waterfall (Kaskadenansatz)Agile (agiler Ansatz)
  • Nach einem festgelegten Aufgabenplan arbeiten.
  • Das Projekt ist in aufeinanderfolgende Phasen unterteilt, die linear geführt werden.
  • Die Annahmen und das Budget werden gleich zu Beginn festgelegt.
  • Gewissheit über die nächste Aktion, klares Konzept.
  • Möglichkeit der genauen Bestimmung des Datums des Projektabschlusses (zumindest theoretisch).
  • Plan – Analyse – Umsetzung – Test – Implementierung.

 

 

 

 

 

  • Kein umfassender, geschlossener Aktionsplan.
  • Aufteilung der Arbeit in kurze Zyklen (so genannte Sprints), die nicht direkt voneinander abhängig sind.
  • Hohe Flexibilität, um Änderungen vorzunehmen; Budgetkontrolle während des Projekts.
  • Maßnahmen im Einklang mit der Prioritätenliste, die sich auf einen Zyklus (Sprint) bezieht. Die Prioritätenliste entwickelt sich mit dem Projekt.
  • Die Aktivitäten werden so durchgeführt, dass ein bestimmtes Ziel erreicht wird, aber ohne genaue Richtlinien; alles entwickelt sich mit dem Fortschreiten der Arbeit.
  • Laufende Entwicklung – Implementierung – Testen – Verbesserung nachfolgender Teile der Software.

 

Der neue Ansatz unterscheidet sich von der „traditionellen“ Vorgehensweise dadurch, dass er es ermöglicht, in einem verteilten Betriebsmodell zu arbeiten – die Planung und Umsetzung der Anforderungen basiert auf vollständigen Funktionalitäten und wird von kleinen, relativ unabhängigen Teams durchgeführt; all dies geschieht, um möglichst bald einen Teil der Apps zur Nutzung übergeben zu können, um sie dann systematisch zu testen und zu verbessern sowie um sie um weitere Fragmente zu erweitern.  Dadurch hat sich die Zeit von der Erfassung der Anforderungen bis zur Markteinführung des Produkts erheblich verkürzt, obwohl dies nicht das Ende des Projekts bedeutet. Die Aktivitäten werden auf einer nichtlinearen Basis durchgeführt, was den Developersteams mehr Freiheit lässt – sie arbeiten nach Zyklen (Sprints), die auf die Bereitstellung des nächsten Anwendungsfragments ausgerichtet sind; eine wichtige Änderung gegenüber dem Kaskadenansatz besteht darin, dass der Eigentümer während der Arbeit über die Entwicklungsrichtung entscheiden kann, und zwar auf der Grundlage der Beobachtung des Fortschritts und nach Faktoren, die im Laufe der Arbeit kommen oder gehen; geplante Aktivitäten werden priorisiert, so dass das Team weiß, welche am wichtigsten sind und zuerst umgesetzt werden müssen.

12 Prinzipien der agilen Methodik

Die Entwickler von agilen Ideen unterschieden 12 Hauptprinzipien, die die Grundannahmen dieser Arbeitsweise definieren. Nachfolgend sind die wichtigsten Annahmen von jedem von ihnen mit einer kurzen Beschreibung der Entwicklung aufgeführt:

  1. Das Wichtigste ist die Zufriedenheit des Kunden, der eine schnelle Implementierung systematisch verbesserter Software erhält – ein agiler Ansatz muss mit der Bereitstellung qualitativ hochwertiger Dienstleistungen und der Erfüllung der Anforderungen des Kunden einhergehen; die Änderung der Herangehensweise an das Projektmanagement zielte auf eine bessere Verständigung mit dem Kunden, eine effizientere Zusammenarbeit und klarere Kommunikation sowie die Fähigkeit, die Arbeitsergebnisse schnell zu zeigen.
  2. Seien Sie offen für Veränderungen, auch in einem späten Projektstadium – die Technologiebranche verändert sich sehr dynamisch, so dass Veränderungen notwendig sind, um in Bezug auf die Marktanforderungen „up-to-date“ zu bleiben; der zweite Punkt ist, dass der Kunde oft erst nach den ersten Auswirkungen seine Erwartungen klären kann. Die agile Methodik wurde im Gegensatz zum starren Rahmen des Kaskadenansatzes (Waterfall) entwickelt.
  3. Liefern Sie systematisch weitere Teile des Systems; je öfter Sie dies tun, desto besser – dank dessen kann der Kunde schnell Informationen weitergeben, die der Verbesserung der Apps und der Rationalisierung der Projektarbeit dienen.
  4. Business und Entwicklungsteams müssen zusammenarbeiten – und dabei geht es nicht um gelegentliche Kontakte, sondern um eine regelmäßige, enge Zusammenarbeit, so dass jede Partei in das Projekt eingebunden ist und über die aktuellen Aktivitäten Bescheid weiß. Die Trennungen zwischen den Teams müssen beseitigt werden, weil sie die kreative Zusammenarbeit von Spezialisten aus verschiedenen Bereichen blockieren.
  5. Projekte um motivierte Einzelpersonen herum anlegen, sie unterstützen, ihnen vertrauen und das liefern, was sie für das Projekt benötigen – jedes Projekt, insbesondere langfristige und arbeitsintensive (und das sind die Merkmale von Entwicklungsprojekten), braucht einen engagierten Manager; jemanden, der das Projekt nicht „spürt“, es vielleicht richtig leiten kann, aber sicherlich nicht das volle Potenzial des Teams nutzt.
  6. Der beste Weg, Informationen zu vermitteln, ist ein persönliches Gespräch – es ist schwer, nicht zuzustimmen! E-Mails und Messenger sind eine große Bequemlichkeit, aber der persönliche Kontakt hinterlässt immer den besten Eindruck und ist am fruchtbarsten.
  7. Funktionierende Software ist das grundlegende Maß des Fortschritts – die Auswirkungen bestimmen immer die Ergebnisse, nicht der Prozess selbst. Die agile Methodik, obwohl sie einen flexiblen Ansatz hat, legt ebenso viel Wert auf die Ausführung von Aufgaben wie der traditionelle Ansatz.
  8. Agile Prozesse unterstützen die nachhaltige Entwicklung. Sponsoren, Entwickler und Benutzer sollten in einem konstanten Tempo arbeiten – dieses Prinzip gilt für die am Projekt beteiligten Teams; dank des iterativen Vorgehens (Iteration ist ein Arbeitszyklus, in dem ein Teil des Programms eingeführt, getestet und verbessert wird) lernt das Team sehr schnell und in einem frühen Stadium aus seinen Fehlern, zieht die richtigen Schlüsse und geht reibungslos weiter; es wird nicht empfohlen, die Verantwortlichkeiten von Einzelpersonen oder Komponenten zu ändern, da dies zu Desorganisation führt und den Fortschritt verlangsamt.
  9. Der ständige Fokus auf technische Exzellenz und gutes Design stärkt die Agilität – die agile Methodik legt großen Wert auf die Entwicklung des Teams, das am Projekt arbeitet, erfordert Engagement, das Finden neuer Wege zur Problemlösung und die Verbesserung der Software; jede Iteration ist eine weitere wertvolle Lektion und das Streben nach einem gut funktionierenden Endergebnis.
  10. Einfachheit ist die Kunst, die notwendige Arbeit zu minimieren (auf Englisch klingt es viel besser). Die Idee ist, Lösungen nicht zu komplizieren und nicht zu überkomplizieren, wo sie nicht gebraucht wird; eine gegebene Funktionalität soll funktionieren – je einfacher wir sie implementieren können, desto besser, schneller und effizienter.
  11. Die besten Lösungen kommen von selbstorganisierenden Teams – dieses Prinzip lenkt die Aufmerksamkeit auf die Art und Weise der Kommunikation mit den Teams, die für bestimmte Elemente verantwortlich sind; es sind die Teams, die in ihre Aufgaben einbezogen werden sollen; sie sollen selbst nach Lösungen suchen, Änderungen einführen, die für eine effektivere Arbeit notwendig sind – der Projektleiter kümmert sich um das Ganze, aber er zwingt den Teams nicht auf, wie sie arbeiten sollen.
  12. Dank der Regelmäßigkeit der Arbeit entwickelt sich das Team ständig weiter, wird effizienter, passt sich den sich ändernden Anforderungen an, zieht Schlussfolgerungen und ändert seinen Ansatz entsprechend – Entwicklung, Entwicklung, Entwicklung!

Die Grundlagen der agilen Methodik sind nicht so leicht, einfach und angenehm, wie sie scheinen mögen; trotz einfacher Annahmen kann ihre Umsetzung sehr schwierig sein. Der so genannte menschliche Faktor spielt dabei eine Schlüsselrolle. Die Erinnerung an diese 12 Determinanten wird nicht nur zu Beginn der Organisation von Teams und der Arbeit in einem agilen Ansatz hilfreich sein, sondern auch in jedem schwierigen Moment der Zusammenarbeit.

(Die Original-Tonregeln finden Sie hier: http://agilemanifesto.org/principles.html)

Jira Software, also wie man Projekte mit agiler Methodik durchführt

Wir sind von der Geschichte der Anfänge der agilen Methodik über die Unterschiede zwischen agiler und Kaskadenmethodik zu den 12 Prinzipien dieses Ansatzes übergegangen. Es ist an der Zeit, eine andere, wichtige Frage näher zu bringen – wie zähmt man ein Projekt, das auf so (scheinbar!) unstrukturierte Weise durchgeführt wird? Wie kann man überwachen, was in einzelnen Teams geschieht, die an einzelnen Elementen des Ganzen arbeiten? Wie können die Prioritäten der Aufgaben klar definiert werden, so dass jeder seinen Platz in der Vielzahl der Aktivitäten finden kann? Die Systeme zur Durchführung von Projekten mit agilen Methoden sind in dieser Hinsicht hilfreich. Eine der am meisten geschätzten ist die Jira Software, die eine Reihe von Funktionalitäten enthält, die es ermöglichen, agile Teams zu organisieren.

*Angesichts der Vielzahl von Ansätzen für Agile konzentrieren wir uns im Folgenden auf SCRUM, das mit der SCRUM-Richtlinie (https://www.scrumguides.org/) übereinstimmt.

*Weniger werden wir uns auch auf das SAFe (Scaled Agile Framework – https://www.scaledagileframework.com/) beziehen, das geschaffen wurde, um einige der SCRUM Probleme (hauptsächlich Skalierbarkeitsprobleme für große Organisationen) anzugehen, und trotz seiner Agilität im Namen wird es von vielen Leuten als eine hybride Methodik angesehen.

Die wichtigsten agilen Funktionen in Jira:

Sprints sind das Hauptelement in SCRUM, um das herum die Arbeitsplanung durchgeführt wird. Jira ermöglicht es, Sprints mit einer ausgewählten Länge zu erstellen und ihnen Aufgaben zuzuweisen. Es ist möglich, einen Sprint pro Backlog oder mehrere parallele Sprints unter Verwendung desselben Backlog zu erstellen – falls Sie mehrere Teams benötigen, die an einer Reihe von Anforderungen arbeiten.

Scrum, agile, software development, sprint

In einigen Organisationen kann es notwendig sein, die Arbeit über einen längeren Zeitraum zu planen (z.B. aufgrund von Abhängigkeiten von anderen Bereichen, die nicht in der Agilen Methodik arbeiten) oder die Beziehung zwischen den Aufgaben besser zu visualisieren. Auf diese Notwendigkeit wird in diesem Artikel bei der Erörterung der Jira-Zusätze näher eingegangen.

 

Aufgaben (Tasks) sind ein wesentliches Element des Jira Systems, das zur Organisation von Aktivitäten dient; eine Jira Aufgabe ist ein Element der zu leistenden Arbeit jeder Art und Größe; sie erleichtert es, die Arbeit zu identifizieren und in bestimmte Aktivitäten einzuteilen und den Kontext aufzuzeigen, in den sie eingebettet ist.

Jira Software ermöglicht es, verschiedene Arten von Aufgaben beliebiger Größe zu definieren, was die Arbeitsverwaltung erheblich erleichtert. Beispielsweise kann es in einem Projekt epic Aufgaben – die allgemeinsten und größten Aufgaben – geben. Jedes Epic wird aus mehreren Nutzungsszenarien bestehen, und diese werden aus Teilaufgaben bestehen. Sub-tasks sind die kleinsten Elemente in einem Projekt, die leicht von einer Person erledigt werden können. Jeder Aufgabentyp kann eine Reihe von Feldern enthalten, die anpassbar sind und alle Informationen enthalten, die für die Durchführung der mit der Aufgabe verbundenen Arbeit erforderlich sind.

Es ist u.a. möglich, jede Aufgabe einer verantwortlichen Person zuzuordnen, sie mit anderen Aufgaben zu verknüpfen (z.B. ihre Abhängigkeit von einer anderen Aufgabe zu spezifizieren), zu kommentieren oder die Geschichte der Aufgaben zu verfolgen. Das Erstellen von Aufgaben kann sowohl für jeden Benutzer als auch nur für eine ausgewählte Gruppe erlaubt werden – je nach Projekt, Art der Aufgabe usw.

Jede Aufgabe kann eine bestimmte Zeitdauer haben (in Form von Zeit oder Story Points), und die Benutzer können aufzeichnen, wie viel Zeit sie an der Aufgabe gearbeitet haben.

Scrum, Agile, Tasks, Epic, Jira Software, Transition Technologies PSC, Atlassian Platinum Solution Partner

Für jeden Aufgabentyp kann ein individueller Workflow definiert werden.
Workflows sind eine Abfolge von Zuständen, in denen sich jede Aufgabe von ihrer Erstellung bis zu ihrem Abschluss befinden kann. Ein einfacher Arbeitsablauf kann wie folgt aussehen:

Workflow, Agile projects in Jira, Scrum, Transition Technologies PSC, Atlassian Platinum Solution Partne

W tym przypadku etykiety OPEN i DONE i wszystkie między nimi określają

In diesem Fall definieren die Bezeichnungen OPEN und DONE und alle dazwischen den Status der Aufgabe. Die Pfeile stellen mögliche Übergänge von einem Status zu einem anderen dar. Die Workflows reichen von sehr einfach bis sehr komplex – mit Bedingungen, Triggern, Validatoren und Postfunktionen. Dies ermöglicht nicht nur die Anpassung jedes Workflows an individuelle Bedürfnisse, sondern auch die Automatisierung eines großen Teils sich wiederholender Aktivitäten. Auf diese Weise können Sie Aufgaben entfernen, die viel Zeit in Anspruch nehmen und keinen allzu großen Mehrwert bringen.

Aufgaben Tabellen 
Mit Jira Aufgabe Tabellen
kann man Bildschirme erstellen, die es ermöglichen, Situationen aus verschiedenen Perspektiven zu betrachten, indem Aufgaben nach festgelegten Kriterien (wie z.B. zugeordnete Person, Status, geplantes Enddatum, Sprint, Komponente oder praktisch jede andere Information)
herausgefiltert und in einem bestimmten Format (z.B. Kanban-Tafel)
angezeigt werden. Dies ermöglicht einen schnellen Zugriff auf häufig verwendete Ansichten wie z.B. Aufgaben, die einem bestimmten Benutzer, Team usw. zugeordnet sind.

Ansicht der Aufgaben
Jeder Benutzer hat Zugang zu einem eigenen Whiteboard mit nur seinen eigenen Aufgaben, einem Whiteboard für sein Team und einem Whiteboard für das gesamte Projekt, so dass er schnell sehen kann, wie die gesamte Arbeit aussieht.

Active sprints, tasks, Agile in Jira, Transition Technologies PSC, Atlassian Platinum Solution Partne

Backlog

Für jedes Projekt kann eine separate Liste der durchzuführenden Aufgaben erstellt werden. Abhängig von der Methodik des Projekts kann es sich um Backlog, Kanban Board oder eine andere Art von Aufgabenplan handeln. Jede der Aufgaben aus einer solchen Liste kann z.B. mit Labels oder personalisierten Feldern kategorisiert werden, einer bestimmten Implementierung zugeordnet werden, usw.

Backlog, Agile in Jira, agile projects, software development, Transition Technologies PSC, Atlassian Platinum Solution Partne

Wissensdatenbank und Dokumentation

In der Welt, in der wir leben und in der die Komplexität der Dienstleistungen, Produkte und der Umwelt weiter zunimmt, ist ein gutes Management des angesammelten Wissens unerlässlich. Confluence ist der beste Weg, um Wissen zu erfassen, zu organisieren, zu verwalten und zu kommunizieren. Confluence ermöglicht es, eine beliebige Anzahl von Seiten und Unterseiten mit Informationen zu erstellen und diese in einer Baumstruktur zu gruppieren. Dank der tiefen Integration kann jede der Seiten mit einer Jira Aufgabe verknüpft werden, was Aufgaben mit einfachem Zugang zu den erforderlichen Informationen ermöglicht.

Confluence ermöglicht die Erstellung von Dokumentvorlagen, die Zusammenarbeit an Dokumenten durch Kommentare, Benachrichtigungen, die Möglichkeit, jede Seite durch mehrere Benutzer zu bearbeiten, die Verfolgung der Änderungshistorie usw. Dank der Möglichkeit, Grafiken, Multimedia und verschiedene Dateitypen auf die Seiten von Confluence hochzuladen, ist eine große Flexibilität bei der Erstellung und Bearbeitung von Dokumentationen und Wissensdatenbanken gegeben. Darüber hinaus bietet die Verknüpfung von Jira und Confluence eine Reihe von Funktionen wie die Verknüpfung von Jira- und Confluence-Aufgaben mit Confluence-Seiten oder das Öffnen von Aufgaben direkt aus Confluence heraus:

Creating issue in Jira from Confluence, agile in Jira, software development, Transition Technologies PSC, Atlassian Platinum Solution Partne

Berichte und Suche

Für das Wissen um den Arbeitsfortschritt und die Fähigkeit, die benötigten Informationen schnell zu finden und zu präsentieren, ist dies in praktisch jeder Organisation ein Muss. Jira ermöglicht es, diesem Bedarf in agilen Umgebungen durch Funktionalitäten wie Jira gerecht zu werden:

  • Task Finder in großen Projekten führt die Anzahl der erstellten Aufgaben oft dazu, dass eine einzelne Person nicht in der Lage ist, sie alle zu verfolgen und die Kontrolle über das Geschehen verliert. Atlassian löste dieses Problem durch ein fortschrittliches Suchsystem, das es ermöglicht, Aufgaben durch das Prisma jedes in der Aufgabe verfügbaren Feldes, verwandte Aufgaben, Projekte, in denen sie sich befinden, usw. zu filtern. Die Suche kann sowohl über eine vereinfachte Schnittstelle als auch über eine erweiterte Suchmaschine mit in JQL Sprache verfassten Abfragen erfolgen.
  • Berichte
    Die grafische Darstellung ausgewählter Metriken wird mit Hilfe von agilen,
    für Methodologen bestimmten Berichten  gewährleistet, wie z.B. Velocity Chart, Sprint

charts in Jira Software, agile in Jira, software development best tools, best tools for agile, Transition Technologies PSC, Atlassian Platinum Solution Partne

Zusätzliche Möglichkeiten

Zusätzlich zu den Standardfunktionalitäten von Jira für agile Methoden bietet die Atlassian Umgebung auch die Möglichkeit, Jira weiter an die Bedürfnisse der Organisation anzupassen, sowohl im Kontext der agilen als auch der umfassenderen Produktentwicklung. Dies wird durch die Möglichkeit realisiert, andere Systeme zu installieren, die sich in Jira integrieren lassen, sowie Ergänzungen zu Jira selbst vom Atlassian Marketplace (wir empfehlen unsere Apps). Einige der interessanteren Optionen werden im Folgenden beschrieben.

Bitbucket – ein Tool, das auf Git basiert, einem Code Repository, das in Jira integriert ist. Es erleichtert die Zusammenarbeit beim Code, eine effektivere Erstellung, Erprobung und Bereitstellung (Freigabe).

BigPicture ein Add-on, das Jira Funktionalitäten für das Projektportfoliomanagement, Projektmanagement in Kaskadenmethodiken sowie fortgeschrittenere Planung für agile Methodiken entwickelt. Im Zusammenhang mit diesem Artikel ist das letzte Element besonders interessant. BigPicture ergänzt Jira um Module, die eine Arbeitsplanung nach SAFe (Scaled Agile Framework) ermöglichen. Auf den Punkt gebracht – vom Planungsstandpunkt aus gesehen – bedeutet dies, dass wir nicht nur Sprints planen können, sondern auch Program Increment (PI), das aus mehreren Sprints auf einer weniger detaillierten Ebene bestehen kann. Zusätzlich können geplante Aufgaben einem bestimmten Team auf der Grundlage der Verfügbarkeit von Ressourcen in einem bestimmten Sprint oder PI zugewiesen werden. Darüber hinaus ist es möglich, Aufgaben auf der Grundlage einer Reihe von Fähigkeiten zu planen und zuzuweisen, die zu ihrer Erledigung erforderlich sind.

Agile Project Management, Agile in Jira, Transition Technologies PSC, Atlassian Platinum Solution Partne

Agile(nicht) immer im Preis?

Dank klar definierter Regeln und Tools wie Jira Software hat sich die agile Methodik in der Wirtschaft etabliert und wird zunehmend zur Durchführung komplexer Projekte unterschiedlicher Art eingesetzt.  Heutzutage verwenden selbst die größten und schwersten Organisationen agile Methoden, wobei sie diese oft modifizieren und an ihre Bedürfnisse und ihre spezifische Arbeit anpassen. Ist agile besser als andere Arten der Projekt Management? Nicht immer und nicht für jeden.

Teams, die agil arbeiten, sind oft unzufrieden mit der Form ihrer Arbeit, daher wäre es falsch, Loblieder auf agile zu schreiben, wenn man weiß, dass diese Methodik Mängel aufweist. Im Folgenden sind die wichtigsten Vorteile und Probleme, die für agile Teams spezifisch sind – ich möchte betonen, dass sie sich auf das Arbeiten nach dem Scrum Framework beziehen (die Vielzahl der Formen, die agile Teams annehmen können, einschließlich hybrider Ansätze, die agile Teams mit Waterfall kombinieren, können als Material für separate Artikel dienen; es gibt so viele und so unterschiedliche).

Wenn man sich die Beliebtheit agiler Methoden ansieht, kann man in den Glauben verfallen, dass sie der bestmögliche Arbeitsansatz sind. Versuchen wir jedoch zusammenzufassen, was ihre Vor- und Nachteile sind.

Vorteile der Durchführung von Projekten mit agiler Methodik:

Schließung der Lücke zwischen Geschäfts- und IT-Teams

Eine der größten Veränderungen, die durch agile Methoden erzwungen werden, ist das Aufbrechen von „Silos“ in Organisationen. Die Unterteilungen in Business, IT etc. verlieren an Bedeutung. Stattdessen werden selbstorganisierende Teams gebildet, die sich auf die Produktentwicklung konzentrieren. Dieser Ansatz erleichtert die Planung der Projektentwicklung, ermöglicht eine stärkere Spezialisierung im Kontext des entwickelten Produkts und erleichtert die Kommunikation.

Fokus auf Kommunikation

Ein Element, das bereits im vorigen Punkt erwähnt wurde, aber wichtig genug ist, um es zu unterscheiden und zu entwickeln. Agile Methodologien setzen auf „Kommunikation über Dokumentation“. Dies bedeutet nicht, dass die Dokumentation des Produkts aufgegeben werden kann, aber der Schwerpunkt liegt darauf, Bedürfnisse und Anforderungen zu verstehen und sich ihnen gründlich zu nähern (anstatt ohne nachzudenken von Punkt zu Punkt zu gehen). Dadurch können Probleme schneller erkannt werden, bevor sie schwierig zu lösen sind. Darüber hinaus ermöglicht die Häufigkeit der Sprints, nach denen die gelieferte Lösung präsentiert und diskutiert wird, dem Team ein schnelleres Feedback, was das Risiko kritischer Probleme weiter verringert.

Kontinuierliche Verbesserung

SCRUM verfügt über eingebaute Mechanismen, um Schlussfolgerungen aus abgeschlossenen Sprints zu ziehen und Änderungen zur Verbesserung der Arbeitseffizienz umzusetzen (Retrospektive). Vergleicht man dies mit vielen Kaskadenansätzen, bei denen „Lessons Learned“ erst am Ende des Projekts (wenn überhaupt) geschaffen und dann ohnehin auf Eis gelegt werden, anstatt in anderen Projekten verwendet zu werden, so erhöht dies die Arbeitseffizienz erheblich.

Flexibilität

Die Planung in SCRUM erfolgt von Sprint zu Sprint. Natürlich hat der Product Owner eine langfristige Vision für die Produktentwicklung, aber die Entscheidung darüber, welche Aufgaben weiterhin ausgeführt werden, wird beim nächsten Sprint auf der Grundlage der durchgeführten Aktionen und der daraus gezogenen Lehren getroffen. Das bedeutet, dass ein Sprint die „Richtung“ der Entwicklung ändern kann. Vergleicht man dies mit Kaskadenmethoden, bei denen viele Änderungen eine Neuplanung der weiteren Arbeit (und oft auch eine Reihe von Abnahmen…) erfordern, wird deutlich, dass SCRUM es ermöglicht, schneller auf Veränderungen zu reagieren.

Engagement
Im SCRUM Team gibt es keinen Teammanager, der für die gelieferte Funktionalität verantwortlich ist – das ganze Team ist verantwortlich. Dies ermöglicht eine stärkere Einbeziehung der Teammitglieder, da sie nicht nur die Vollstrecker des Willens „die über ihnen“ sind, sondern Menschen, die einen wirklichen Einfluss auf Entscheidungen und die Anwendung der Lösung haben und für deren Folgen verantwortlich sind.

Klärung von Sitzungen

SCRUM begrenzt die Anzahl der Treffen der Teammitglieder auf eine genau definierte Liste. Darüber hinaus werden für jedes Treffen zeitliche Beschränkungen auferlegt. Dank dieser Tatsache verschwenden die Spezialisten keine Zeit mit Sitzungen, aus denen sie nichts mitnehmen können oder die „eine E-Mail sein sollten“. Die von SCRUM vorgeschriebene Wiederholung von Sitzungen ermöglicht eine bessere Zeitplanung für die Teammitglieder.

Nachteile der agilen Methodik:

Nicht an bestimmte Arten von Projekten angepasst

Viele agile Propagatoren mögen dem nicht zustimmen, aber SCRUM ist nicht immer eine gute Wahl. Es gibt eine Reihe von Faktoren, die die Diskrepanz zwischen SCRUM und dem Projekt bestimmen können:

  • Projekte mit streng definierten Anforderungen und Fertigstellungstermin. Beispiele hierfür sind Projekte, die sich auf die Umsetzung gesetzlicher Anforderungen beziehen – sowohl der Umfang als auch die „Frist“ wird von der Regulierungsbehörde streng definiert. SCRUM funktioniert hier nicht, weil wir zunächst einmal einen der großen Vorteile verlieren – Flexibilität und die Möglichkeit, die „Richtung“ der Produktentwicklung zu ändern (der Umfang ist vorgegeben). Zweitens – da wir den Umfang und das Datum der Fertigstellung haben, müssen wir bestimmen, welche Ressourcen für den Abschluss des Projekts erforderlich sind. Dies erfordert eine Planung von Beginn der gesamten Arbeit an (zumindest auf hohem Niveau), denn die Planung von Sprint zu Sprint stellt nicht sicher, dass wir das Projekt wie erforderlich abschließen. Natürlich ist es möglich, zunächst das Ganze zu analysieren und daraus Teams zu bilden und die Anzahl der Sprints zu bestimmen, aber das ist nicht mehr reines SCRUM.
  • Die Entwicklung eines Produkts, das viele Abhängigkeiten von „nicht agilen“ Produkten oder Teilen einer Organisation aufweist. Die Arbeit in Teams, die auf die Release (die z.B. alle 3 Monate stattfindet) in einer anderen Applikation warten müssen, um viele Aufgaben zu erledigen, ähnelt in beunruhigender Weise der Arbeit in der Kaskadenmethodik. In solchen Situationen verliert SCRUM viele seiner Vorteile, und es ist oft eine frustrierende Erfahrung für die Teammitglieder.

Variabilität der Teams

Damit das SCRUM-Team effizient arbeiten kann, ist seine relative Stabilität wichtig. Dies ist darauf zurückzuführen, dass sich die Mitglieder des Teams, die schon lange dabei sind, daran erinnern, mit welchen Problemen das Team zu kämpfen hatte und welche Maßnahmen zur Lösung dieser Probleme ergriffen wurden. Bei häufigem Wechsel der Teammitglieder verschwindet dieses Wissen mit der Zeit, und die bereits angesprochenen Probleme tauchen wieder auf. Darüber hinaus hat jede Veränderung im Team Auswirkungen auf die „Geschwindigkeit“ des Teams, was die Planung erschwert.

Unzusammenhängende Teammitglieder

Genauso wie die Zunahme von Verantwortung und Engagement als einer der Vorteile genannt wird – für einige Persönlichkeitstypen wird dies ein Nachteil sein. Damit ein Scrum Team effektiv arbeiten kann, müssen alle seine Mitglieder einbezogen werden. Es kann jedoch schwierig sein, solche Personen zu finden, da dies ein Merkmal ist, das z.B. bei einem Vorstellungsgespräch nicht leicht zu überprüfen ist. Natürlich kann man dasselbe über die Beteiligung an Kaskadenmethoden sagen, aber in diesem Fall erleichtert die „Befehlskette“ und die Art und Weise der Aufgabenzuweisung die Identifizierung des Problems, bestimmt, wer es lösen soll, und gibt ihm die Instrumente dazu.

Aus der obigen Beschreibung kann man schließen, dass Agile mehr Vor- als Nachteile hat. Es ist jedoch wichtig, sich daran zu erinnern, dass man immer den breiteren Kontext, die Einschränkungen und Abhängigkeiten, die in der Organisation bestehen, im Auge behalten muss (einschließlich der Meinungen und Haltungen der Teammitglieder – ein Thema, das oft auf makabere Weise behandelt wird). Die oben genannten Nachteile und Einschränkungen können trotz ihrer geringen Anzahl „tödlich“ sein, wenn man agile Methoden blind vorantreibt.

 Wenn Sie mehr über die Durchführung agiler Projekte im Zusammenhang mit Jira Software und anderen Atlassian Tools erfahren möchten, kontaktieren Sie uns bitte!

 

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Hinterlasse einen Kommentar (0 kommentare)

Schreiben Sie eine Bewertung…
Im Falle eines Verstoßes gegen das Reglement wird Ihr Eintrag gelöscht
Ihr Vor- und Nachname

    © Copyright PSC 2020. All right reserved