Sprint przez metodyki zwinne (agile)

17 lipca 2012

Jeśli agile był do tej pory workiem, do którego wrzucałeś wszystko, co swobodne i nie wymaga zbędnej dokumentacji, zrób w tym worku małe porządki:) Przebiegnijmy sprintem przez metodyki zwinne zerkając na: XP, ASD, Crystal, Scrum i FDD. Może wybierzesz którąś dla siebie?

eXtreme Programming (XP)

Najbardziej znana z metodyk zwinnych. Kieruje się czterema wartościami:

  • komunikacja (bo większość projektów nie udaje się z powodu braków w komunikacji)
  • prostota (bo wystarczy wykonać najprostszy produkt, ktory odpowiada potrzebom klienta)
  • informacja zwrotna (bo programiści powinni otrzymać feedback od klienta, systemu i reszty zespołu)
  • odwaga (bo czasem trzeba podjąć trudną decyzję, która pomoże projektowi)

Zwinność to swoboda i dużą dowolność? XP wymaga rygorystycznego trzymania się ustalonych praktyk.
Praktyki:

  • ciągła obecność klienta
  • gra planistyczna – klienci i zespół negocjują wymagania w formie historyjek na karteczkach
  • historyjki (stories)
  • krótkie cykle – maksymalnie 3 tygodniowe
  • zbiorowa własność – każdy może pracować nad wszystkim
  • programowanie w parach (pair programmig) – dwóch programistów pracuje nad jednym kodem
  • prosty projekt (simple design)
  • refaktoring – kiedy kod zaczyna przypominać spagetti, porządkujemy go bez zmieniania jego działania
  • standardy kodowania – ustalone i ściśle przestrzegane przez zespół
  • testy w pierwszej kolejności (test first) – najpierw tworzy się przypadki testowe, potem przygotowuje kod, który te przypadki przejdzie
  • ciągła integracja (continuous integration) – każdego dnia oprogramowanie jest scalane (z wersji każdego z deweloperów) i ma działać!
  • pracujemy 40 godzin tygodniowo i ani chwili dłużej!

Lepiej dwa razy zastanowić się przed zastosowaniem XP w projektach z zespołem większym niż 20 osób, niezgranym zespołem, długim czasem oczekiwania na informację zwrtoną od klienta czy integracji.
Czytaj dalej: Beck, K. 1999. Extreme Programming Explained: Embracing Change. Reading, MA: Addison-Wesley

Adaptive Software Development (ASD)

ASD składa się z cykli spekulowania, opracowywania i uczenia (speculate, collaboration, lern cycles). Najważniejsze jest ciągłe uczenie i adaptacja do obecnego stanu projektu. Słowa klucze? Skoncentrowany na misji, planujący w oparciu o funkcje, sterowany ryzykiem, tolerancyjny na zmiany. ASD ma za zadanie balasować na krawędzi chaosu, dlatego konieczny jest udział ekspertów. Może być trudno wykorzystać tę metodykę w większych projektach.
Praktyki:

  • iteracyjny rozwój (iterative development)
  • planowanie oparte na funkcjach (feature-based planning)
  • grupy focusowe klientów (focus groups)

Czytaj dalej: www.adaptivesd.com

Crystal

Inspiracja pochodziła z metodyk zwinnych, sterowanych planem, a także psychologii i wieloletnich badań autora nad rozwojem organizacji. Twórca (Alistar Cockburn) opisuje ją jako rodzinę metodyk opartych na ludziach, adaptujących się, ultralekkich i dopasowujących się do potrzeb.
Crystal występuje w różnych postaciach w zależności od wielkości zespołu i ryzyka w projekcie. Kryształ (crystal) charakteryzuje kolor i twardość. Każdy z wariantów kolorów (liczba ludzi) ma swoją nazwę:

  • Clear,
  • Yellow,
  • Orange,
  • Red.

Warianty twardości (ryzyko) to:

  • komfort (Comfort),
  • niekluczowe fundusze (Discretionary money),
  • kluczowe fundusze (Essential money),
  • życie (Life).

