Scrum a extrémní programování (XP) jsou rozhodně velmi vyrovnané. Ve skutečnosti, pokud jste vešli do týmu, který dělá jeden z těchto procesů, můžete mít těžký čas rychle se rozhodnout, zda jste vstoupili do týmu Scrum nebo týmu XP. Rozdíly jsou často poměrně jemné, ale jsou důležité. Myslím, že existují čtyři hlavní rozdíly mezi Scrum a XP:
- Scrum týmy obvykle pracují v iteracích (nazývaných sprinty), které jsou dlouhé dva týdny až jeden měsíc., XP týmy obvykle pracují v iteracích, které jsou jeden nebo dva týdny dlouhé.
- Scrum týmy neumožňují změny ve svých sprintech. Po dokončení schůzky plánování sprintu a závazku doručit sadu nevyřízených položek produktu zůstává tato sada položek nezměněna až do konce sprintu. XP týmy jsou mnohem přístupnější ke změně v rámci svých iterací. Dokud tým nezačal pracovat na konkrétní funkci, lze novou funkci ekvivalentní velikosti vyměnit za iteraci týmu XP výměnou za nestartovanou funkci.,
- extrémní programovací týmy pracují v přísném prioritním pořadí. Funkce, které mají být vyvinuty, jsou upřednostňovány zákazníkem (vlastníkem produktu Scrum) a tým je povinen na nich pracovat v tomto pořadí. Naproti tomu majitel produktu Scrum upřednostňuje nevyřízené produkty, ale tým určuje pořadí, ve kterém budou vyvíjet nevyřízené položky. Nikdy jsem neviděl tým Scrum, který by se rozhodl pracovat na nejvyšší prioritě. A tým Scrum se velmi pravděpodobně rozhodne pracovat na druhém nejdůležitějším., V určitém okamžiku však jedna z vysoce prioritních položek nemusí být vhodná pro plánovaný sprint—možná klíčová osoba, která by na něm měla pracovat, bude zaplavena prací na položkách s vyšší prioritou. Nebo možná, že to dává smysl, aby práci na mírně nižší prioritu (řekněme, #10 na produktový backlog místo #6), protože tým bude pracovat v kódu, kde #10 by být realizován.
- Scrum nepředepisuje žádné technické postupy; XP Ano., Miluji XP inženýrství praktiky, zejména věci, jako test-driven development, zaměření na automatizované testování, programování ve dvojici, jednoduchý design, refactoring, a tak dále. Myslím si však, že je chybou říci týmu: „jste samoorganizující se, věříme vám, ale musíte udělat tyto specifické inženýrské postupy….“To posílá smíšené zprávy týmu, který způsobuje zmatek. Mám rád XP praktiky, ale nelíbí se jim nařizování. Chci, aby týmy zjistily hodnotu samy o sobě.
jedná se o malé a často jemné rozdíly mezi Scrum a XP., Mohou však mít hluboký dopad na tým. Moje typická rada pro týmy je “ začít s Scrum a pak vymyslet vlastní verzi XP.“Zkušenosti jsou úžasné, ale fungují nejlépe a týmy se k nim nejvíce odhodlají, pokud je objeví sami, než aby je pověřili. Pomáhám týmům to v mém koučování tím, že se ptám na otázky jako: „byla by tato chyba, kdybychom dělali vývoj založený na testech?“a“ udělali bychom tu chybu, kdybychom se spárovali?“Skutečné zkušenosti považuji za malý cíl v dálce., Když na to tým může mířit a trefit se do Buly, je to paráda. Pokud tomu tak není, jsou však pravděpodobně hacking (např. refaktoring bez jakéhokoli automatizovaného testování nebo TDD). Scrum je velké býčí oko, které samo o sobě přináší velká vylepšení jednoduše díky dodatečnému zaměření a iteracím s časovou schránkou. To je dobrý výchozí bod pro přidání postupů XP.