Programowanie zespołowe Dr inż. Robert Banasiak

Podobne dokumenty
Podejście tradycyjne. plan wykonanie sekwencyjna natura wykonywanych zadań

PRZEGLĄD KONCEPCJI ZARZĄDZANIA JAKOŚCIĄ

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

Spis treści. Przedmowa. Wstęp. O książce. O autorach. O ilustracji na okładce. Podziękowania CZĘŚĆ I NAUKA KANBAN

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Wprowadzenie do metodyki SCRUM. mgr inż. Remigiusz Samborski Instytut Informatyki Politechnika Wrocławska

Planowanie i realizacja zadań w zespole Scrum

Jak być agile w projekcie utrzymaniowym? JOANNA SIEMIŃSKA

Programowanie Zespołowe

DLACZEGO TO DZIAŁA? 21. marca 2012r.

Zobacz, jak skutecznie zarządzać pracą!

SCRUM. Metodyka prowadzenia projektów. Na podstawie prezentacji B. Kuka i W. Sidora

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny

Scrum i nie tylko : teoria i praktyka w metodach Agile / Krystian Kaczor. Wyd. 2. Warszawa, Spis treści

Programowanie Zespołowe

Zarządzanie projektami. Porównanie podstawowych metodyk

Scrum. Zwinna metodyka prowadzenia projektów

DOSKONALENIE PROCESÓW

Kanban i Scrum jak uzyskać najlepsze z obu. Henrik Kniberg i Mattias Skarin Wstęp: Mary Poppendieck i David Anderson

Scaling Scrum with SAFe. Małgorzata Czerwińska

Scrum w praktyce. Michał Piórek

4. Wprowadzanie Scruma w ImmobilienScout Opis sytuacji

Agile vs PRINCE /2015 I rok st. magisterskie Informatyka

Kanban - od systemu push do pull - Planowanie operacyjne produkcji

SCRUM. Wprowadzenie Role Zdarzenia Artefakty KANBAN SCRUM-BAN

Open innovation. "It is not enough just to be innovative. It is essential to be innovative all the time." Pinelli, Ernst & Young, 2012

Programowanie zespołowe

e R gulamin Kuźni Talentów

SCRUM - FRAMEWORK DO ZWINNEGO PROWADZENIA PROJEKTÓW. Ilona Ławniczak-Tomczak

Business Development Consulting

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Skuteczność => Efekty => Sukces

Katalog rozwiązań informatycznych dla firm produkcyjnych

Dobry Product Backlog Oferta szkolenia dla Product Ownerów

Programowanie obiektowe

Klasyczna organizacja też może być zwinna! Zarządzaj zwinnie projektami!

Podejście zwinne do zarządzania projektami

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

Integracja Lean management i BIM w projektach infrastrukturalnych

Akademia ADB Wykład I Praca w grupie i jakość kodu

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

SCRUM Product Owner - wstęp do zarządzania produktami

Zarządzanie Projektami zgodnie z PRINCE2

EXIN Agile Scrum Foundation. Przewodnik egzaminacyjny

Wsparcie koncepcji Lean Manufacturing w przemyśle przez systemy IT/ERP

KLUB EFEKTYWNOŚCI MODUŁ PIERWSZY: OPTYMALIZACJA PROCESÓW

Agile Project Management

Programowanie zwinne - wprowadzenie. Programowanie ekstremalne. Wstęp Reguły i praktyki SCRUM. Wprowadzenie Role Zdarzenia Artefakty

Estimation and planing. Marek Majchrzak, Andrzej Bednarz Wroclaw,

Programowanie zespołowe

Projektowanie oprogramowania. Termin zajęć: poniedziałek, a podstawie materiału ze strony.

Narzędzia doskonalenia produkcji - LEAN, KAIZEN, TOC, GEMBA

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

I Twój zespół może być zwinny (choć to może trochę potrwać) Paweł Lipiński

Symulacja LEAN OFFICE

PROGRAM POPRAWY PRODUKTYWNOŚCI

KANBAN SCRUM-BAN. Agile PM Zarys AUP

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

