Czym różni się Agile od XP?

32

Przeczytałem kilka artykułów w Internecie, aby dowiedzieć się, w jaki sposób Agile, XP, Scrum, programowanie par różnią się od siebie / są ze sobą powiązane i wyprowadziłem następujący wiersz:

  1. Scrum i XP są prawie takie same. XP ma krótszy okres wydawania niż Scrum
  2. Programowanie w parach jest stosowane zarówno w metodologii Agile, jak i XP

Ale nie byłem w stanie zidentyfikować, w jaki sposób Agile różni się od XP.

Bardziej niż podanie adresu URL, chętnie przeczytam twoje doświadczenia i przemyślenia na ten temat.

Gopi
źródło

Odpowiedzi:

55

Mylisz problem. Zwinność oznacza, że ​​postępujesz zgodnie z wieloma wartościami i praktykami z manifestu zwinności . To jest to.

XP i Scrum to procesy programistyczne zgodne z tymi wartościami. Oba są „tak samo zwinne”. Duża różnica między Scrumem a XP polega na tym, że Scrum nie zawiera praktyk specjalnie dla programowania , podczas gdy XP ma ich wiele (TDD, ciągła integracja, programowanie par).

Martin Wickman
źródło
2
+1 XP, Scrum rozszerza Zwinność.
Michael K,
8
+1 dla „scrum nie zawiera praktyk specjalnie dla programowania”; jest to absolutnie poprawne i należy o wiele bardziej podkreślić. Innymi słowy, Scrum to metodologia zarządzania projektami, a nie metodologia tworzenia oprogramowania. Scrum jest często używany z metodą Agile, ale nie musi tak być.
Steven A. Lowe,
18

Zwinność to ogólny termin określający metodologię.

XP i Scrum to specyficzne nazwy dla różnych implementacji tej metodologii.

Strony Wikipedii są prawdopodobnie dobrym punktem wyjścia do dalszej lektury - sprawdź sekcje „Materiały referencyjne” i „Dalsze lektury” u dołu każdej strony, ale powinieneś przyjrzeć się innym implementacjom przed podjęciem decyzji o tym, który działa dla Ciebie, lub (jak zauważyli inni) fragmenty każdej implementacji, które działają dla Ciebie.

ChrisF
źródło
Więc Xp jest częścią Agile ze Scrumem, ponieważ jest rodzeństwem? Czym różnią się Xp i Scrum? Liczba dni to jedyna różnica między nimi?
Gopi,
2
XP jest bardziej nakazowy w tym, co musisz zrobić (np. Określa testowanie jednostek, programowanie par itp.) Niż Scrum. Scrum koncentruje się bardziej na tym, co robi zespół jako całość, ale nie mówi nic o praktykach technicznych (słaba część scrum po zastosowaniu do oprogramowania IMHO). W rezultacie wiele osób postrzega je jako uzupełniające się metodologie, a nie będące w konflikcie.
FinnNk
1
+1, wiele osób jest bardzo niewygodnych w programowaniu parami. Ponadto, jeśli nie możesz włączyć zamiaru metodologii rozwoju do tego, co już istnieje (bez drastycznych zmian, które denerwują ludzi), coś jest bardzo nie tak. Ciągle widzę ludzi, którzy widzą wskazówki, ale nie widzę zamiaru za nimi i nadal jestem bardzo sfrustrowany, widząc takie pytania.
Tim Post
1
+1: to całkiem dobra odpowiedź. Ale muszę się nie zgodzić z twierdzeniem o Wikipedii. Myślę, że oryginalny plakat pokazuje wiele zamieszania i polegania na googlowaniu, a Wikipedia jest jednym z powodów, dla których mamy tak niejasną jasność. Nazwiska współczesnych ekspertów Agile są dobrze znane; Zamiast tego polecam czytanie ich blogów i książek.
azheglov,
@azheglov - Rozumiem, co masz na myśli. Wyjaśniłem, co miałem na myśli, korzystając ze stron Wikipedii. Referencje i dalsze sekcje do czytania są tym, na co powinieneś zwrócić uwagę.
ChrisF
7

Jak usmażyć kurczaka?

To poważne pytanie. Jak łączysz zamiar pracy innych ludzi w coś, co działa dla Ciebie?

Widzę tak wiele pytań nie tylko tutaj, ale na SO, które pytają „Czy powinienem użyć x, y czy Z?” podczas gdy w rzeczywistości niewiele uwagi poświęca się temu, jak drastyczna zmiana może wpłynąć na zespół, lub (gorzej) efekt, że ktoś próbuje czegoś bez pełnego zrozumienia, jak to działa. Jeśli chodzi o metodologię programowania, nie rozumiesz jej, dopóki nie zastosujesz jej z powodzeniem, w przeciwnym razie po prostu zastosujesz się do ślepych rad.

Za każdym razem, gdy widzę „Czy scrum działałby dla mnie?” Pytam: „Nie wiem, próbowałeś?”

Nie czytaj tych rzeczy, jakby pochodzą z jakiegoś rodzaju pisma duchowego. Weź to, co działa dla ciebie, wypróbuj to, a jeśli to działa, zaimplementuj działające części. Nie różni się to od tego, co najlepsze, co robią libfoo i libbar i zrobienia czegoś, co zaspokoi twoją potrzebę.

W którym momencie ktoś powiedział: „Podążaj za literą tą metodą lub niech cię diabli do końca życia”?

Najlepszą metodą jest Twoja najlepsza adaptacja opublikowanej i oryginalnej mądrości, która działa dla Ciebie .

Tim Post
źródło
Dobra odpowiedź, choć nie odpowiada na pytanie. Plakat nawet nie powiedział, że myśli o ich użyciu.
Pierre Arlaud
5

Agile to klasa metodologii opracowywania oprogramowania, której XP jest jedną instancją

Scrum to metodologia zarządzania projektami , a nie metodologia opracowywania oprogramowania . Chociaż często używa się metodologii programowania Agile w Scrumie, nie jest to wymagane. To nie to samo.

Steven A. Lowe
źródło
0

Praktycznie wiele organizacji nie stosuje określonej metodyki w 100%, jak XP lub Scrum, gdy są one określone. Zwłaszcza jeśli dopiero zaczęli stosować zasady Agile. Mogą wybierać i wybierać pewne aspekty dowolnej metodologii, takiej jak Scrum, która wchodzi w zakres zwinnego Agile. Zwinność jest bardziej abstrakcyjna i łatwiej jest to powiedzieć, niż mówiąc, że robimy XP lub Scrum.

softveda
źródło
0

Zarówno XP, jak i Scrum są metodologiami opracowywania oprogramowania w ramach zwinnej metodologii oprogramowania, należą one do rodziny zwinnych modeli procesów, w tym inne; Kryształ, rozwój oparty na funkcjach itp.

Kliknij poniższy link, aby uzyskać dodatkowe wyjaśnienia dotyczące ich różnic.

http://www.mypmhome.com/scrum-vs-extreme-programming-xp/

Nehemiasz
źródło