Unterschied zwischen agiler und traditioneller Softwareentwicklungsmethodik

Unterschied zwischen agiler und traditioneller Softwareentwicklungsmethodik
Unterschied zwischen agiler und traditioneller Softwareentwicklungsmethodik

Video: Unterschied zwischen agiler und traditioneller Softwareentwicklungsmethodik

Video: Unterschied zwischen agiler und traditioneller Softwareentwicklungsmethodik
Video: Wie funktioniert Vererbung?! - Chromosomensätze, Körperzellen & Keimzellen des Menschen | Genetik 2024, September
Anonim

Agile vs. traditionelle Softwareentwicklungsmethodik

Es gibt eine Reihe verschiedener Softwareentwicklungsmethoden, die heute in der Softwareindustrie verwendet werden. Die Wasserfallentwicklungsmethode ist eine der frühesten Softwareentwicklungsmethoden. V-Modell, RUP und einige andere lineare, iterative und kombinierte linear-iterative Methoden, die nach der Wasserfallmethode kamen, sollten viele Probleme der Wasserfallmethode auslöschen. Alle diese früheren Methoden werden als traditionelle Softwareentwicklungsmethoden bezeichnet. Das agile Modell ist ein neueres Softwareentwicklungsmodell, das eingeführt wurde, um die Mängel der traditionellen Modelle zu beheben. Das Hauptaugenmerk von Agile liegt darauf, Tests so früh wie möglich einzubeziehen und eine funktionierende Version des Produkts sehr früh freizugeben, indem das System in sehr kleine und überschaubare Unterteile zerlegt wird.

Was ist traditionelle Softwareentwicklungsmethodik?

Softwaremethoden wie Wasserfallmethode, V-Modell und RUP werden als traditionelle Softwareentwicklungsmethoden bezeichnet. Die Wasserfallmethode ist eines der frühesten Softwareentwicklungsmodelle. Wie der Name schon sagt, handelt es sich um einen sequentiellen Prozess, bei dem der Fortschritt analog zu einem Wasserfall mehrere Phasen (Anforderungsanalyse, Design, Entwicklung, Test und Implementierung) von oben nach unten durchläuft. Das V-Modell wird als Erweiterung des Wasserfall-Softwareentwicklungsmodells betrachtet. Das V-Modell verwendet dieselben Beziehungen zwischen Phasen, die im Wasserfallmodell definiert sind. Aber anstatt linear abzusteigen (wie das Wasserfallmodell), geht das V-Modell diagonal nach unten und bewegt sich dann (nach der Codierungsphase) wieder nach oben, wodurch die Form des Buchstabens V entsteht. RUP (Rational Unified Process) ist ein anpassbares Prozess-Framework (kein einzelner konkreter Prozess), das von der Entwicklungsorganisation an ihre Bedürfnisse angepasst werden kann. Etwas ähnlich dem Wasserfall, hat es feste Phasen wie Beginn, Ausarbeitung, Konstruktion und Übergang. Aber anders als Wasserfall ist RUP ein iterativer Prozess.

Was ist agil?

Agile ist eine sehr neue Softwareentwicklungsmethodik (oder genauer gesagt eine Gruppe von Methoden), die auf dem agilen Manifest basiert. Dies wurde entwickelt, um einige Mängel in traditionellen Softwareentwicklungsmethoden zu beheben. Agile Methoden basieren darauf, der Kundenbeteiligung früh im Entwicklungszyklus hohe Priorität einzuräumen. Es empfiehlt, die Prüfung durch den Kunden so früh und so oft wie möglich einzubeziehen. Die Tests werden an jedem Punkt durchgeführt, an dem eine stabile Version verfügbar ist. Die Grundlage von Agile basiert darauf, mit dem Testen von Beginn des Projekts an zu beginnen und bis zum Ende des Projekts fortzufahren. Scrum und Extreme Programming sind zwei der beliebtesten Varianten agiler Methoden.

Schlüsselwert von Agile ist „Qualität liegt in der Verantwortung des Teams“, was betont, dass die Qualität der Software in der Verantwortung des gesamten Teams liegt (nicht nur des Testteams). Ein weiterer wichtiger Aspekt von Agile besteht darin, die Software in kleinere, überschaubare Teile zu zerlegen und diese sehr schnell an den Kunden zu liefern. Die Lieferung eines funktionierenden Produkts ist von größter Bedeutung. Dann verbessert das Team die Software weiter und liefert kontinuierlich bei jedem wichtigen Schritt. Dies wird durch sehr kurze Release-Zyklen (in Scrum Sprints genannt) und das Einholen von Feedback zur Verbesserung am Ende jedes Zyklus erreicht. Mitwirkende ohne viel Interaktion des Teams wie Entwickler und Tester in den früheren Methoden arbeiten jetzt innerhalb des agilen Modells zusammen.

Was ist der Unterschied zwischen agiler und traditioneller Softwareentwicklungsmethodik?

Obwohl die agile Methode wie einige der traditionellen Ansätze auf iterativer Entwicklung basiert, weisen agile und traditionelle Methoden wesentliche Unterschiede auf. Traditionelle Ansätze verwenden die Planung als Kontrollmechanismus, während agile Modelle das Feedback der Benutzer als Hauptkontrollmechanismus verwenden. Agile kann als menschenzentrierter Ansatz bezeichnet werden als herkömmliche Methoden. Das agile Modell liefert im Vergleich zu herkömmlichen Methoden sehr früh eine funktionierende Version des Produkts, sodass der Kunde einige der Vorteile frühzeitig erkennen kann. Die Testzykluszeit von Agile ist im Vergleich zu herkömmlichen Methoden relativ kurz, da das Testen parallel zur Entwicklung erfolgt. Die meisten traditionellen Modelle sind sehr starr und relativ weniger flexibel als das agile Modell. Aufgrund all dieser Vorteile wird Agile derzeit den traditionellen Methoden vorgezogen.

Empfohlen: