Agile – ale o co chodzi? Scrum, Kanban, XP

Slides:



Advertisements
Podobne prezentacje
Agile w praktyce, czyli jak to robimy naprawdę
Advertisements

ZARZĄDZANIE ZAPASAMI.
Maciej Pietrzykowski Katedra Strategii i Polityki
Ludwik Antal - Numeryczna analiza pól elektromagnetycznych –W10

Opis metodyki i procesu produkcji oprogramowania
Metodyki prowadzenia projektów - SCRUM
Zarządzanie projektem informatycznym ZPR
Zarządzanie zakresem i czasem
Zintegrowane podejście do systemu motywacyjnego w ZUS
EXtreme Programming » Magdalena Tchorzewska.
J. Nawrocki, Inżynieria oprog. Plan wykładu Praktyki XP Wcześniejsze badania Personal Software Process eXtremme Programming Opis eksperymentu WynikiPodsumowanie.
Dyscyplina i zwinność w projektach informatycznych
Typy zachowań firmy w procesie internacjonalizacji (projekt badawczy)
Życiorys mgr inż. Katarzyna Łukasiewicz Katedra Inżynierii Oprogramowania WETI PG Urodzona: r. Wykształcenie: 2010 – obecnie studia doktoranckie.
Wymagania jakości w Agile Programming
Metodyki Lekkie Agile Methodologies
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Bardzo ważnym elementem metodologii projektowania systemów informatycznych jest PMBoK PMBoK (ang. Project Management Body of Knowledge) jest zbiorem standardów.
Wykład 2 Cykl życia systemu informacyjnego
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- V Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat a.
Zarządzanie projektami
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
co daje, kiedy jest potrzebne i jak je zaimplementować mimo oporów?
Twoje narzędzie do pracy grupowej
Innowacje organizacyjne w usługach
Zarządzanie projektami IT
Continuous Integration
2011 Marketing Oriented Project Management – skuteczna metoda wdrażania innowacji Krzysztof Witkowski.
Kompleksowe zarządzanie jakością informacji (TIQM)
15 kwietnia 2011 r. Alicja Kuźniar, Biuro Projektów Transferu Wiedzy
Wewnętrzny system zapewniania jakości PJWSTK - główne założenia i kierunki działań w ramach projektu „Kaizen - japońska jakość w PJWSTK” Projekt współfinansowany.
PPPRCHITM Zintegrowany System Zarządzxania
Zarządzanie jakością projektu
Magdalena kurzyńska Sławomir Kwasiborski
Klucze do sukcesów w zarządzaniu
1 Zdjęcia ze stron: Spotkanie dotowane w ramach: Programu Rozwoju Samorządów Salamon Consulting.
Metodyki zarządzania projektami
1 Zdjęcia ze stron: Spotkanie dotowane Salamon Consulting.
ŻYWE JĘZYKI PROGRAMOWANIA LIVING IT UP WITH A LIVE PROGRAMMING LANGUAGE Sean McDirmid Ecole Polytechnique Fédérale de Lausanne (EPFL)
Zarządzanie projektami
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- VII Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat.
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- VII Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat.
Program Operacyjny Kapitał Ludzki
Metodyka zarządzania projektami w nurcie Agile
Metodyki wytwarzania i utrzymywania aplikacji
Analiza kluczowych czynników sukcesu
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- VI Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat a.
NAUKA O ORGANIZACJI EWOLUCJA KONCEPCJI.
Waterfall model.
Zarządzanie zagrożeniami
ZOSTAŃ SPORTOWYM KOKSEM SP 11 TYM KTÓRY OCZARUJE KOMISJĘ SĘDZIOWSKĄ.
ŁUKASZ DZWONKOWSKI Modele zwinne i ekstremalne. Podejście tradycyjne
Podstawy zarządzania projektami Karta projektu
Agile Manifesto Manifest Zwinnego Wytwarzania Oprogramowania
Business Consulting Services © 2005 IBM Corporation Confidential.
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Artur Milewski SCRUM.
Karolina Muszyńska. Spis zagadnień Wprowadzenie Znaczenie zarządzania komunikacją dla powodzenia projektu Praktyki zarządzania komunikacją w zespołach.
Wstęp do systemów informatycznych Scrum – praca w małych zespołach.
Opiekun naukowy: dr hab. inż. Tadeusz A. Grzeszczyk Metoda oceny publicznych projektów informatycznych Politechnika Warszawska Wydział Zarządzania mgr.
WYKŁAD dr Krystyna Kmiotek
Zarządzanie projektami (Project management) planowanie, organizacja, monitorowanie i kierowanie wszystkimi aspektami projektu motywowanie jego wszystkich.
Inżynieria oprogramowania Metodologia SCRUM WWW: Jacek Matulewski Instytut Fizyki, UMK.
Agile Programming a jakość
Plan projektu biznesowego
Scrum z perspektywy testera
Inżynieria oprogramowania Metodologia SCRUM
IEEE SPMP Autor : Tomasz Czwarno
Agile PM Metodyki zwinne zarządzania projektami
Zapis prezentacji:

