Scrum i Extreme Programming (XP) są zdecydowanie bardzo wyrównane. W rzeczywistości, jeśli wszedłeś do zespołu wykonującego jeden z tych procesów, możesz mieć trudności z szybkim podjęciem decyzji, czy przeszedłeś do zespołu Scrum czy zespołu PD. Różnice są często dość subtelne, ale są ważne. Myślę, że istnieją cztery główne różnice między Scrum i XP:
- zespoły Scrum zazwyczaj pracują w iteracjach (zwanych sprintami), które trwają od dwóch tygodni do jednego miesiąca., Zespoły PD zazwyczaj pracują w iteracjach trwających jeden lub dwa tygodnie.
- zespoły scrumowe nie zezwalają na zmiany w swoich sprintach. Po zakończeniu spotkania planowania sprintu i podjęciu zobowiązania do dostarczenia zestawu pozycji zaległości produktu, Ten zestaw elementów pozostaje niezmieniony do końca sprintu. Drużyny z PD są bardziej podatne na zmiany w swoich iteracjach. Dopóki zespół nie rozpoczął prac nad konkretną funkcją, nowa funkcja o równoważnym rozmiarze może zostać zamieniona na iterację zespołu PD w zamian za nierozstrzygniętą funkcję.,
- zespoły programistyczne pracują w ścisłej kolejności priorytetów. Funkcje, które mają zostać opracowane są priorytetowe przez Klienta (Scrum ' s Product Owner) i zespół jest zobowiązany do pracy nad nimi w tej kolejności. Natomiast Scrum product owner priorytetyzuje zaległości produktowe, ale zespół określa sekwencję, w której będzie rozwijać pozycje zaległości. Nigdy nie widziałem, żeby Zespół Scrumowy nie zdecydował się pracować nad czymś o najwyższym priorytecie. A zespół Scrum najprawdopodobniej zdecyduje się na pracę nad drugim najważniejszym., Jednak w pewnym momencie jeden z przedmiotów o wysokim priorytecie może nie pasować do planowanego sprintu—być może kluczowa osoba, która powinna nad nim pracować, będzie zawalona pracą nad przedmiotami o wyższym priorytecie. A może warto pracować nad elementem o nieco niższym priorytecie (powiedzmy #10 na zaległościach produktu zamiast #6), ponieważ zespół będzie pracował w kodzie, w którym zostanie zaimplementowany #10.
- Scrum nie przepisuje żadnych praktyk inżynierskich; XP tak., Uwielbiam praktyki inżynierskie XP, szczególnie takie jak rozwój oparty na testach, skupienie się na automatycznych testach, programowanie w parach, proste projektowanie, refaktoryzacja i tak dalej. Jednak myślę, że błędem jest mówienie zespołowi: „sam się organizujesz, ufamy ci, ale musisz wykonywać te konkretne praktyki inżynierskie….”To wysyła do zespołu mieszaną wiadomość, która powoduje zamieszanie. Uwielbiam praktyki XP, ale nie lubię ich narzucać. Chcę, aby zespoły same odkryły wartość.
są to niewielkie i często subtelne różnice między Scrum A XP., Mogą jednak mieć ogromny wpływ na zespół. Moja typowa rada dla zespołów brzmi: „zacznij od Scruma, a następnie wymyśl własną wersję XP.”Praktyki PD są wspaniałe, ale działają najlepiej, a zespoły zobowiązują się do nich najbardziej, jeśli sami je odkryją, a nie zlecą. Pomagam zespołom w tym w moim coachingu, zadając pytania w stylu: „czy ten błąd miałby miejsce, gdybyśmy robili rozwój oparty na testach?”i” czy popełnilibyśmy ten błąd, gdybyśmy byli parą?”Uważam, że prawdziwe XP to mały cel w oddali., Jeśli drużyna może celować i trafić w dziesiątkę, to wspaniale. Jeśli jednak nie, prawdopodobnie hakują (np. refaktoryzują bez automatycznego testowania lub TDD). Scrum to wielki strzał w dziesiątkę, który sam w sobie przynosi duże ulepszenia po prostu poprzez dodatkową ostrość i iteracje timeboxed. To dobry punkt wyjścia do dodania praktyk XP.