Einführung in Agile und Scrum

Agile ist eine Softwareentwicklungsmethode, die im Gegensatz zum herkömmlichen Projektmanagement die Bandbreite hat, um sich schnell an sich ändernde Projektanforderungen anzupassen und sich an die Entwicklung eines neuen Produkts anzupassen, während das Projekt läuft oder nachdem das Projekt abgeschlossen ist.

Lassen Sie uns den entscheidenden Vorteil verstehen, den Agile gegenüber herkömmlichen Projektmanagementmethoden hat:

Traditioneller Ansatz:

  • Detaillierte Planung vor dem Start
  • Ermöglicht minimale Änderungen
  • Feste Projektdefinition

Agiler Ansatz:

  • Minimale Planung vor dem Start ist erforderlich
  • Akzeptiert Änderungen und passt sich diesen an
  • Feste Zeit und Kosten

Scrum ist der am weitesten verbreitete und beliebteste Ansatz zur Implementierung einer agilen Methodik.

Wir werden gleich zum Scrum-Bereich kommen, aber lassen Sie uns zuerst mehr über das agile Framework erfahren.

Prinzipien hinter agilem Manifest

  1. Kundenzufriedenheit hat oberste Priorität, die durch kontinuierliche und frühzeitige Lieferung wertvoller Software erreicht wird.
  2. Bereitstellung einer funktionierenden Software in kurzer Zeit mit kontinuierlicher Entwicklung neuer Software / Produkte in der Produktlinie nach dem gleichen Ansatz.
  3. Wir sollten in der Lage sein, den sich ändernden Anforderungen gerecht zu werden, auch wenn es im Laufe des SDLC-Lebenszyklus spät wird.
  4. Die Teammitglieder sollten immer motiviert bleiben und dafür sollte genügend Unterstützung und ein gutes Umfeld geboten werden.
  5. Die Entwickler und Geschäftsleute müssen während des gesamten Projekts täglich zusammenarbeiten.
  6. Die effizienteste Art des Gesprächs ist die persönliche Interaktion.
  7. Nachhaltige Entwicklung. Alle Teammitglieder sollten in der Lage sein, ein konstantes Tempo beizubehalten.
  8. Ein funktionierendes Produkt / eine funktionierende Software wird als Hauptmaß für den Fortschritt angesehen.
  9. Letztendlich sollte das Hauptaugenmerk auf technischer Exzellenz und robustem Design liegen.
  10. Die Einfachheit sollte während des gesamten SDLC-Prozesses beachtet werden
  11. Die Teams sollten sich tatsächlich mit kontinuierlicher Effektivität auseinandersetzen und Änderungen vornehmen, um die Effektivität zu erhöhen.
  12. Robustes Design und Architektur stammen von sich selbst organisierenden Teams.

Ansätze zur agilen Implementierung:

Link: https://goo.gl/images/fkZqGe

  1. SCRUM - Dies ist ein iterativer Ansatz, bei dem es sogenannte Sprints gibt, die bis zu ein oder zwei Wochen dauern. Dieser Ansatz ermöglicht es Teams, das funktionierende Produkt oder die Software regelmäßig bereitzustellen.
  2. Kanban - Um Agilität zu implementieren, verwendet dieser Ansatz ein visuelles Framework. Hier gibt es keine Sprints mit fester Länge und das Team erhält die Aufgabe aus einem priorisierten Rückstand.
  3. Extreme Programming (XP) - Dieser Ansatz soll die Qualität und Reaktionsfähigkeit der Software verbessern, indem Einfachheit, Rückmeldungen und Änderungen berücksichtigt werden.
  4. Feature Driven Development (FDD) - Dieser Ansatz umfasst fünf grundlegende Aktivitäten: - Entwickeln eines Gesamtmodells, Erstellen einer Featureliste, Planen nach Features, Entwerfen nach Features und Erstellen nach Features.
  5. Adaptive System Development (ASD) - Dieser Ansatz kann zum Erstellen komplexer Software und Systeme verwendet werden und konzentriert sich hauptsächlich auf Teamzusammenarbeit und Selbstorganisation. Es umfasst drei iterative Aktivitäten: Spekulieren, Zusammenarbeiten und Lernen.
  6. Dynamische Systementwicklungsmethode - DSDM ist ein agiler Ansatz, der einem iterativen und inkrementellen Ansatz folgt, der weitgehend auf der Rapid Application Development Methodology basiert. Es geht auf die häufigen Misserfolge von Projekten ein, wie z. B. Budgetprobleme, fehlende Fristen usw.
  7. Lean Software Development - Lean Software Development ist ein agiler Ansatz mit sieben Grundprinzipien: Verschwendung vermeiden, das Team stärken, schnell liefern, das Ganze optimieren, Qualität einbauen, Entscheidungen aufschieben und Lernergebnisse verbessern.

