Metodyki Lekkie Agile Methodologies Aleksander Pszczółkowski apszczolkow@gmail.com
Agenda Wprowadzenie Metodyki: Podsumowanie XP Scrum Crystal Family Lean Development XPrince Podsumowanie
Wprowadzenie Wady tradycyjnych procesów wytwórczych (zorientowanych na dyscyplinę): Zbyt dużo dokumentacji i biurokacji Brak elastycznośći działania i powolny proces podejmowania decyzji Ludzie jako zasoby Zbyt dokładne plany od początku Agile Manifesto agilemanifesto.org: „Jednostki i interakcje ponad procesy i narzędzia, Działające oprogramowanie ponad szczegółową dokumentację, Współpraca z klientem ponad negocjacje kontraktów, Nadążanie za zmianami ponad realizację planu”
Extreme Programming Kent Beck, Ward Cunningham i Ron Jeffries -„eXtreme Programming Explained” Podejście iteracyjne (2 – 3 tygodni na iterację) 4 przewodnie wartości Komunikacja Prostota (czytelność kodu, brak skomplikowanych rozwiązań) Reakcja (testy i kontakt z klientem) Odwaga 12 zasad
12 zasad XP Refactoring Simple design Paired programming Collective ownership Coding standards Unit testing Continuous integration Metaphor The planning game Small releases On-site customers 40-hour work weeks
Cechy XP Nie dla każdego zespołu ( <20 osób, odpowiednie podejście i kultura ) Silne ograniczenie dokumentacji Założenie, że klient pracuje razem z zespołem może być problematyczne
Scrum Ken Schwaber i Jeff Sutherland w „Agile Project Management with Scrum” Założenia: Dostarczanie kolejnych, coraz bardziej dopracowanych wyników projektu Włączanie się przyszłych użytkowników w proces wytwórczy Samoorganizacja zespołu projektowego Główne role: Scrum Master Product Master The Team Zespół – od 5 do 9 osób
Scrum Iteracja (sprint) trwa 30 dni Efekt iteracji – kolejny działający produkt, namacalne zmiany W pierwszym etapie – lista wymagań Wybór zadań o najwyższym priorytecie Oszacowanie czasu trwania zadań Przypisanie członków do zadań (sprint backlog) W trakcie trwania iteracji nie ma możliwości zmiany wymagań Każdy przebieg kończy się prezentacją produktu
Cechy Scrum’a Większa koncentracja na planowaniu Mniejsze przywiązanie do metod programowania Łagodniejsze podejście do dokumentacji niż XP (lecz zalecane ograniczenie do minimum)
Crystal Family Alistar Cockburn: cjupin.myweb.uga.edu „Human-Powered”, „People-centric” Kładzie nacisk na Komunikację Ludzi Interakcję Umiejętności Proces jest też ważny, ale znajduje się niżej w hierarchii
Crystal Family Nie ma jednego, uniwersalnego rozwiązania Różnego rodzaju grupy wymagają innego podejścia Podział kolorystyczny: Przykład dla grupy 5-osobowej: Wymagane role: sponsor, senior designer, designer, user Jeden team Iteracja trwa 3 m-ce Standardy kodowania i inne, są ustalane wewnątrz teamu
Lean Development (LD) Bazuje na Toyota’s Lead Manufacturing model Tworzenie oprorgamowania odpornego na zmiany
Lead Development 12 zasad: Satisfying the customer is the highest priority. Always provide the best value for the money. Success depends on active customer participation. Every LD project is a team effort. Everything is changeable. Domain, not point, solutions. Complete, don't construct. An 80 percent solution today instead of 100 percent solution tomorrow. Minimalism is essential. Needs determine technology. Product growth is feature growth, not size growth. Never push LD beyond its limits.
XPrince Twórca - Jerzy Nawrocki z Instytutu Informatyki Politechniki Poznańskiej Łączy najlepsze cechy PRINCE2, RUP oraz XP xprince.net
Podsumowanie Agile Manifesto XP Scrum Crystal Family Lead Development XPrince Co poza tym? Evo, Adaptive Software Development…
Koniec