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
  • 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:

  1. Sprint Planning Meeting
  2. Daily Scrum
  3. Sprint Review Meeting
  4. 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:

  1. lista wymagań użytkowników w postaci historyjek – User Stories
    1. każda historia – jedna cecha systemu
  2. Product Owner przedstawia:
    1. priorytet wymagań
    2. główny cel pierwszego przebiegu
  3. formułowanie rejestru wymagań – Product Backlog
  4. Cel zapisywany w widocznym miejscu pokoju
  5. planowanie przebiegu – Sprint Planning – określa się:
    1. zadania o najwyższym priorytecie
    2. czas realizacji – szacunkowy
    3. pracochłonność
    4. złożoność
    5. ryzyko każdego zadania
  6. stworzenie listy Sprint Backlog
  7. realizacja przebiegu – Product Owner pracuje z zespołem nad jak najlepszym zrozumieniem wymagań, bez ingerencji w sposób ich implementacji.
  8. zakres Sprintu nie powinien być zmieniany
  9. brak odgórnego przypisania zadań do poszczególnych osób, samodzielne dokonanie wyboru realizowanych zadań według wspólnych ustaleń, preferencji, umiejętnosci
  10. Daily Scrum – omówienie
  11. 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ń