KOMPLEKSOWE ZARZĄDZANIE JAKOŚCIĄ MODELOWANIE PROCESÓW

Wykład 1 Inżynieria Oprogramowania

Ograniczanie kosztów w praktyce. Lean Management... czy warto podążać za trendami? KAMIL RADOM

SKUTECZNE ZARZĄDZANIE PROJEKTEM

Stabilis - cyfrowe wsparcie Lean Manufacturing

Just In Time (JIT). KANBAN

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Oszacowanie kosztów i korzyści metod zwinnych. WARSZTAT III 24 września 2014 Bogdan victo.eu

Lekkie metodyki. tworzenia oprogramowania

Planowanie logistyczne

Mapy strumienia wartości (Value Stream Mapping)

IT4M+ nowoczesna aplikacja

Zwinne wytwarzanie oprogramowania. Ian Sommerville: Software Engineering 9th edition, chapter 3. 1

Techniki komputerowe w robotyce

Jak oszczędzić pieniądze dzięki optymalizacji produkcji. Andrzej Kuś

Doskonalenie procesów w oparciu o metodykę Kaizen

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Zarządzanie procesorem

Oferta szkoleń firmy Code Sprinters

Temat: Zwinne Zarządzanie Projektami IT (Agile / Scrum) Data: marca 2014 r. (2 dni, czwartek-piątek), godz. 9-16

DevOps w duecie. Autorzy: Cezary Krzemiński Dariusz Puchalak

KILKA SŁÓW O ROLI PRODUCT MANAGERA

Koncepcja szczupłego zarządzania w magazynach

Metodyki programowania. Tomasz Kaszuba 2015

Zarządzanie projektami IT metodyką SCRUM. Cezary Kamiński

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Toyota KATA. System Produkcyjny Toyoty i realizacja celów organizacji. TERMIN: Warszawa października 2018 r. Cena : 1900 zł Kontakt:

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

Katalog rozwiązań informatycznych dla firm produkcyjnych

Inżynieria oprogramowania

Zwinne metodyki - Scrum

Specyfikacja egzaminu PRINCE2 Agile dla instytucji egzaminacyjnych i akredytowanych organizacji szkoleniowych. Wrzesień AXELOS.

szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.

5S - utrzymanie zorganizowanego i wydajnego miejsca pracy na przykładzie firmy produkcyjnej. Maciej Koc Trener Lean Manufacturing

ZARZĄDZANIE DOKUMENTACJĄ. Tomasz Jarmuszczak PCC Polska

Mapowanie Strumienia Wartości + Symulacja

Scrum i Kanban. Analiza lekkich metod wytwarzania oprogramowania. Kamil Dowlaszewicz

Rozdział 2.1. Jolanta ŁOPATOWSKA ANALIZA PORÓWAWCZA WYBRANYCH METOD PLA- NOWANIA I STEROWANIA PRODUKCJĄ

Opis realizacji dla czterech zespołów (4 przypadki użycia)

Transkrypt:

Programowanie zespołowe Dr inż. Robert Banasiak 1

Agile jest dosyć sformalizowany... Kto by pomyślał ;-) Ludzie powinni być jakoś zorganizowani Inaczej będą się włóczyć bez celu Agile zastępuje techniki z tradycyjnych metodyk innymi technikami Może ciekawszymi i zabawniejszymi? (np. programowanie w parach jest zabawne)... ale niekoniecznie mniej formalnymi 2

Nie chcemy/możemy pracować w przedziałach o określonym czasie. Ciągle wpychają nam bardzo ważne rzeczy do zrobienia. Zdolności estymacyjne zespołu są... Czy jesteśmy zbyt elastyczni jak na agile? 3

Temat 1 - Oszczędne wytwarzanie Temat 2 - Kanban w pigułce Temat 3 - Kanban przez analogię (do Scrum) 4

