Philosophie der agilen Entwicklung

Agile Entwicklung ist eine menschenzentrierte, iterative und schrittweise Entwicklungsmethode. Bei der agilen Entwicklung wird der Aufbau eines Softwareprojekts in mehrere Teilprojekte aufgeteilt, und die Ergebnisse jedes Teilprojekts wurden getestet und haben die Merkmale Integration und Betrieb.

Mit anderen Worten, ein großes Projekt wird in mehrere kleine Projekte aufgeteilt, die miteinander verbunden sind, aber auch unabhängig voneinander ausgeführt und separat abgeschlossen werden können. Während dieses Vorgangs befindet sich die Software immer in einem brauchbaren Zustand.

Klassifizierung agiler Entwicklungsmodelle

Agilität ist eine Denkweise und eine Reihe von Werten und Prinzipien. Agilität ist eine Denk- und Handlungsweise. Bei Agile dreht sich alles um kurze Zyklen, iterative und inkrementelle Bereitstellung, schnelles Scheitern, Einholen von Feedback, frühe Bereitstellung von Geschäftswert für Kunden und um Menschen, Zusammenarbeit und Interaktion. Agile ist eine Denkweise, bei der es um Transparenz, Inspektion und Anpassung geht. Agilität besteht jedoch nicht aus irgendwelchen  Rollen , Ereignissen oder  Artefakten . Es ist eine Denkweise. Zum Beispiel ist  Scrum  eines der weit verbreiteten Frameworks unter dem Dach von Agile, das Ihnen helfen kann, agiler zu werden, es gibt jedoch viele weitere Frameworks innerhalb der Agile-Bewegung, wie Kanban, XP, Crystal und viele mehr, wie in der Abbildung gezeigt unter:

  • XP Extreme Programming (eXtreme-Programmierung)
  • GEDRÄNGE
  • Kanban
  • Mager
  • Kristallmethode
  • Dynamische Systementwicklungsmethode

Unter ihnen sind XP und SCRUM die beliebtesten.

Gedränge

Scrum ist ein Framework, in dem Menschen komplexe adaptive Probleme angehen und gleichzeitig produktiv und kreativ Produkte mit dem höchstmöglichen Wert liefern können. Es wird für die Verwaltung von Softwareprojekten und die Produkt- oder Anwendungsentwicklung verwendet. Der Fokus liegt auf einer adaptiven Produktentwicklungsstrategie, bei der ein funktionsübergreifendes Team als Einheit arbeitet, um ein gemeinsames Ziel innerhalb von 2–4 Wochen zu erreichen ( Sprint ). Es besteht aus einer Sammlung von Werten, Artefakten, Rollen, Zeremonien, Regeln und Best Practices.

Scrum-Framework

Mager

Lean entstand mit dem Toyota Production System oder TPS, das die Herstellung physischer Güter in den 1950er und 60er Jahren und darüber hinaus revolutionierte. Lean behauptet sich in der Fertigung, hat aber auch neue Anwendungen in der Wissensarbeit gefunden und hilft Unternehmen in allen Branchen  , Verschwendung zu vermeiden, Prozesse zu verbessern und Innovationen voranzutreiben . Die Softwareentwicklung ist eine natürliche Anwendung der Lean-Methodik, da sie, ähnlich wie die Fertigung, im Allgemeinen einem definierten Prozess folgt, einige definierte Akzeptanzbedingungen hat und zur Lieferung eines greifbaren Werts führt. Die Schlüsselkonzepte, die die gesamte Praxis der Lean-Methodik leiten, die wir die Säulen von Lean nennen. Sie sind:

  • Ständige Verbesserung
  • Respekt vor Menschen
  • Leichte Führung

Kanban

Kanban ist eine hochgradig visuelle Workflow-Management-Methode, die bei Lean-Teams beliebt ist. Tatsächlich verwenden 83 % der Teams, die Lean praktizieren, Kanban, um die Entwicklung von Produkten zu visualisieren und aktiv zu verwalten, wobei der Schwerpunkt auf kontinuierlicher Lieferung liegt, ohne das Entwicklungsteam zu überlasten. Wie Scrum ist Kanban ein Prozess, der Teams dabei helfen soll, effektiver zusammenzuarbeiten.

Kanban basiert auf 3 Grundprinzipien:

  • Stellen Sie sich vor, was Sie heute tun werden (Arbeitsablauf): Alle Elemente im Kontext zu sehen, kann sehr informativ sein
  • Begrenzen Sie die Menge der laufenden Arbeit (WIP): Dies hilft, den flussbasierten Ansatz auszugleichen, damit Teams nicht anfangen und sich auf zu viel Arbeit auf einmal festlegen
  • Flow verbessern: Wenn etwas fertig ist, wird das Item mit der nächsthöchsten Priorität aus dem Backlog ins Spiel gebracht

Kanban fördert die kontinuierliche Zusammenarbeit und regt zum aktiven, kontinuierlichen Lernen und zur Verbesserung an, indem es den bestmöglichen Team-Workflow definiert.

Dynamische Systementwicklungsmethode (DSDM)

DSDM ist ein Framework, das aus acht Prinzipien, einem Lebenszyklus und Produkten, Rollen und Verantwortlichkeiten sowie mehreren Best-Practice-Techniken besteht. Diese untermauern und unterstützen eine Philosophie, strategisch ausgerichtete Geschäftsvorteile so früh wie möglich bereitzustellen, um einer Organisation den bestmöglichen Return on Investment (ROI) zu bieten.