Was ist Scrum?

In den vorangegangenen Abschnitten haben wir bereits die Ansätze zur Implementierung des Agile-Prozesses gesehen, und Scrum war einer davon. Scrum ist eine der wichtigsten und am weitesten verbreiteten Agile-Methoden. Ein Scrum ist ein iterativer Ansatz, bei dem es Sprints gibt, die bis zu ein oder zwei Wochen dauern. Dieser Ansatz ermöglicht es Teams, das funktionierende Produkt oder die Software regelmäßig bereitzustellen. Hier werden die Verantwortlichkeiten, Rollen und Besprechungen in Scrum festgelegt und Sprints sind Zeitpläne, in denen Sprint-Planung, Sprint-Demo, tägliches Aufstehen und Sprint-Retrospektive stattfinden.

Scrum-Rollen / Scrum-Teams:

Link: https://goo.gl/images/XpNHBe

  1. Scrum Master - Der Scrum Master ist eine Rolle, die dafür verantwortlich ist, dass das Scrum-Team die Scrum-Methodik befolgt. Der Scrum Master organisiert Meetings, ermutigt das Team, erleichtert die Planung und Nachverfolgung, kümmert sich um Herausforderungen und beseitigt Engpässe. Der Scrum Master kommuniziert auch mit dem Product Owner, um sicherzustellen, dass der Product Backlog für den nächsten Sprint bereit ist.
  2. Product Owner - Der Product Owner ist für die Analyse und Kommunikation der Softwareversion an das Scrum-Team verantwortlich. Der Product Owner stimmt sich auch mit dem Scrum Master ab, um über Produktrückstände für die Sprints zu entscheiden.
  3. Entwicklungsteam - Das Entwicklungsteam besteht aus den Fachleuten, die für die kontinuierliche Entwicklung, Prüfung und Lieferung der Software verantwortlich sind. Sie bestimmen, wie Stücke von Werken in regelmäßigen Abständen geliefert werden sollen.

Schritte im Scrum Flow:

Link: https://goo.gl/images/6YTUPf

  1. Product Backlog - Das Product Backlog enthält die Liste der Produktfunktionen. Es liegt in der Verantwortung des Product Owners und des Scrum Masters, die Backlog-Elemente anhand von User Stories und Anforderungen zu priorisieren.
  2. Sprint-Planung - Diese Besprechung wird vom Scrum-Master organisiert, bei der der Product Owner die Details des Product Backlogs vorstellt, die Kriterien für die Annahme der Lieferung festlegt und das Entwicklungsteam die Arbeit und den Aufwand festlegt, die sie täglich leisten.
  3. Backlog-Verfeinerung - Um den Produkt-Backlog auf dem neuesten Stand zu halten, verwenden wir die Backlog-Verfeinerung. Hier werden die User Stories in kleinere Teile aufgeteilt und irrelevante User Stories entfernt
  4. Tägliches Scrum - Es ist ein tägliches 15-minütiges Stand-up-Meeting, bei dem im Wesentlichen drei Fragen besprochen werden: Was wurde gestern erreicht, was ist der Plan für heute und was sind die Hindernisse.
  5. Sprint Review Meeting - Dieses Meeting wird am Ende jedes Sprints abgehalten, wobei eine Live-Demonstration präsentiert wird, um zu demonstrieren, was während des gesamten Sprints erreicht wurde.
  6. Sprint Retrospective Meeting - Wir können dieses Meeting auch als Erfolgstreffen bezeichnen, bei dem das Team den Prozess bespricht, der während des Sprints funktioniert hat oder der nicht funktioniert hat.

Fazit

In diesem Artikel haben wir gesehen, dass Agile eine Softwareentwicklungsmethode ist, die die Bandbreite hat, um sich schnell an sich ändernde Projektanforderungen anzupassen und sich an die Entwicklung neuer Produkte anzupassen, während das Projekt läuft oder nachdem das Projekt abgeschlossen ist, im Gegensatz zu herkömmlichem Projektmanagement, während Scrum läuft Der am weitesten verbreitete und beliebteste Ansatz zur Implementierung einer agilen Methodik.

Empfohlene Artikel

Dies war ein Leitfaden für What is Agile and Scrum. Hier haben wir die verschiedenen Ansätze von Agile und Scrum diskutiert. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Was ist künstliche Intelligenz?
  2. Fragen in Vorstellungsgesprächen bei Agile Scrum
  3. Was ist SDLC?
  4. Agile vs Scrum vs Wasserfall