Agile jest jak seks - prezentacja dla Geek Week Kraków
1. AGILE JEST JAK SEKS
WSZYSCY O TYM MÓWIĄ,
KAŻDY BY CHCIAŁ,
NIEWIELU ROBI TO DOBRZE
JAKUB BAŻELA
SCRUM EVENING KRAKÓW 07.06.2017
2. PROGRAM NA 45 MINUT
1. Czego się NIE nauczycie w tej godzinie?
2. Złożoność i skomplikowanie
3. Wyjaśnienie pojęć - Agile, Lean, Scrum
4. Zastosowania i ograniczenia metod zwinych
5. Czego nauczyć się w następnej kolejności?
3. CZEGO SIĘ NIE NAUCZYCIE?
1. Jak wdrożyć Agile w swojej organizacji
2. Jak programować
3. Jak zbudować wartościowy produkt
4. Jak szczegółowo działają zwinne metody (np. Scrum)
5. Jak pełnić poszczególne role w zespole
4. ZŁOŻONOŚĆ I SKOMPLIKOWANIE
1. Czy miasto jest trudne do wyjaśnienia?
2. A relacje między ludźmi na imprezie?
3. Czy giełda jest skomplikowana, czy złożona?
4. A klocki LEGO?
6. KIEDY COŚ JEST PROSTE?
1. Widać wyraźnie przyczynę i skutek
2. Łatwo to wyjaśnić
3. Istnieje jedno poprawne rozwiązanie/odpowiedź
4. Wystarczy odnaleźć problem, zaklasyfikować go i zareagować
8. KIEDY COŚ JEST CHAOTYCZNE?
1. Dużo się dzieje na raz, mało czasu na podjęcie decyzji
2. Nie wiemy co jest przyczyną, co skutkiem
3. Najpierw jakkolwiek działamy (bo gorzej i tak nie będzie), na końcu
reagujemy na efekty
10. KIEDY COŚ JEST SKOMPLIKOWANE?
1. Niewiele osób naprawdę rozumie przyczyny i skutki
2. Trudno to klarownie wyjaśnić
3. Jest wiele odpowiedzi na jeden problem
4. Najpierw odczuwamy, potem analizujemy, na końcu reagujemy
12. KIEDY COŚ JEST KOMPLEKSOWE?
1. Co było przyczyną, a co skutkiem, widzimy wyłącznie
z perspektywy czasu
2. Trudno przewidzieć dalsze skutki
3. Wyjaśnienia mogą być ze sobą sprzeczne, bo brak danych
4. Najpierw sondujemy, potem reagujemy
15. JAKIE JEST TWORZENIE
OPROGRAMOWANIA?
1. Jest kompleksowe (złożone), bo wymaga współdziałania
z rynkiem, klientami, użytkownikami i zmieniającymi się
wymaganiami
2. Jest skomplikowane, bo dotyka wielu technologii i dziedzin wiedzy
3. Działając w tej branży, opieramy się na praktykach dobrych
lub emergentnych (wyłaniających się) – najlepiej gdy stosujemy
model empiryczny
17. AGILE
1. Pewna filozofia, podejście do pracy nad
wytwarzaniem oprogramowania
2. Rodzina metod i praktyk dla regularnego
tworzenia produktów w domenie złożonej
i skomplikowanej – w warunkach niepewności
18. MANIFEST AGILE, 2001
Odkrywamy nowe metody programowania dzięki praktyce w programowaniu i wspieraniu w nim innych.
W wyniku naszej pracy, zaczęliśmy bardziej cenić:
Ludzi i interakcje od procesów i narzędzi
Działające oprogramowanie od szczegółowej dokumentacji
Współpracę z klientem od negocjacji umów
Reagowanie na zmiany od realizacji założonego planu.
Oznacza to, że elementy wypisane po prawej są wartościowe, ale większą wartość mają dla nas te, które wypisano po lewej.
http://agilemanifesto.org/iso/pl/manifesto.html
20. 12 ZASAD AGILE
1. Najwyższy priorytet ma dla nas zadowolenie
klienta dzięki wczesnemu i ciągłemu wdrażaniu
wartościowego oprogramowania.
21. 2. Bądźcie gotowi na zmiany wymagań
nawet na późnym etapie jego rozwoju.
Procesy zwinne wykorzystują zmiany
dla zapewnienia klientowi konkurencyjności.
22. 3. Dostarczajcie funkcjonujące oprogramowanie
często, w kilkutygodniowych lub
kilkumiesięcznych odstępach.
Im częściej, tym lepiej.
23. 4. Zespoły biznesowe i deweloperskie muszą
ściśle ze sobą współpracować w codziennej
pracy przez cały czas trwania projektu.
24. 5. Twórzcie projekty wokół zmotywowanych
ludzi. Zapewnijcie im potrzebne środowisko oraz
wsparcie i zaufajcie, że wykonają powierzone
zadanie.
25. 6. Najbardziej efektywnym i wydajnym
sposobem przekazywania informacji zespołowi
deweloperskiemu i wewnątrz niego jest
rozmowa twarzą w twarz.
27. 8. Procesy zwinne umożliwiają zrównoważony
rozwój.
Sponsorzy, deweloperzy oraz użytkownicy powinni
być w stanie utrzymywać równe tempo pracy.
28. 9. Ciągłe skupienie na technicznej doskonałości
i dobrym projektowaniu zwiększa zwinność.
29. 10. Prostota – sztuka minimalizowania ilości
koniecznej pracy – jest kluczowa.
30. 11. Najlepsze rozwiązania architektoniczne,
wymagania i projekty pochodzą od
samoorganizujących się zespołów.
31. 12. W regularnych odstępach czasu zespół
analizuje możliwości poprawy swojej wydajności,
a następnie dostraja i dostosowuje swoje
działania do wyciągniętych wniosków.
32. KIEDY STOSOWAĆ (LUB NIE) AGILE?
1. Warto stosować, gdy mierzymy się z czymś nowym, złożonym,
skomplikowanym, nieprzewidywalnym, ryzykownym lub chcemy
zmniejszać niepewność i chaos. Kiedy chcemy utrzymać tempo
pracy i mechanizm empiryczny.
2. Raczej nie warto stosować, gdy wyzwanie jest zbyt proste, by
sięgać po jakieś metodyki
33. CZEGO SIĘ NAUCZYĆ TERAZ?
1. Posłuchać następnej prelekcji – o popularnej metodzie Scrum
2. Przejrzeć książki, prezentacje itp. na https://www.agilealliance.org
3. Wpaść do Code Sprinters www.agileszkolenia.pl na moje
warsztaty „Scrum w Pigułce” lub…
4. …wygrać wejściówkę na nie podczas tego eventu
34. DZIĘKUJĘ!
Jeśli się podobało, napisz na jbazela@codesprinters.com
Jeśli się nie podobało, też napisz, cenię każdy feedback J