Czas cyklu produkcyjnego (ang. lead time) średni czas jaki potrzebny jest do przepłynięcia zadania przez proces. Czas oczekiwania (ang. queue time) Czas pomiędzy czynnościami, w którym zadania czekają na wejście do kolejnego etapu procesu Czas przetwarzania (ang. procesing time) Czas potrzebny na wytworzenie (wykonanie zadania) Czas generowania wartości (ang. Value added time) Czas związany z tymi działaniami w procesie, za które faktycznie klient płaci 5

Ciągła poprawa (ang. continuous improvement) procesu poprzez redukcję odpadów (czynności nie generujących wartości dodanej). Minimalizacja czasu cyklu produkcyjnego Czas cyklu produkcyjnego = czas generacji odpadów + czas wytworzenia wartości dodanej Lean = Zamiast minimalizować czas wytworzenia wartości dodanej zminimalizujmy czas generacji odpadów. 6

7

8

(jap. Kan - widoczny, Ban - kartka papieru) Tabliczka informacyjna, billboard Sterowanie zapasami Dążenie do eliminacji magazynów Uruchamianie produkcji w razie potrzeby System pull Karta Kanban zlecenie produkcyjne + opis zawartości pojemników 9

Adaptacja dla potrzeb wytwarzania oprogramowania Wizualny system zarządzania, który określa co i ile wyprodukować Metoda Kanban Przyrostowy proces ewolucyjnego ulepszania organizacji Limit pracy w toku (ang. Work-In-Progress - WIP) jako mechanizm detekcji problemów organizacyjnych i stymulacji współpracy 10

Wizualizacja przepływu procesu Podziel pracę na części, zapisz je na kartkach i umieść na ścianie Wykorzystaj nazwane kolumny w celu zilustrowania w którym miejscu przepływu znajduje się każdy element. 11

Ograniczanie zadań w realizacji (WIP Worki-In-Progress) Określ limity dotyczące liczby elementów, które mogą znajdować się w danym stanie przepływu. 12

Pomiary czasu cyklu produkcyjnego (ang. lead time) Optymalizuj proces dążąc do minimalizacji czasu cyklu oraz do zwiększania jego przewidywalności. 13

Obie metodyki są narzędziami procesowymi które można porównywać w celu lepszego zrozumienia ale nie oceny!! Żadne narzędzie nie jest kompletne, żadne nie jest doskonałe. 14

Scrum jest bardziej nakazowy 15

Scrum narzuca role Kanban nie definiuje żadnej roli nie znaczy, że nie powinno być ról znaczy, że nie musi być 16

Scrum wprowadza iteracje o określonym czasie trwania 17

Kanban nie narzuca iteracji Wydanie - co tydzień Planowanie co 2 tygodnie Retrospekcja co 4 tygodnie 18

Kanban nie narzuca iteracji Wydanie jeżeli jest coś gotowego Planowanie jeżeli brakuje zadań Retrospekcje co 4 tygodnie 19

Ograniczanie liczby zadań w toku Kanban Na stan przepływu Scrum Na iterację (jednostkę czasu) 20

Podejście empiryczne 21

Zmień coś -> sprawdź jak poszło -> wyciągnij wnioski -> znów coś zmień Scrum sprint (tygodnie), daily scrum (1 dzień) Kanban Czas cyklu, wąskie gardło 22

Scrum odmawia zmian w obrębie iteracji Kanban dopuszcza zmiany przy ograniczeniu WIP Czas odpowiedzi Średnio: długość sprintu/2 Czas odpowiedzi: czas potrzebny na zrobienie miejsca 23

Scrum Tablica resetowana na koniec sprintu Początek sprintu Środek sprintu Koniec sprintu Kanban Tablica jest trwała 24

Scrum nakazuje interdyscyplinarność zespołów Kanban interdyscyplinane zespoły są opcjonalne 25

Scrum dzieli prace na mniejsze części Rejestr sprintu jest wypełniany elementami, które zespół ocenia jako realizowalne w jego zakresie. Scrum wymaga określenia priorytetów dla pozycji rejestru 26

Kanban zachęca do dzielenia pracy na mniejsze części W Kanban nie ma reguły mówiącej o potrzebie dopasowania elementu do zakresu czasowego. Kanban nie narzuca schematu priorytetyzacji 27