Agile – ale o co chodzi? Scrum, Kanban, XP Paweł Wójciak 26.11.2013 1

Cele wykładu Zapoznanie z rysem historycznym dotyczącym zarządzania projektami. Przedstawienie podstawowych informacji dotyczących najpopularniejszych metod z obszaru zwinnego zarządzania projektami. Analiza specyfiki projektów opartych o wiedzę i innowację w kontekście doboru metod zarządzania. Zachęcenie do postrzegania tworzenia oprogramowania jako rzemiosła. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 2 2

Zarządzanie projektami – krótka historia Do ok. 1900 roku – niesformalizowane Frederic Taylor – „zarządzanie naukowe” Zastąpienie tradycyjnych metod pracy metodami opartymi na naukowym badaniu zadań, Selekcja i szkolenia pracowników w oparciu o naukowe metody jest lepsze niż pasywne pozostawienie ich, aby szkolili się sami, Zapewnienie „szczegółowych instrukcji i nadzoru każdemu pracownikowi, aby monitorować jego indywidualną wydajność”, Podział pracy, w którym kierownicy stosują naukowe metody do planowania pracy, którą faktycznie wykonują pracownicy Frederick W. Taylor 1856 - 1915 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 3

Ojcowie Zarządzania Projektami Henry Gantt (1861-1919) „Ojciec technik planowania i kontroli” System zadań i premii dla Bethlehem Steel „Work, Wages and Profits” – 1910 „Organizing for Work” - 1919 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 4

Ojcowie Zarządzania Projektami Henri Fayol (1841 – 1925) "Administration Industrielle et Générale” - 1916 Funkcje zarządzania przewidywanie organizowanie rozkazywanie koordynowanie kontrolowanie Zasady zarządzania Podział pracy - specjalizacja Autorytet (władza) – formalny i osobisty Dyscyplina Jedność rozkazodawstwa Jednolitość kierownictwa Podporządkowanie interesu osobistego interesowi ogółu Wynagrodzenie – sprawiedliwe Centralizacja (decyzyjności) Hierarchia Ład Ludzkie traktowanie personelu Stabilizacja personelu – wzrost efektywności Inicjatywa – decyzyjność motywuje Esprit des Corps – Team Sprit Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 5

Historia zarządzania - podsumowanie Tradycyjne zarządzanie wyrosło ze środowiska produkcji przemysłowej Wzrost efektywności wykonywania powtarzalnych prac Zakłada możliwość łatwego dzielenia pracy na etapy/zadania Hierarchia pomaga systematyzować strukturę dużych organizacji Dysproporcja kompetencji kadry zarządzającej i załogi wymaga podejścia „rozkazuj i kontroluj” Kierownik = dowódca Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 6

Współczesność – organizacje PM IPMA – 1967 PMI – 1969 (PMBOK 5th edition - 2013) Office of Government Commerce (OGC)/APM – PRINCE2 (:2009), ITIL (v3 – 2007, 2011) Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 7

Zarządzanie projektami w ujęciu PMBOK 5 grup procesów Inicjacja Planowanie Wykonanie Monitorowanie i kontrola Zamykanie 10 obszarów Zarządzanie integracją projektu Zarządzanie zakresem projektu Zarządzanie czasem w projekcie Zarządzanie kosztami projektu Zarządzanie jakością projektu Zarządzanie zasobami ludzkimi w projekcie Zarządzanie komunikacją w projekcie Zarządzanie ryzykiem projektu Zarządzanie dostawami w projekcie Zarządzanie interesariuszami projektu Obszary te istnieją - niezależnie od metody(ki) realizacji projektu! Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 8

Winston Royce i model Waterfall „Managing the Development of Large Software Systems” - 1970 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 9

Czego nie doczytano? „I believe in this concept, but the implementation described above is risky and invites failure” [After test results and findings] required design changes are likely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything are violated. Either the requirements must be modified, or a substantial change in the design is required. In effect the development process has returned to the origin and one can expect up to a l00-percent overrun in schedule and/or costs Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 10

Problemy z planowaniem predykcyjnym ©2005 Paragon Innovations, Inc. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 11

Problemy z planowaniem predykcyjnym Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 12

