Inhaltsverzeichnis:
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 Softwareentwicklungszyklus (SDLC) konzentriert. Diese Phasen sind: Kontinuierliche Integration, um Probleme zu Beginn des Entwicklungsprozesses zu erkennen und zu beheben Kundenbeteiligung und schnelles Feedback Diese XP-Methodendisziplinen basieren auf den folgenden vier Schlüsselwerten von Kent Beck, dem Urheber von XP: 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: Das Feedback muss auf mehreren, unterschiedlichen Ebenen erfolgen, z. B. Komponententests, Codeüberprüfung und Integration. Mut: Setzen Sie schwierige, aber notwendige Entscheidungen um.
Techopedia erklärt Extreme Programming (XP)
Zusätzlich zu den Schlüsselwerten erfordert die Implementierung der XP-Methodik auch die Unterstützung der drei Prinzipien des inkrementellen Wandels, einschließlich des Wandels und der Qualitätsarbeit. Zwölf Schlüsselpraktiken müssen ebenfalls befolgt werden: Einige traditionelle Methodiker kritisieren XP als einen „unwirklichen“ Prozess, der rücksichtsloses Codieren verursacht. Einige traditionelle Softwareentwickler finden XP unflexibel mit geringer Funktionalität und wenig kreativem Potenzial. Zusätzliche Kritikpunkte sind, dass XP: keine Struktur hat. Fehlt wesentliche 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 führt dazu, dass XP sehr anfällig dafür ist, sich in den Geltungsbereich einzuschleichen.) Kulturelle Veränderungen sind für die Annahme erforderlich. (Kann nur für leitende Entwickler arbeiten) Ist teuer, dh erfordert häufige Kommunikation / Besprechung auf Kosten des Kunden, was zu schwierigen Verhandlungen führen kann. Hat mögliche Ineffizienz durch häufige Codeänderungen in verschiedenen Iterationen. Wie bei jeder Entwicklungsmethode ist all dies natürlich sehr subjektiv und von persönlichen Vorlieben abhängig.