DSDM ist eine Methode, die Zeitplan und Qualität über Funktionalität priorisiert, Kosten, Qualität und Zeit zu Beginn festlegt und die MoSCoW-Priorisierungsmethode verwendet, die ein Projekt in vier verschiedene Arten von Anforderungen aufteilt:

  • Muss haben (M)
  • Hätte (S)
  • Könnte © haben
  • Will nicht (W)

Es gibt acht Prinzipien, die DSDM Atern zugrunde liegen. Diese Prinzipien leiten das Team in der Haltung, die es einnehmen muss, und in der Denkweise, die es annehmen muss, um konsistente Ergebnisse zu erzielen.

  1. Konzentrieren Sie sich auf die geschäftlichen Anforderungen
  2. Pünktlich liefern
  3. Zusammenarbeiten
  4. Machen Sie keine Kompromisse bei der Qualität
  5. Bauen Sie schrittweise auf soliden Fundamenten auf
  6. Iterativ entwickeln
  7. Kommunizieren Sie kontinuierlich und klar
  8. Demonstrieren Sie Kontrolle

Extremes Programmieren

Extreme Programming  (XP), ursprünglich von Kent Beck beschrieben, hat sich zu einer der beliebtesten und umstrittensten agilen Methoden entwickelt. XP ist ein disziplinierter Ansatz zur schnellen und kontinuierlichen Bereitstellung qualitativ hochwertiger Software. Es soll die Qualität und Reaktionsfähigkeit der Software angesichts sich ändernder Kundenanforderungen verbessern. Es fördert eine hohe Kundenbeteiligung, schnelle Feedback-Schleifen, kontinuierliche Tests, kontinuierliche Planung und enge Teamarbeit, um funktionierende Software in sehr kurzen Abständen, typischerweise alle 1–3 Wochen, bereitzustellen.

Extreme Programmierung erklärt

Was sind die Schlüsselwerte agiler Methoden?

Der Begriff „Agile“ wurde 2001 im Agile Manifesto geprägt. Das Manifest soll Prinzipien aufstellen, die einen besseren Ansatz für die Softwareentwicklung leiten. Das Agile Manifest besteht aus 4 wichtigen Werten. Das agile Manifest ist nicht so zu lesen, dass die Punkte auf der rechten Seite keinen Wert mehr haben, sondern dass die agile Bewegung die Punkte auf der linken Seite mehr wertschätzt.

Es gibt vier Schlüsselwerte, die die Bausteine ​​jeder Komponente in einem agilen Ansatz sind. Sie betonen eine Schwerpunktverlagerung von Praktiken und Prozessen hin zu Menschen und Zusammenarbeit.

Diese vier Werte bilden agile Best Practices ab und konzentrieren sich auf Flexibilität, damit Teams am besten zusammenarbeiten können, um Aufgaben zu erfüllen. Agile Praktiken erhöhen die Bedeutung des Endziels während des gesamten Prozesses. Wenn Menschen gut zusammenarbeiten, sich an neue Veränderungen anpassen und produzieren können, spielt es keine so große Rolle, wie sie es tun.

12 Best Practices

Ergänzend zum Agilen Manifest hat die Agile Alliance auch eine Reihe von 12 zugrunde liegenden Prinzipien definiert, die zusätzlich zum Agilen Manifest eine Anleitung und detailliertere Erläuterungen bieten:

Agile Entwicklung – 12 Best Practices
  1. Unsere höchste Priorität ist es, den Kunden durch frühzeitige und kontinuierliche Lieferung wertvoller Software zufrieden zu stellen.
  2. Begrüßen Sie sich ändernde Anforderungen, auch spät in der Entwicklung. Agile Prozesse nutzen den Wandel zum Wettbewerbsvorteil des Kunden.
  3. Stellen Sie häufig funktionierende Software bereit, von ein paar Wochen bis zu ein paar Monaten, wobei Sie kürzere Zeiträume bevorzugen.
  4. Geschäftsleute und Entwickler müssen während des gesamten Projekts täglich zusammenarbeiten.
  5. Bauen Sie Projekte rund um motivierte Personen auf. Geben Sie ihnen das Umfeld und die Unterstützung, die sie brauchen, und vertrauen Sie darauf, dass sie ihre Arbeit erledigen.
  6. Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist das persönliche Gespräch.
  7. Funktionierende Software ist das primäre Maß für den Fortschritt.
  8. Agile Prozesse fördern eine nachhaltige Entwicklung.
  9. Die Sponsoren, Entwickler und Benutzer sollten in der Lage sein, auf unbestimmte Zeit ein konstantes Tempo beizubehalten.
  10. Kontinuierliche Aufmerksamkeit für technische Exzellenz und gutes Design steigert die Agilität.
  11. Einfachheit – die Kunst, die Menge an nicht erledigter Arbeit zu maximieren – ist entscheidend.
  12. Die besten Architekturen, Anforderungen und Designs entstehen in sich selbst organisierenden Teams. In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann, und passt dann sein Verhalten entsprechend an.

Zusammenfassung

Agile Entwicklung ist eines der großen Schlagworte der Softwareentwicklungsbranche, die eine andere Art der Verwaltung von Softwareentwicklungsprojekten darstellt. Es ist keine spezifische Softwareentwicklungsmethode, sondern ein Überbegriff für eine Reihe von Methoden und Praktiken, die auf den im Agilen Manifest ausgedrückten Werten und Prinzipien basieren. Lösungen entwickeln sich durch die Zusammenarbeit zwischen selbstorganisierenden, funktionsübergreifenden Teams, die die geeigneten Praktiken für ihren Kontext verwenden.

Agile Entwicklung lesen

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.