Planowanie w złożonym środowisku Musicie zapewnić stałą temperaturę 22⁰C w pomieszczeniu 6x12m. O 8:00 jest uruchamiany program sterujący ogrzewaniem, wentylacją, żaluzjami i Klimatyzacją z góry na cały dzień, aby utrzymać zadaną temperaturę. Pytanie: Jakie zmienne musicie wziąć pod uwagę przy programowaniu urządzeń? Ilość osób w pokoju w określonych porach, poziom ich metabolizmu i aktywności, pora roku i pogoda na zewnątrz, temperatura w sąsiednich pomieszczeniach, działające urządzenia elektryczne i gazowe, materiał z którego zbudowany jest budynek i ściany pomieszczenia, wnoszone ciepłe posiłki, obecność wentylacji grawitacyjnej… Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 13

Prostsze rozwiązanie Zastosować podejście empiryczne: Często mierzyć temperaturę Dostosowywać pracę urządzeń (ogrzewanie/chłodzenie) Zapewnić transparentność, tzn. zagwarantować, że mierzona jest faktyczna temperatura w pokoju. Tak naprawdę potrzebny jest tylko ten parametr i częste dostosowywanie! Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 14

Agile – ponieważ grawitacja działa… Potrzeby klientów zmieniają się. Grawitacja. To, co może zrealizować zespół, znane jest tylko jego członkom i zmienia się w czasie. Grawitacja. Świat i biznes zmienia się w szybkim tempie, tworząc sytuacje trudne do wcześniejszego przewidzenia. Grawitacja. Nie można powziąć zobowiązania za kogoś innego i spodziewać się maksymalnego zaangażowania. Grawitacja. Tworzenie oprogramowania jest pracą twórczą a nie wytwórczą i rządzi się innymi prawami niż fabryka. Grawitacja. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 15

Fundamenty Agile Empiryzm Samoorganizacja Współpraca Priorytetyzacja Rytm Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 16

Agile Manifesto Podpisany w 2001 roku przez 17 osób związanych z „lekkimi metodami tworzenia oprogramowania” Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 17

Wartości Agile Scrum XP Kanban Skupienie Odwaga Otwartość Zobowiązanie Szacunek XP Prostota Komunikacja Informacja zwrotna Szacunek Odwaga Kanban Kaizen Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 18

Scrum Jeff Sutherland i Ken Schwaber (OOPSLA ‘95) Scrum (rzecz.): metoda, przy użyciu której ludzie mogą z powodzeniem rozwiązywać złożone problemy adaptacyjne, by w sposób produktywny i kreatywny wytwarzać produkty o najwyższej możliwej wartości. Scrum jest: • lekki, • łatwy do zrozumienia, • bardzo trudny do opanowania. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 19

Scrum Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 20

Iteracyjność Sprinty to iteracje o sztywnych ramach czasowych. Cała praca związana z wydaniem nowego inkrementu produktu odbywa się w sprincie. Sprint ma stałą długość – 1 miesiąc lub mniej (rytm). Długość Sprintu zależy od akceptowalnego horyzontu planowania. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 21

Scrum - elementy Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 22

Role i odpowiedzialności Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 23

Artefakty Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 24

Ceremonie Sprint Planning Daily Scrum Sprint Review Sprint Retrospective Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 25

Definition of „Done” Lista warunków, jakie musi spełniać produkt (i jego „ukończone” elementy) Funkcjonalność nie może posiadać „czegoś, co jeszcze trzeba dorobić” Definicja musi być przejrzysta – wszyscy zainteresowani muszą ją tak samo rozumieć Opisuje techniczną jakość produktu Powinna pomagać optymalizować utrzymalność i możliwość dalszego rozwoju (maintainability, sustainability, enhanceability) Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 26

Planowanie inkrementalne Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 27

Planowanie w oparciu o dane empiryczne Story Points – abstrakcyjna jednostka wielkości Złożoność Niepewność Praca Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 28

Planowanie w oparciu o dane empiryczne Gra w wycenę – planning poker Wariant metody delfickiej Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 29

Planowanie w oparciu o dane empiryczne Velocity – empiryczna miara postępu prac Sprint 2 Sprint 3 Sprint 4 Sprint 1 SP t Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 30

Kanban (jap.) „Tablica informacyjna” System wspierający produkcję i logistykę – Toyota 1953 Zaadaptowany do środowiska IT przez Davida J. Andersona (Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results – 2003) Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 31

„The Kanban Method” Zacznij od tego, co masz Dąż do ewolucyjnych, przyrostowych zmian Respektuj obecny proces, role i stanowiska Wspieraj przywództwo na każdym szczeblu Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 32

6 zasad Kanban Wizualizacja przepływu pracy Ograniczenie „pracy w toku” (Work in progress – WIP) Optymalizacja przepływu Jasne, precyzyjne zasady System infromacji zwrotnej Poprawa dzięki współpracy, rozwój dzięki eksperymentom Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 33

Kanban D A B C E Najprostszy przykład TO DO IN PROGRESS (WIP = 1) DONE Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 34

