Industrijsko ekstremno programiranje

IXPje agilna metoda razvoja softvera, nastala evolucujom iz ekstremnog programiranja (XP).

Nastaje 2004. u konsultantskoj firmi Cutter, gde se kao autor navodi Joshua Kerievsky, u vreme izdavanja drugog izdanja knjige Kenta Becka u kojoj je izvršena revizija i retrospektiva u odnosu na prvu verziju ekstremnog programiranja. Ime dobija po tome što se koristi u velikim i distriburiranim timovima, te tako zadovoljava industrijske standarde velikih firmi.

IXP ide još i korak dalje sa tvrdnjom da osnovne vrednosti ekstremnog programiranja mogu biti fleksibilne, te variraju od tima do tima. Trebalo bi pri organizovanju IXP, ili reorganizovanju ka IXP upitati zaposlene o osnovnim vrednostima koje pokreću tim. Ovo se zasniva na tvrdnji Kenta Becka u drugom izdanju knjige “Extreme Programming - Explained” da obavezne prakse ne vrede puno, ako nisu motivisane osnovnim vrednostima. Na slici se može videti pet vrednosti koje koristi firma Cutter (komunikacija, zadvoljstvo, učenje, jednostavnost i kvalitet), ali one mogu varirati.
 
Ovde se umesto dvanaest obaveznih praksi iz XP, pojavljuje čak dvadesettri. Neke su revidirane, sa promenjenim nazivom, neke su dodate, a neke su ostale iste kao i u ranijoj verziji XP. Te prakse su sledeće:
Nove:
   1. Pripremljenost za pristup
   2. Projektna zajednica
   3. Ugovaranje projekta
   4. Menadžment vođen testovima
   5. Retrospektiva
   6. Stalno učenje
Poboljšane postojeće prakse:
   7. Razvoj vođen testovima priče (storytest-driven development – SDD) unapređen TDD
   8. Dizajn vođen domenom (domain-driven design – DDD) unapeđenje metafore u sistemu
   9. Uparivanje - unapređeno programiranje u paru
  10. Iterativno testiranje korisnosti - unapređeno prisustvo klijenta u timu

Nepromenjene obavezne prakse:
  11. Refaktorisanje
  12. Igra planiranja
  13. Stalna integracija
  14. Zajedničko vlasništvo
  15. Standardi u kôdu
  16. Održivi korak
  17. Česte isporuke

Osim ovih eksplicitnih obaveznih praksi preuzetih iz XP, IXP navodi i implicitne prakse ekstremnog programiranja, koje se u ranijim verzijama ne navode kao takve, već je čitalac literature bio primoran da sam shvati njihov značaj. Sada su one uvrštene među ostale prakse.

Implicitne nepromenjene obavezne prakse koje postaju eksplicitne:
  18. Stalno upravljanje rizikom
  19. Evolutivni dizajn (ED)
  20. Pričanje priče (korisničkih zahteva)
  21. Testiranje priče
  22. Rad u zajednici
  23. Mali timovi

Ova metodologija još uvek nije pokazala svoju punu snagu, još uvek je u probnoj fazi. Analizom njenih praksi i primenom pojedinih dodataka, postojeća organizacija XP projekta se može oplemeniti i poboljšati. Sve novine su došle iz prakse, analizom problema sa kojima se ekstremno programiranje sretalo. Ipak, treba biti obazriv jer nepoznavanje osnovnog ekstremnog programiranja vodi neuspehu u implementaciji industrijske varijante ove metode.

IXP je postao dosta složen u svojim preporukama, ali obećava značajna poboljšanja. Ovo usložnjavanje bi trebalo da prati značajno kvalitativno poboljšanje implementacije same metode u postojeće organizacije, dok sprovođenje metode u praksi, kada jednom zaživi, i nije mnogo različito od običnog ekstremnog programiranja.

Korisno pogledati 
Cutter konzorcijum 

Agilni razvoj softvera