Agile Methoden in der Softwareentwicklung

Agile Methoden in der Softwareentwicklung

In der Vergangenheit war die Softwareentwicklung eine langwierige und komplexe Aufgabe, bei der die Rentabilität oft weit unter den Kosten lag. Es waren Zeiten endloser Entwicklungen, unendlicher Codezeilen, in denen jede Änderung am ursprünglichen Projekt dem Entwickler echte Kopfschmerzen bereitete. Die geringe (oder keine) Toleranz und / oder Voraussicht gegenüber Veränderungen, archaischen Programmiermethoden usw. hat nicht dazu beigetragen, ein angemessenes Ökosystem für die korrekte Softwareentwicklung zu schaffen.

Margaret Hamilton, Direktorin für Softwareentwicklung des Apollo-Projekts, posiert neben dem gedruckten Code des Projekts

Im Laufe der Jahre neue Programmiersprachen (theoretisch)…), freundlichere Umgebungen, Frameworks, die viele Aufgaben erleichterten, Konzepte, die Softwareentwicklungsunternehmen schnell annahmen, um die Qualität und Lieferzeiten ihrer Projekte zu verbessern. Aber reicht das derzeit aus?

Offensichtlich NEIN!

In einer sich so verändernden Welt, in der Zeit und Rentabilität überwiegen, vergessen Unternehmen oft den dritten grundlegenden Faktor… Qualität. Aber ist es möglich, diese drei Variablen in die Gleichung einzubeziehen und ein positives Ergebnis zu erzielen?

Offensichtlich, JA!

Wenn wir die Geschichte ein wenig Revue passieren lassen, traf sich 2001 eine Expertengruppe auf Wunsch des Ingenieurs Kent Beck (Schöpfer der XP- und TDD-Methoden), um die Situation der Softwareentwicklung zu diskutieren und prägte den Ausdruck “agile Methoden”. Der Ausdruck bezog sich auf einen Rahmen, in dem es möglich war, die Entwicklungsqualität zu steigern, die Zeit zu verkürzen, Unsicherheiten zu beseitigen und Toleranz gegenüber Änderungen zu akzeptieren … kurz gesagt, erhöhen Sie die Kundenzufriedenheit.

Die Teilnehmer des Treffens unterzeichneten den folgenden Brief:

“Wir entdecken bessere Wege, uns zu entwickeln

software sowohl aus eigener Erfahrung als auch

hilfe für Dritte. Durch diese Arbeit haben wir

gelernt zu schätzen:

Individuen und Interaktionen über prozesse und Werkzeuge

Software läuft auf umfangreiche Dokumentation

Zusammenarbeit mit dem Kunden bei Vertragsverhandlungen

Auf die Veränderung reagieren about folge einem Plan

Das heißt, obwohl wir die Elemente auf der rechten Seite schätzen,

wir schätzen die Linken mehr.”

Was zu die 12 Prinzipien des Agilen Manifests

1. Unsere höchste Priorität ist es, den Kunden durch die frühzeitige und kontinuierliche Lieferung von Software mit Mehrwert zufrieden zu stellen.

2. Wir akzeptieren, dass sich Anforderungen auch in späten Entwicklungsphasen ändern. Agile Prozesse nutzen Veränderungen, um dem Kunden Wettbewerbsvorteile zu verschaffen.

3. Wir liefern funktionsfähige Software häufig, zwischen zwei Wochen und zwei Monaten, vorzugsweise in kürzester Zeit.

4. Business Manager und Entwickler arbeiten während des gesamten Projekts täglich zusammen.

5. Die Projekte werden um motivierte Einzelpersonen herum entwickelt. Sie müssen ihnen die Umgebung und die Unterstützung geben, die sie benötigen, und ihnen die Ausführung der Arbeiten anvertrauen.

6. Die effizienteste und effektivste Methode, Informationen an das Entwicklungsteam und zwischen seinen Mitgliedern zu kommunizieren, ist das persönliche Gespräch.