Przy dobieraniu opcji twórca poleca kierować się myślą: “lighter is better as long it lasts”.
Czytaj dalej: http://alistair.cockburn.us/Crystal+methodologies

Scrum

Scrum jest podejściem skoncentrowanym na zarządzaniu projektem. Jego nazwa wywodzi się z młyna (scrum) w rugby. Analogia ta nawiązuje do szybkiego dopasowywania się do zmiennych okoliczności. Wprowadzenie Scruma jest proste – nie wymaga przeprowadzania zmian w organizacji. Odnotowano też sukcesy w wykorzystywaniu tej metodyki w większych projektach. W takich przypadkach jest jednak konieczny udział ekspertów od Scruma.
Praktyki:

  • sprinty – równe okresy, w których przygotowuje się kolejne funkcje i prezentuje klientowi, np. 30 dni
  • backlog – lista wymagań (z priorytetami) do wykonania w projekcie (product backlog) lub sprincie (sprint backlog)
  • codzienne 15-minutowe spotkania – na stojąco (bo tak krótsze spotkania) każdy członek zespołu mówi o tym, co zrobił wczoraj, co będzie robił dzisiaj (monitorowanie statusu) i jakie napotkał problemy
  • spotkania na rozpoczęcie (planowanie) i zakończenie sprintu (podsumowanie)
  • cel sprintu (sprint goal) – kryteria uznania za zakończony sukcesem

Ważne role:

  • Product Owner (określanie funkcji systemu, które najlepiej spełnią postawione przed nim cele)
  • Scrum Master (dbanie o zgodność z metodyką, konsultant, trener),
  • Scrum Team (wytwarzanie, programowanie).

Czytaj dalej: http://www.controlchaos.com/

Feature Driven Development (FDD)

FDD stawia na prosty proces, efektywne modelowanie i krótkie iteracje przynoszące wartościowy produkt klientowi. Proces powinien raczej wspierać zespół, niż nim sterować. Po starannym zebraniu i dobrym zrozumieniu wymagań ma miejsce pięć faz procesu:

  • przygotuj model produktu, by uchwycić zakres dziedziny
  • przygotuj listę funkcji bazując na potrzebach biznesu
  • przygotuj plan realizacji na podstawie listy funkcji
  • przygotuj projekt pakietów i przydziel funkcje do iteracji
  • zaprogramuj funkcje

Czym to podejście różni się od kaskadowego? Zwinność polega na tym, że zdolni ludzie wychwycą moment, kiedy trzeba powrócić do poprzednich faz.
Czym FDD różni się od XP? Zakłada przydzielanie zadań do programistów i wykonanie za pierwszym razem właściwego projektu systemu. Dlatego też jest bardziej odpowiedni do systemów z większymi wymaganiami stabilności. Można go także łatwo skalować do większych projektów.
Bardzo ważne jest wykorzystywane notacji do modelowania architektury, np. UML lub innych metod obiektowych.
Ważne role: główny architekt (Chief Architect) i główny programista (Chief Programmer).
Uwaga! Potrzebni ludzie wysoko wykwalifikowani w stosowaniu metodyki, projektowaniu, programowaniu i znajomości dziedziny.
Czytaj dalej: www.togethercommunity.com
 
Źródła:

  1. Boehm B., Turner R., Balancing Agility and Discipline, A Guide for the Perplexed, Addison-Wesley, 2004
  2. www.adaptivesd.com
  3. http://alistair.cockburn.us/Crystal+methodologies

 

Cześć, jestem Hania.

Jako strategiczny analityk biznesowy na pograniczu zarządzania i IT zapewniam, że projekty i działania w organizacji przynoszą wartość biznesową. Dostarczam kompetencji analitycznych managerom i zarządom z Polski, Niemiec i Szwajcarii przy tworzeniu strategii oraz wdrażaniu jej w kilkuset osobowej międzynarodowej organizacji.

Może zaciekawi Cię także:

www.analizait.pl by ProjectUP (C) 2020