Kann jemand die agile Methodik in einfachen Sätzen erklären?
development-process
agile
Chankey Pathak
quelle
quelle
Antworten:
Agile ist eine Menge Dinge und Praktiken, aber ich denke, der Kern davon ist nur iterative Entwicklung.
Iterativ: Denken Sie an einen Haufen sehr kleiner Wasserfälle. Das heißt, die Wasserfallmethode (Anforderungen-> Spezifikation-> Code-> Test), aber anstatt dies im Laufe eines Jahres oder so zu tun, tun Sie dies im Laufe einiger Wochen für einen überschaubaren Teil der Gesamtmenge Projekt. Am Ende von 'Iteration / Sprint / Inkrement' steht ein kleiner, aber vollständiger und getesteter Satz zusätzlicher Funktionen zur Verfügung.
Auf diese Weise können Sie den Projektverlauf schnell ändern, wenn sich herausstellt, dass das, was Sie tun, nicht den Wünschen des Kunden entspricht oder sich die geschäftlichen Anforderungen ändern oder was auch immer. Daher der Begriff "agil".
quelle
Ich denke, nichts drückt es besser aus als das Agile Manifest selbst:
Wir entdecken bessere Wege, um
Software zu entwickeln , indem wir dies tun und anderen dabei helfen.
Durch diese Arbeit sind wir zu Wert gekommen:
Individuen und Interaktionen über Prozesse und Tools.
Arbeitssoftware über umfassende Dokumentation.
Zusammenarbeit mit Kunden über Vertragsverhandlungen.
Reaktion auf die Umstellung nach einem Plan
Das heißt, während es Wert in den Gegenständen auf
der rechten Seite gibt, schätzen wir die Gegenstände auf der linken Seite mehr.
von http://agilemanifesto.org/
quelle
Für mich ist die wichtigste Idee:
Anforderungsänderungen werden eintreten, da wir gezwungen sind, Software mit dem nötigen Wissen zu entwerfen (Beginn des Projekts). Die Anforderungen werden erst im Verlauf des Projekts klarer.
Herkömmliche (Wasserfall-) Ansätze versuchen, diese Änderung zu mildern, indem sie zu Beginn des Projekts alle an einen Vertrag binden, indem sie umfassende Spezifikationen unterzeichnen. Dies mag als CYA funktionieren, aber es macht niemanden glücklich, etwas zu liefern, das nicht den Bedürfnissen der Benutzer entspricht, insbesondere wenn ihre Einwände mit "Nun, Sie haben sich abgemeldet!"
Agile Methoden sind so konzipiert, dass sie die unvermeidlichen Veränderungen berücksichtigen, anstatt das Entwicklungsteam von ihnen abzuschirmen. Dies geschieht auf verschiedene Weise, insbesondere durch die iterative Entwicklung und die kontinuierliche Einbeziehung der Beteiligten in den Prozess. Meiner Erfahrung nach sind alle Beteiligten am Ende zufriedener, obwohl es für einige Managementtypen, die Hardcore-Planer sind, unangenehmer sein kann.
quelle
In einem Satz sieht das so aus:
Dies kommt aus der Wikipedia-Definition, und ich mag es sehr. Ich habe die Grundprinzipien hervorgehoben.
quelle
Ich möchte nur noch hinzufügen, was Agile NICHT ist. Es gibt viele Läden, die behaupten, agil zu sein, aber auf eine Weise, die nur bedeutet, dass sie nicht an der Planung ihrer Projekte interessiert sind und erwarten, dass die Dinge in einer unangemessen kurzen Zeit erledigt werden.
Agile! = Kein Projektplan. Es ist schwierig, mit Menschen umzugehen, die implizit der Meinung sind, dass die Aussage falsch ist, weil sie in der Regel Managementtypen sind und nicht immer leicht zu widersprechen sind.
quelle
Andy hat bereits auf das Agile Manifest verwiesen, über das ich gerade nachdenke.
Ich halte es für nützlich, auch zu prüfen, woher das Agile Manifest stammt. Es gab eine Reihe von Methoden, die einige gemeinsame Elemente und viele ähnliche Motivationen aufwiesen: Extreme Programming (XP), Scrum, DSDM, Adaptive Software-Entwicklung, Crystal, Feature-Driven Development, Pragmatic Programming (Liste von Alistair Cockburn ). Die Leute, die diese Methoden vorschlugen, beschlossen, einen Marketingbegriff auszuarbeiten, der die Gemeinsamkeiten abdeckte, um die Aussagekraft zu verbessern.
Interessanterweise (so wie mir jemand sagte) gab es eine Reihe von Namen auf der Auswahlliste, die anstelle von "Agile" hätten ausgewählt werden können - einer davon war "Adaptive". Ich persönlich denke, dass als ein einziges Wort, das besser zusammenfasst, worum es bei agil wirklich geht, besser als "agil"!
quelle
Bei der Anwendung einer agilen Methodik kommt es darauf an, die Lieferung von Qualitätsprodukten über andere Aspekte der Produktentwicklung hinweg zu betonen und zu erkennen, dass das Feedback der Benutzergemeinschaft ein wesentlicher Bestandteil bei der Erstellung von Qualitätsprodukten ist.
Vergleichen Sie dies mit einem traditionellen Entwicklungsansatz für Wasserfälle, bei dem Design, Dokumentation und Schnittstellendefinition im Vordergrund stehen, während die Implementierung und der Übergang des Produkts von der Entwicklung zur Veröffentlichung im Vordergrund stehen.
Meiner Meinung nach ist die Qualität, die ein Team in ein Produkt einbauen kann, in der Überprüfung begründet, dass ein Produkt wie vom Entwicklungsteam beabsichtigt funktioniert und vernünftigerweise vorhersehbare Verbesserungen ermöglicht. Es gibt auch Qualitätsfaktoren, die ausschließlich auf der Wahrnehmung beruhen und messen, wie gut ein Produkt den Bedürfnissen seiner Benutzer entspricht.
Agile Ansätze tendieren dazu, Produkte iterativ zu liefern , indem sie Benutzer- und Entwickler-Feedback in jede Iteration einbeziehen, und fördern die Bereitstellung jedes Funktionsinkrements, wenn eine minimale Lebensfähigkeit erreicht wird , um häufiges Benutzer-Feedback auszulösen und der Tendenz von Entwicklungsaktivitäten entgegenzuwirken längere Zeit ohne Rückmeldung der Nutzer. Meiner Meinung nach unterstützen andere Aspekte eines agilen Ansatzes diese zentralen Grundsätze.
quelle