7. Laufende Software ist das wichtigste Maß für den Fortschritt.

8. Agile Prozesse fördern nachhaltige Entwicklung. Veranstalter, Entwickler und Nutzer müssen in der Lage sein, auf unbestimmte Zeit ein konstantes Tempo einzuhalten.

9. Kontinuierliche Aufmerksamkeit für technische Exzellenz und gutes Design verbessert die Agilität.

10. Einfachheit oder die Kunst, die Menge der nicht geleisteten Arbeit zu maximieren, ist unerlässlich.

11. Die besten Architekturen, Anforderungen und Designs entstehen aus selbstorganisierten Teams.

12. In regelmäßigen Abständen reflektiert das Team, wie es effektiver sein kann, und passt sein Verhalten entsprechend an und perfektioniert es.

Daher sind die drei Variablen in der Gleichung “agile Methoden” perfekt miteinander verbunden, was bedeutet, dass ein Unternehmen, das sich der Softwareentwicklung widmet und sich nicht für eine agile Methodik entscheidet, das aktuelle Umfeld, aber vor allem, kaum überleben kann die neuen Zeiten, die kommen.

Das heißt, die Frage sollte nicht lauten: Ist es notwendig, eine agile Methodik zur Entwicklung von Software zu verwenden? Die Frage sollte vielmehr sein, welche agile Methodik ich wähle, um Software zu entwickeln?

Einige der wichtigsten Optionen sind heute:

1. Scrum: “Scrum ist ein Framework für die Entwicklung, Lieferung und Wartung komplexer Produkte.”

2. eXtreme Programmierung (XP): “Extreme Programming (XP) ist ein agiles Softwareentwicklungs-Framework, das darauf abzielt, qualitativ hochwertigere Software und eine bessere Lebensqualität für das Entwicklungsteam zu schaffen.”

3. Kanban: “Informationssystem, das die Herstellung der erforderlichen Produkte in der für jeden Prozess erforderlichen Menge und Zeit harmonisch steuert.”

4. Scrumban: Methodik, die das Beste aus Scrum und Kanban nutzt.

5. Lesen“Diese Methode, die aus dem Toyota-Produktionssystem stammt, bietet einen soliden theoretischen Rahmen, der auf Erfahrungen für agile Managementpraktiken basiert.”

6. Feature-getriebene Entwicklung (FDD): “Feature-Driven Development (FDD) ist eine agile Methodik, die auf Qualität und ständiger Überwachung des Projekts basiert.”

7. Testgetriebene Entwicklung (TDD): “Testgetriebene Entwicklung ist ein Softwareentwicklungsprozess, der auf der Wiederholung eines sehr kurzen Entwicklungszyklus basiert: Die Anforderungen werden in sehr spezifische Testfälle umgewandelt, dann wird die Software verbessert, um die neuen Tests zu bestehen.”

In der folgenden Grafik ist der aktuelle Trend (2017) zum Einsatz agiler Methoden zu beobachten.

Erkenntnis

Unternehmen, die keine agile Methodik für die Softwareentwicklung anwenden, werden es in der heutigen Welt sehr schwer haben, zu überleben. Es ist wahr, dass die Implementierung einer agilen Methodik in einem traditionellen Unternehmen keine einfache Aufgabe ist, aber ohne Zweifel lohnt es sich, diese Anstrengung (Investition) zu unternehmen, um der Zukunft mit Garantien zu begegnen.

Sei agil, mein Freund!

Referenz:

es.wikipedia.org/wiki/desarrollo_agil_de_software

agilemanifesto.org/iso/es/manifesto.html

scrumguides.org/docs

agilealliance.org/glossary/xp/

Bereit, uns in Aktion zu sehen:

More To Explore

Haben Sie ein Projekt im Sinn?

Kontaktieren Sie uns:

small_c_popup.png