Extreme Programmierung (xp)

Definition - Was bedeutet Extreme Programming (XP)?

Extreme Programming (XP) ist eine intensive, disziplinierte und agile Softwareentwicklungsmethode, die sich auf die Codierung in jeder Phase des Software Development Life Cycle (SDLC) konzentriert. Diese Phasen sind: Kontinuierliche Integration, um Probleme früh im Entwicklungsprozess zu erkennen und zu beheben. Kundenbeteiligung und schnelles Feedback Diese Disziplinen der XP-Methodik leiten sich aus den folgenden vier Schlüsselwerten von Kent Beck, dem Urheber von XP, ab: Kommunikation: Die Kommunikation zwischen Teammitgliedern und Kunden muss stattfinden häufig und führen zu einer offenen Projektdiskussion ohne Angst vor Repressalien. Einfachheit: Dies beinhaltet die Verwendung des einfachsten Designs, der einfachsten Technologie, der einfachsten Algorithmen und Techniken, um die Kundenanforderungen für die aktuelle Projektiteration zu erfüllen. Feedback: Feedback muss auf mehreren unterschiedlichen Ebenen eingeholt werden, z. B. Unit-Tests, Codeüberprüfung und Integration. Mut: Setzen Sie schwierige, aber erforderliche Entscheidungen um.

Technische.me erklärt Extreme Programming (XP)

Zusätzlich zu den Schlüsselwerten erfordert die Implementierung der XP-Methodik auch die Unterstützung der drei Prinzipien der inkrementellen Änderung, einschließlich Änderung und Qualitätsarbeit. Zwölf Schlüsselpraktiken müssen ebenfalls befolgt werden: Einige traditionelle Methodiker kritisieren XP als einen „unwirklichen“ Prozess, der zu rücksichtsloser Codierung führt. Einige traditionelle Softwareentwickler finden XP unflexibel mit geringer Funktionalität und geringem kreativem Potenzial. Zusätzliche Kritikpunkte sind, dass XP: keine Struktur hat. Fehlt wichtige Dokumentation. Hat keine klaren Ergebnisse, dh realistische Schätzungen sind schwierig, da der gesamte Umfang der Projektanforderungen nicht vollständig definiert ist. (Dieser Mangel an detaillierten Anforderungen macht XP sehr anfällig für Scope Creep.) Erfordert einen kulturellen Wandel zur Annahme. (Kann nur für leitende Entwickler funktionieren.) Ist kostspielig, erfordert jedoch häufige Kommunikation / Besprechung auf Kosten des Kunden, was zu schwierigen Verhandlungen führen kann. Hat mögliche Ineffizienz durch häufige Codeänderungen innerhalb verschiedener Iterationen. Natürlich ist dies wie bei jeder Entwicklungsmethode sehr subjektiv und hängt von persönlichen Vorlieben ab.