Seminarium będzie poświęcone zwinnym technikom wytwarzania oprogramowania oraz wykorzystania ich w obszarach analizy/zbierania wymagań, projektowania i modelowania, implementacji, testowania... Punktem wyjściowym będzie oczywiście "Manifesto for Agile Software Development" Alistaira Cockburna i Boba Martina, skąd przejdziemy do zestawu typowych metod i praktyk agile’owych, m.in. XP, ATDD, DDD, EventStorming, BDD, Story Mapping, Impact Mapping, C4, SCRUM, Kanban, zarówno na poziomie małych jak i wielkich zespołów.
Bycie zwinnym oznacza umiejętne dostosowywanie się do nowych okoliczności Tom Gilb
Manifest Zwinnego Wytwarzania Oprogramowania (ang. Manifesto for Agile Software Development) został nakreślony w lutym 2001 roku, jako odpowiedź na problemy z istniejącymi modelami wytwarzania oprogramowania:
Ludzie i interakcje ponad procesy i narzędzia Działające oprogramowanie ponad obszerną dokumentację Współpracę z klientem ponad formalne ustalenia Reagowanie na zmiany ponad podążanie za planem
Elementy po prawej stronie są wartościowe, ale dla autorów Manifestu większą wartość mają te, które umieszczono po stronie lewej.
W jego opracowaniu wzięły udział następujące osoby:
- Kent Beck
- Mike Beedle
- Arie van Bennekum
- Alistair Cockburn
- Ward Cunningham
- Martin Fowler
- James Grenning
- Jim Highsmith
- Andrew Hunt
- Ron Jeffries
- Jon Kern
- Brian Marick
- Robert C. Martin
- Steve Mellor
- Ken Schwaber
- Jeff Sutherland
- Dave Thomas
Oryginalną treść manifestu oraz towarzyszących mu 12 zasad można znaleźć na stronie http://agilemanifesto.org.
Na 2009 rok datuje się powstanie Manifestu Software Craftsmanship, będącego odpowiedzią na problemy występujące przy wdrażaniu podejścia zwinnego w projekcie. Odwołuje się on wprost do Manifestu Agile i uzupełnia go o istotne aspekty.
Nie tylko działające oprogramowanie, ale również dobrze napisane oprogramowanie Nie tylko reagowanie na zmiany, ale również ciągłe zwiększanie wartości Nie tylko osoby i interakcje, ale również społeczność profesjonalistów Nie tylko współpraca z klientem, ale również produktywne partnerstwo
Oryginalną treść manifestu można znaleźć na stronie http://manifesto.softwarecraftsmanship.org.
Podczas zajęć analizować będziemy poszczególne dyscypliny agile ukierunkowane zarówno na aspekty procesowe jak i techniczne. Po zapoznaniu się z dwoma prezentacjami przeprowadzać będziemy dyskusje, w których postaramy się poruszyć istotne zagadnienia dla omawianych tematów.
Podczas zajęć każdy uczestnik przedstawi w semestrze dwie prezentacje, w których odpowiednio:
- omówi wybraną dyscyplinę procesową lub techniczną, przedstawiając:
- zasadę jej działania,
- przykłady zastosowań,
- odwołania do wartości manifestów,
- odwołania do innych dyscyplin Agile
- etc.
- przedstawi argumentację "przeciwko", uwzględniając np:
- sytuacje, gdy dana dyscyplina nie będzie optymalna lub nie będzie mieć zastosowania,
- antywzorce wdrażania i wynikające z tego problemy,
- aspekty "komercjalizacji" i wynikające z tego problemy,
- odwołania do znanych artykułów,
- przykłady z projektów,
- własne doświadczenia
- etc.
Ocena końcowa będzie średnią ocen obu prezentacji. Na podwyższenie uzyskanej oceny będzie mieć wpływ aktywność podczas zajęć, w szczególności podczas dyskusji.
Gorąco zachęcam do kontaktu z autorami poszczególnych dyscyplin, zarówno za pomocą emaila jak i Twittera! Lista kontaktów będzie sukcesywnie uzupełniana.
- SCRUM
- Pomocne materiały:
- Autorzy:
- Ken Schwaber, https://twitter.com/kschwaber
- Jeff Sutherland, https://twitter.com/jeffsutherland
- Osoby
- Anna K.
- Mariusz B.
- Uwagi
- Proszę nie poruszać tematu SAFe i skalowania SCRUMa
- Behavor Driven Development
- KanBan
- Test Driven Development
- Scaled Agile Framework, SAFe/ Nexus / Large-scale SCRUM
- Extreme Programming
- Crystal
- Domain Driven Design
- Osoby
- Szymon K.
- Osoby
- Lean Software Development
- EventStorming
- Uwagi
- Podczas prezentacji techniki można przeprowadzić przykładową sesję modelowania
- Uwagi
- Feature Driven Development
- User Story Mapping
- Uwagi
- Podczas prezentacji techniki można przeprowadzić przykładową sesję modelowania
- Osoby
- Zuzia K.
- Stachu
- Uwagi
- Agile Unified Process
- Uwagi
- Proszę odnieść się także do modelu Rational Unified Process
- Uwagi
- Pair Programming / Refactoring
Plan będzie uzupełniany o kolejne dyscypliny, zgłoszeń do kolejnych tematów można dokonywać podczas zajęć.
Lista prezentacji przedstawionych podczas zajęć: