Adaptive Softwareentwicklung - Lebenszyklus

Die adaptive Softwareentwicklung hat sich aus den RAD-Praktiken entwickelt. Die Teamaspekte wurden ebenfalls zu diesen Praktiken hinzugefügt. Unternehmen von Neuseeland bis Kanada haben für eine Vielzahl von Projekt- und Produkttypen die adaptive Softwareentwicklung eingesetzt.

Jim Highsmith veröffentlichte Adaptive Software Development im Jahr 2000.

Adaptive Softwareentwicklungspraktiken bieten die Möglichkeit, Änderungen Rechnung zu tragen, und sind in turbulenten Umgebungen mit Produkten anpassbar, die sich mit wenig Planung und Lernen weiterentwickeln.

Phasen des ASD-Lebenszyklus

Die adaptive Softwareentwicklung ist wie das Evolutionsmodell zyklisch, wobei die Phasennamen die Unvorhersehbarkeit in den komplexen Systemen widerspiegeln. Die Phasen im adaptiven Entwicklungslebenszyklus sind -

  • Speculate
  • Collaborate
  • Learn

Diese drei Phasen spiegeln die Dynamik der adaptiven Softwareentwicklung wider. Die adaptive Entwicklung ersetzt explizit den Determinismus durch die Entstehung. Es geht über eine bloße Änderung des Lebenszyklus hinaus zu einer tieferen Änderung des Führungsstils. Die adaptive Softwareentwicklung hat einen dynamischen Speculate-Collaborate-Learn-Lebenszyklus.

Der Adaptive Software Development Lifecycle konzentriert sich auf Ergebnisse und nicht auf Aufgaben. Die Ergebnisse werden als Anwendungsfunktionen identifiziert.

Spekulieren

Der Begriff Plan ist zu deterministisch und weist auf ein hinreichend hohes Maß an Sicherheit hinsichtlich des gewünschten Ergebnisses hin. Das implizite und explizite Ziel der Konformität mit dem Plan schränkt die Fähigkeit des Managers ein, das Projekt in innovative Richtungen zu lenken.

In der adaptiven Softwareentwicklung wird der Begriff Plan durch den Begriff Spekulieren ersetzt. Während des Spekulierens gibt das Team die Planung nicht auf, erkennt jedoch die Realität der Unsicherheit bei komplexen Problemen an. Spekulieren fördert das Erforschen und Experimentieren. Iterationen mit kurzen Zyklen werden empfohlen.

Zusammenarbeiten

Komplexe Anwendungen werden nicht erstellt, sondern weiterentwickelt. Komplexe Anwendungen erfordern, dass eine große Menge an Informationen gesammelt, analysiert und auf das Problem angewendet wird. Turbulente Umgebungen weisen einen hohen Informationsfluss auf. Komplexe Anwendungen erfordern daher, dass ein großes Informationsvolumen gesammelt, analysiert und auf das Problem angewendet wird. Dies führt zu unterschiedlichen Wissensanforderungen, die nur durch Teamzusammenarbeit bewältigt werden können.

Eine Zusammenarbeit würde die Fähigkeit erfordern, gemeinsam zu arbeiten, um Ergebnisse zu erzielen, Wissen auszutauschen oder Entscheidungen zu treffen.

Im Kontext des Projektmanagements stellt Collaboration ein Gleichgewicht zwischen der Verwaltung mit traditionellen Managementtechniken und der Schaffung und Pflege der für die Entstehung erforderlichen kollaborativen Umgebung dar.

Lernen

Der Learn-Teil des Lebenszyklus ist entscheidend für den Erfolg des Projekts. Das Team muss sein Wissen ständig erweitern und dabei Praktiken anwenden wie:

  • Technische Bewertungen
  • Projektrückblicke
  • Kundenfokusgruppen

Überprüfungen sollten nach jeder Iteration durchgeführt werden. Sowohl die Entwickler als auch die Kunden überprüfen ihre Annahmen und verwenden die Ergebnisse jedes Entwicklungszyklus, um die Richtung des nächsten zu erfahren. Das Team lernt -

  • Über Produktänderungen

  • Grundlegendere Änderungen der zugrunde liegenden Annahmen darüber, wie die Produkte entwickelt werden

Die Iterationen müssen kurz sein, damit das Team aus kleinen und nicht aus großen Fehlern lernen kann.

Spekulieren - Zusammenarbeiten - Lernzyklus als Ganzes

Wie Sie aus dem oben angegebenen Zyklus Spekulieren-Zusammenarbeiten-Lernen beobachten, ist es offensichtlich, dass die drei Phasen nichtlinear sind und sich überlappen.

Wir beobachten Folgendes aus einem adaptiven Rahmen.

  • Es ist schwierig, ohne Lernen zusammenzuarbeiten oder ohne Zusammenarbeit zu lernen.

  • Es ist schwierig zu spekulieren ohne zu lernen oder zu lernen ohne zu spekulieren.

  • Es ist schwierig, ohne Zusammenarbeit zu spekulieren oder ohne Spekulation zusammenzuarbeiten.