Kanban A E F B D C Identyfikacja wąskich gardeł DEVELOPMENT (WIP = 2) TESTING (WIP = 1) DEPLOYMENT (WIP = 1) TO DO DONE In progress Done In progress Done A E F B D C Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 35

Kanban Identyfikacja „wąskich gardeł” Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 36

Interpretacja wykresu Lead time Cycle time Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 37

eXtreme Programming Stworzone przez Kenta Becka i Rona Jeffriesa w projekcie C3 (1993-1999) „Extreme Programming Explained” – 1999 Koncepcyjnie bliskie Scrumowi, ale zawiera również konkretne praktyki developerskie W praktyce – wiele elementów używanych przez zespoły Scrumowe Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 38

XP – 12 praktyk w grupach Pętle informacji zwrotnej Ciągły proces Gra w planowanie Programowanie Parami Test-Driven Development Klient na miejscu Ciągły proces Małe wydania Refactoring Continuous Integration Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 39

XP – 12 praktyk w grupach Wspólne zrozumienie (Przejrzystość) Metafora systemu Standard kodu Prostota projektu (KISS) Wspólny kod „Sustainable pace” 40-godzinny tydzień pracy Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 40

Warsztat - wprowadzenie Podzielcie się na zespoły wielkości 3-9 osób Pracujecie w firmie, która planuje stworzenie aplikacji która zapewni dostęp do muzyki online, zarabiając na reklamach i płacąc artystom/wytwórniom tantiemy w zależności od popularności utworów Na stworzenie pierwszej wersji aplikacji jest 4 miesiące (uwarunkowania biznesowe) Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Zadanie 1: Przygotowanie Backlogu Produktu Jest 1 grudnia, termin wydania to 30 marca Zdefiniujcie wymagania funkcjonalne i niefunkcjonalne Dla każdego elementu Backlogu użyjcie osobnej karteczki Rada: Nie próbujcie dokładnie analizować wszystkiego, wystarczy max. 20 najważniejszych elementów Czas: 15 minut Produkt: Backlog Produktu Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Zadanie 2: Porządkowanie Backlogu Produktu Nadajcie każdemu elementu wartość biznesową w skali 1-100 i zapiszcie ją w rogu karteczki Żadne dwa elementy nie mogą mieć takiej samej wartości W trakcie dyskusji możecie znaleźć nowe wymagania, połączyć lub rozbić już istniejące Posortujcie Backlog według wartości Czas: 15 minut Produkt: uporządkowany Backlog Produktu Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Zadanie 3: Szacowanie wielkości wymagań Każdy z Was otrzymuje jeden zestaw kart do planning pokera Uzgodnijcie, który element Backlogu jest średniej wielkości i nadajcie mu wartość „5” „Wielkość” uwzględnia złożoność, niepewność oraz całość prac aby wymaganie było gotowe do użycia Głosujcie, określając relatywną wielkość wymagań – w przypadku znacznej różnicy zdań przedyskutujcie przyczyny i głosujcie ponownie; wynik oszacowania zapiszcie na karteczce z wymaganiem Zsumujcie oszacowania aby określić wielkość Backlogu Produktu Czas: 15 minut Produkt: Backlog Produktu z oszacowaniem Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Zadanie 4: Precyzowanie elementów Backlogu Założenie: w dwutygodniowym Sprincie zespół może zrealizować 14 punktów Rozbijcie wymagania (tworząc w razie potrzeby nowe karty) w taki sposób, aby w pierwszych dwóch Sprintach złożoność żadnego nie przekroczyła 3 punktów a w kolejnych czterech Sprintach – 8 punktów Rada: rozbijając wymagania nie zapominajcie o ich wartości biznesowej Czas: 20 minut Produkt: Backlog Produktu o odpowiedniej granulacji Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Zadanie 5: Planowanie empiryczne Założenie: w trzech pierwszych Sprintach Velocity zespołu wyniosło: 10, 13 i 15 punktów. Odpowiedzcie na następujące pytania: Czy zrealizujecie projekt w oczekiwanym czasie? Ile Sprintów potrzebujecie na zakończenie prac? Co jest sukcesem projektu? Jak możecie zwiększyć szansę sukcesu? Czas: 10 minut Produkt: harmonogram oparty o dane empiryczne Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Lektury K. Schwaber, J. Sutherland – Scrum Guide M. Cohn – Agile Estimating and Planning M. Cohn – Succeeding with Agile: Software Development Using Scrum L. Adkins – Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition D. Anderson - Kanban: Successful Evolutionary Change for Your Technology Business K. Beck – Extreme Programming Explained: Embrace Change www.scrum.org www.scrumalliance.org limitedwipsociety.ning.com www.mountaingoatsoftware.com www.extremeprogramming.org Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 47

Pytania ? Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 48