Scrum, Agile i inne corpo stwory
Scrum
metodyka zarządzania procesami
def: ramy postępowania (framework) dzięki którym z powodzeniem rozwiązuje się złożony problem adaptacyjny, by w sposób produktywny i kreatywny wytworzyć produkt o najwyższej możliwej wartości.
opisuje ogólny sposób postępowania
empiryczna kontrola procesu (wiedza z doświadczenia, podejmowanych decyzji w oparciu o to co poznane)
podejście iteracyjne i przyrostowe
3 filary:
- przejrzystość:
- istotne aspekty procesu widoczne
- wspólne, zrozumiałe nazewnictwo elementów
- wspólna definicja 'zakończonego’ procesu
- inspekcja:
- częsta inspekcja artefaktów scrumowych
- częsta inspekcja postępów realizacji Sprint Goal – pozwala na wykrycie rozbieżności
- adaptacja
- wykrycie przez inspekcję wykroczenia aspektu/ów poza przyjęte limity – jak najszybsza korekcja procesu
słowniczek:
- Sprint – określony przedział czasowy, rozwój podzielony na mniejsze, krótsze iteracje, następujące po sobie. po każdym sprincie zespół dostarcza działającą wersję produktu, z widocznymi dla użytkowników zmianami.
- Sprint Goal – cele Sprintu
- User Stories – historie lista wymagań użytkowników, 1 historia = 1 cecha systemu
- Product Backlog – rejestr wymagań
- Sprint Planning – planowanie przebiegu
- Sprint Backlog – rejestr zadań przebiegu, lista
- Scrum Teams – zespoły Scrumowe od 3-9 osób, samoorganizujące się ciało, charakter interdyscyplinarny, międzyfunkcjonalne (cross-functional)
- Product Owner – właściciel produktu, reprezentuje klienta, określa priorytety wymagań i główny cel, maksymalizuje wartość produktu i pracy Development Team
- zarządza Product Backlog
- Scrum Master – odpowiada za:
- poprawną implementację procesu i metod
- usuwa przeszkody uniemożliwiające zespołowi wykonanie zadania
- Development Team – zespół developerski, od 3-9 osób, odpowiedzialni za dostarczenie produktu, zasady:
- międzyfunkcjonalny
- każda osoba ma tytuł Developer
- nie istnieją podzespoły
- cały DT ponosi odpowiedzialność za proces
- Product Owner – właściciel produktu, reprezentuje klienta, określa priorytety wymagań i główny cel, maksymalizuje wartość produktu i pracy Development Team
- Daily Scrum – codzienne, 15min spotkania, omówienie zadań wykonanych poprzedniego dnia, problemów, zadań do wykonania na dany dzień
- Sprint Review – spotkanie – przegląd przebiegu, prezentowanie wyniku pracy zespołu poprzez prezentację produktu. Ustalenie terminu spotkania planistycznego do następnego przebiegu.
- Product Increment – przyrost produktu tworzony przez DT
- Timebox – zdarzenia w scrumie są ograniczone czasowo
Sprint składa się z:
- Planowanie Sprintu
- Daily Scrum
- praca wytwórcza
- przegląd Sprintu
- retrospektywa Sprintu
Zdarzenia:
- Sprint Planning Meeting
- Daily Scrum
- Sprint Review Meeting
- Sprint Retrospective
Zarządzanie Product Backlog:
- jasne artykułowanie elementów PB
- ustalenie kolejności elementów PB tak aby osiągnąć założone cele i misje
- optymalizowanie wartości pracy wykonanej przez Development Team
- PB ma być dostępny, przejrzysty, zrozumiały (także jego elementy), jasny, opis dalszych działań DT
Praca:
- lista wymagań użytkowników w postaci historyjek – User Stories
- każda historia – jedna cecha systemu
- Product Owner przedstawia:
- priorytet wymagań
- główny cel pierwszego przebiegu
- formułowanie rejestru wymagań – Product Backlog
- Cel zapisywany w widocznym miejscu pokoju
- planowanie przebiegu – Sprint Planning – określa się:
- zadania o najwyższym priorytecie
- czas realizacji – szacunkowy
- pracochłonność
- złożoność
- ryzyko każdego zadania
- stworzenie listy Sprint Backlog
- realizacja przebiegu – Product Owner pracuje z zespołem nad jak najlepszym zrozumieniem wymagań, bez ingerencji w sposób ich implementacji.
- zakres Sprintu nie powinien być zmieniany
- brak odgórnego przypisania zadań do poszczególnych osób, samodzielne dokonanie wyboru realizowanych zadań według wspólnych ustaleń, preferencji, umiejętnosci
- Daily Scrum – omówienie
- Sprint Review
Efekty:
- dostarczanie coraz bardziej dopracowanych wyników projektu
- włączanie przyszłych użytkowników w proces wytwórczy
- samoorganizacja zespołu projektowego
role –
zdarzenia –
artefakty –
reguły (zestawy reguł) –
Planning
Gruming
Store pointy
demo
retro
And more…
- scrum guides
- www.scrumdo.pl
- iicmagazine.pl/2011/05/11/wstep-do-scrum/
- książka: Jeff Sutherland – Scrum. Czyli jak robić dwa razy więcej dwa razy szybciej
Agile
Agile software development-grupa metodyk tworzenie oprogramowania oparta na programowaniu iteracyjno-przyrostowym. Programowanie zwinne.
założenia:
- wymagania odbiorcy ewoluują podczas trwania projektu
- tworzenie oprogramowania podczas współpracy samozarządzalnych, wielofunkcyjnych zespołów, bez hierarchii korporacyjnej
- bezpośrednia komunikacja pomiędzy osobami zespołu – minimalizacja potrzeby tworzenia dokumentacji
zdyscyplinowane zarządzanie projektem – inspekcje wymagań i rozwiązań oraz procesy adaptacji (specyfikacji, oprogramowania).
szybkie tworzenie oprogramowania wysokiej jakości.
Agile Manifesto:
- osiągnięcie satysfakcji odbiorcy poprzez szybkość wytwarzania oprogramowania
- okresowo dostarczane działające oprogramowanie (tygodniowo)
- miara postępu – działające oprogramowanie
- późne zmiany w specyfikacji nie mają destrukcyjnego wpływu na proces tworzenia oprogramowania
- współpraca pomiędzy biznesem a developerem
- forma komunikacji – bezpośredni kontakt
- ważne – aspekty techniczne design projektu
- prostota
- samozarządalność zespołu
- regularna adaptacja do zmieniających się wymagań
Hope this helps and happy coding :)
Zobacz jeszcze
LESS
Less - dynamiczne arkusze stylów dobre praktyki: do komentarzy używaj // zamiast /* .. */ używaj mixins z parametrami kompilując kod LESS minifikuj CSS twórz kod...