Agile vs traditionelle Softwareentwicklungsmethodik
In der Softwarebranche werden heute in der Softwarebranche verschiedene Softwareentwicklungsmethoden verwendet. Die Wasserfallentwicklungsmethode ist eine der frühesten Methoden zur Softwareentwicklung. V-Model, RUP und wenige andere lineare, iterative und kombinierte linear-i-iterative Methoden, die nach der Wasserfallmethode entstanden sind, um viele Probleme der Wasserfallmethode auszulöschen. Alle diese früheren Methoden werden als traditionelle Softwareentwicklungsmethoden bezeichnet. Das Agile -Modell ist ein neueres Softwareentwicklungsmodell, das vorgestellt wurde, um die in den traditionellen Modellen gefundenen Mängel zu beheben. Das Hauptaugenmerk von Agile liegt so früh wie möglich auf die Tests und die Veröffentlichung einer Arbeitsversion des Produkts sehr früh, indem das System in sehr kleine und überschaubare Unterteile abgebrochen wird.
Was ist die traditionelle Softwareentwicklungsmethodik?
Softwaremethoden wie Wasserfallmethode, V-Model und RUP werden als traditionelle Softwareentwicklungsmethoden bezeichnet. Die Wasserfallmethode ist eines der frühesten Modelle für Softwareentwicklungen. Wie der Name schon sagt, handelt es sich um einen sequentiellen Prozess, bei dem der Fortschritt durch mehrere Phasen (Anforderungenanalyse, Design, Entwicklung, Test und Implementierung) von oben nach unten fließt, analog zu einem Wasserfall. V-Model wird als Erweiterung des Wasserfall-Softwareentwicklungsmodells angesehen. V-Model verwendet die gleichen Beziehungen zwischen im Wasserfallmodell definierten Phasen. Aber anstatt linear abzusteigen (wie das Wasserfallmodell), tritt V-Model diagonal ab und bewegt sich dann zurück (nach der Codierungsphase) und bildet die Form des Buchstabens V. RUP (Rational Unified Process) ist ein anpassungsfähiger Prozessrahmen (kein einzelner konkreter Prozess), der von der Entwicklungsorganisation nach ihren Bedürfnissen angepasst werden kann. Etwas ähnlich wie bei Wasserfall, hat es Phasen als Beginn, Ausarbeitung, Konstruktion und Übergang festgelegt. Aber im Gegensatz zu Wasserfall ist Rup ein iterativer Prozess.
Was ist agil?
Agile ist eine sehr neuere Softwareentwicklungsmethodik (oder eine Gruppe von Methoden) basierend auf dem Agile Manifesto. Dies wurde entwickelt, um einige Mangel an traditionellen Softwareentwicklungsmethoden zu lösen. Agile Methoden basieren darauf, der Kundenbeteiligung zu Beginn des Entwicklungszyklus hohe Priorität zu geben. Es wird empfohlen, früh und oft wie möglich Tests durch den Kunden einzubeziehen. Die Prüfung erfolgt an jedem Punkt, wenn eine stabile Version verfügbar ist. Die Grundlage von Agile basiert auf dem Start von Tests ab Beginn des Projekts und wird überall bis zum Ende des Projekts fortgesetzt. Scrum und extreme Programmierung sind zwei der beliebtesten Variationen agiler Methoden.
Der Hauptwert von Agile ist „Qualität ist die Verantwortung des Teams“, wodurch die Qualität der Software in der Verantwortung des gesamten Teams liegt (nicht nur des Testteams). Ein weiterer wichtiger Aspekt von Agile ist es. Die Bereitstellung eines Arbeitsprodukts ist von größter Bedeutung. Dann verbessert das Team die Software weiter und liefert bei jedem Hauptschritt kontinuierlich. Dies wird durch sehr kurze Freisetzungszyklen (als Sprints in Scrum bezeichnet) und Feedback zur Verbesserung am Ende jedes Zyklus erhalten. Mitwirkende ohne viel Interaktionen des Teams wie Entwicklern 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 auf der iterativen Entwicklung als einige der traditionellen Ansätze basiert, weisen agile und traditionelle Methoden wichtige Unterschiede auf. Traditionelle Ansätze verwenden die Planung als Kontrollmechanismus, während agile Modelle das Feedback der Benutzer als Hauptsteuerungsmechanismus verwenden. Agile kann als peoperzentrierter Ansatz bezeichnet werden als herkömmliche Methoden. Das Agile -Modell liefert eine funktionierende Version des Produkts sehr früh im Vergleich zu herkömmlichen Methoden, damit der Kunde einige der Vorteile frühzeitig nutzen kann. Die Testzykluszeit von Agile ist im Vergleich zu herkömmlichen Methoden relativ kurz, da die Tests parallel zur Entwicklung durchgeführt werden. Die meisten herkömmlichen Modelle sind sehr starr und relativ weniger flexibel als das agile Modell. Aufgrund all dieser Vorteile wird Agile im Moment gegenüber den traditionellen Methoden bevorzugt.