Scrum wymaga szacowania oraz określania szybkości (ang. velocity) zespołu 28

Kanban nie wymaga szacowania Jeżeli przewidywalność jest potrzebna Można mierzyć szybkość jak w Scrum Można dzielić pracę na części o podobny rozmiarze... 29

Product backlog = team backlog Zespół może obsługiwać wiele projektów nawet w zakresie tego samego sprintu 30

Wiele produktów może przepływać przez tablicę 31

Są harmonogramowane w systemie pull Zasada zarządzania JIT (lean) Bazują na ciągłym, empirycznym procesie optymalizacji Zasada Kaizen (lean) Przedkładają odpowiedź na zmianę ponad podążanie za ustalonym planem Manifest Agile 32

Scrum narzuca istnienie codziennych krótkich spotkań (Daily Scrum) Zorientowane na ludzi Kanban nie wymaga Ale zazwyczaj jakaś forma jest stosowana Zorientowane na tablicę 33

Scrum narzuca burndown charts 34

Kanban nie narzuca żadnego typu wykresu Ale nie zabrania np.cumulative Flow diagram 35

Większość organizacji chce dostarczać produkty szybciej czyli redukować czas cyklu Co to oznacza? Zwiększyć liczbę pracowników? Ciężej pracować (w nadgodzinach)? Zazwyczaj najskuteczniejszym sposobem jest wygładzenie przepływu i ograniczenie zadań do pojemności. Diagramy typu Cumulative Flow mogą pokazać dlaczego tak się dzieje. 36

Przede wszystkim minimalizacja kolejek (oczekiwania). 37

Elementy XP w Scrum Przypadki użycia w Scrum Ograniczenie rozmiaru kolejki (Kanban) w Scrum 38

4 osobowy zespół, początkowe WIP = 1 39

WIP = 8 40

Problem z serwerem integracyjnym 41

42

Programista mógłby zacząć nowe zadanie ale limit go ogranicza co powoduje, że skupi się on na pomocy w zadaniach, które blokują kolumne Done (Deploy) 43

Brak kolejek (magazynów przedprodukcyjnych) Kiedy tylko zespół jest gotowy do wykonania kolejnego zadania prosi właściciela produktu o zadanie o najwyższym priorytecie 44

45

46

47

48

49

50

51

52

53

54

55

56

Wizualizację przepływu procesu Masz proces? Określ jego kroki (zadanie, kolejka) Ograniczanie WIP W którym miejscu piętrzą się nieukończone zadania? Wybierz limity dla WIP, oznacz kroki procesu limitami. Zarządzaj przepływem Kontroluj czas cyklu 57

Zaimplementuj pętlę zwrotną Regularnie przeglądaj proces i przepływy Utrzymuj jawność reguł procesu Ułatw ludziom wykonywanie odpowiednich zadań w odpowiedni sposób. Ulepszaj współpracując Wykorzystaj metryki i modele w celu ciągłego ulepszania 58

Kaizen 1. Problemy stwarzają możliwości. 2. Pytaj 5 razy Dlaczego? 3. Bierz pomysły od wszystkich. 4. Myśl nad rozwiązaniami możliwymi do wdrożenia. 5. Odrzucaj ustalony stan rzeczy. 6. Wymówki, że czegoś się nie da zrobić, są zbędne. 7. Wybieraj proste rozwiązania, nie czekając na te idealne. 8. Użyj sprytu zamiast pieniędzy. 9. Pomyłki koryguj na bieżąco. 10. Ulepszanie nie ma końca. 59

http://www.slideshare.net/agileee/henrikkniberg-agile-at-home "The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time." [1] Tom Cargill, Bell Labs 60

Kanban and Scrum - making the most of both, Henrik Kniberg & Mattias Skarin http://www.slideshare.net/agileee/nickoostvogels-5-arguments-against-kanban http://www.slideshare.net/abdulqadirmaster /jit-in-toyota http://www.systems2win.com/c/time_definiti ons.htm 61