Agile Methoden in der Softwareentwicklung

Agile Methoden in der Softwareentwicklung

In der Vergangenheit war die Softwareentwicklung eine mühsame und komplexe Aufgabe, bei der die Rentabilität oft weit unter den Kosten lag. Es waren Zeiten endloser Entwicklungen, endloser Codezeilen, in denen jede Änderung des ursprünglichen Projekts dem Entwickler echte Kopfschmerzen bereitete. Wenig (oder keine) Toleranz und / oder Antizipation von Änderungen, archaischen Programmiermethoden usw.hat nicht dazu beigetragen, ein angemessenes Ökosystem für die korrekte Entwicklung von Software zu schaffen.

Margaret Hamilton, Director of Software Engineering für das Apollo-Projekt posiert neben dem gedruckten Code des Projekts

Im Laufe der Jahre entstanden neue Programmiersprachen (theoretisch einfacher)…), freundlichere Umgebungen, Frameworks, die viele Aufgaben erleichterten, Konzepte, die Unternehmen, die sich der Softwareentwicklung verschrieben haben, schnell übernommen haben, um die Qualität und die Lieferzeiten ihrer Projekte zu verbessern. Aber ist das heute genug?

Offensichtlich NEIN!

In einer sich 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 aufzunehmen und ein positives Ergebnis zu erhalten?

Offensichtlich JA!

Wenn wir ein wenig zurückblicken, traf sich 2001 auf Antrag des Ingenieurs Kent Beck (Schöpfer der XP-und TDD-Methoden) eine Expertengruppe, um die Situation der Softwareentwicklung zu diskutieren und den Begriff “agile Methoden”zu prägen. Der Ausdruck bezog sich auf einen Rahmen, in dem es möglich war, die Qualität der Entwicklung zu erhöhen, die Zeit zu verkürzen, Unsicherheit zu beseitigen und Veränderungstoleranz zu akzeptieren… kurz gesagt, erhöhen Sie die Kundenzufriedenheit.

Die Sitzungsteilnehmer unterzeichneten folgenden Brief:

“Wir entdecken bessere Wege zur Entwicklung

software sowohl aus eigener Erfahrung als auch

anderen helfen. 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 über Vertragsverhandlungen

Antwort auf Änderung auf Folgen Sie einem plan

Das heißt, obwohl wir die Elemente rechts schätzen,

wir schätzen mehr die auf der linken Seite.”

Was zu die 12 Prinzipien des agilen Manifests

1. Unsere höchste Priorität ist die Kundenzufriedenheit durch die frühzeitige und kontinuierliche Lieferung von Software mit Wert.

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

3. Wir liefern Funktionssoftware häufig, zwischen zwei Wochen und zwei Monaten, mit Vorliebe für den kürzestmöglichen Zeitraum.

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

5. Projekte werden um motivierte Einzelpersonen entwickelt. Sie müssen die Umgebung und Unterstützung erhalten, die sie benötigen, und mit der Ausführung der Arbeit betraut werden.

6. Die effizienteste und effektivste Methode zur Kommunikation von Informationen mit dem Entwicklungsteam und seinen Mitgliedern ist das persönliche Gespräch.

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

8. Agile Prozesse fördern eine nachhaltige Entwicklung. Promotoren, Entwickler und Benutzer müssen auf unbestimmte Zeit ein stetiges Tempo halten können.

9. Kontinuierliche Aufmerksamkeit auf technische Exzellenz und gutes Design verbessert die Agilität.

10. Einfachheit oder die Kunst, die nicht geleistete Arbeit zu maximieren, ist unerlässlich.

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

12. In regelmäßigen Abständen denkt das Team darüber nach, wie es effektiver sein kann, um dann sein Verhalten entsprechend anzupassen und zu perfektionieren.

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

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

Einige der wichtigsten Optionen sind heute:

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

2. eXtreme Programmierung (XP): “Extreme Programming (XP) ist eine agile software-Entwicklungs-framework, das darauf abzielt, eine höhere Qualität der software und eine bessere Lebensqualität für die Entwicklung team.”

3. Kanban: “Informationssystem, das die Herstellung der erforderlichen Produkte in der Menge und Zeit, die in jedem der Prozesse erforderlich ist, harmonisch steuert.”

4. Scrumban: methodik, die das Beste aus Scrum und Kanban verwendet.

5. Lesen: “Diese Methode, die aus dem Produktionssystem von Toyota stammt, bietet einen soliden, erfahrungsbasierten theoretischen Rahmen für agile Managementpraktiken.”

6. Feature-Driven Development (FDD): “Feature-Driven Development (FDD) ist eine agile Methodik, basierend auf Qualität und die ständige überwachung des Projekts.”

7. Test-Driven Development (TDD): “Test-Driven Development ist ein software-Entwicklungs-Prozess basiert auf der Wiederholung eines sehr kurzen Entwicklungszyklus: die Anforderungen werden sehr spezifische Testfälle, dann ist die software wurde verbessert, um pass die neuen tests.”

Die folgende Grafik zeigt den aktuellen Trend (2017) in Bezug auf den Einsatz agiler Methoden.

Erkenntnis

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

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