Programowanie Zespołowe

Podobne dokumenty
Programowanie Zespołowe

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

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

Programowanie zespołowe

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

Zarządzanie projektami. Porównanie podstawowych metodyk

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

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

Planowanie i realizacja zadań w zespole Scrum

Scrum. Zwinna metodyka prowadzenia projektów

Programowanie zespołowe

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

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

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

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

Metodyki programowania. Tomasz Kaszuba 2015

AGILE SOFTWARE HOUSE SCRUM PRAKTYCZNIE SCRUM BOOK

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

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

SCRUM. Wprowadzenie Role Zdarzenia Artefakty KANBAN SCRUM-BAN

Jak uchronić architekturę i wymagania przed chaosem? Warszawa, 27 stycznia 2016 roku

EMPIRYZMSCRUM DOŚWIADCZENIE + PODEJMOWANIE DECYZJI = WIEDZA

Programowanie obiektowe

Zwinne metodyki - Scrum

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

Programowanie Zespołowe

Lekkie metodyki. tworzenia oprogramowania

PROJEKTOWANIE ZORIENTOWANE NA UŻYTKOWNIKA W METODYCE SCRUM. Hubert Wawrzyniak Grupa Allegro

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

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

Scrum w praktyce. Michał Piórek

Techniki komputerowe w robotyce

Metodyki zwinne wytwarzania oprogramowania

Programowanie zwinne

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią

Feature Driven Development

Podejście zwinne do zarządzania projektami

lub na

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

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

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k.

Dobry Product Backlog Oferta szkolenia dla Product Ownerów

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

MSF. Microsoft Solution Framework

Testujemy dedykowanymi zasobami (ang. agile testers)

Scaling Scrum with SAFe. Małgorzata Czerwińska

Programowanie zespołowe

Szybkość w biznesie. Zwinne testowanie oprogramowania (Agile) Mateusz Morawski (mateusz.morawski@hp.com) 14 kwietnia 2015

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

Usługa: Testowanie wydajności oprogramowania

KILKA SŁÓW O ROLI PRODUCT MANAGERA

Inżynieria oprogramowania II

know 5 W, : filary wzrostu WHAT WHEN WHO WHY WHERE model biznesowy

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

4. Wprowadzanie Scruma w ImmobilienScout Opis sytuacji

Zarządzanie projektami. Porównanie podstawowych metodyk

kompetencji zawodowych Professional Scrum Master I, Certified Scrum Master I Mirosław Dąbrowski zespół Indeed wprowadzenie Scruma

Nowe modele zakupowe usług IT w obszarze ochrony zdrowia.

Szkolenie 1. Zarządzanie projektami

Projekt Kompetencyjny - założenia

Agile vs PRINCE /2015 I rok st. magisterskie Informatyka

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

mtim Dedykowane aplikacje mobilne dla TIM S.A.

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

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

Spis Treści. Cel podręcznika. Definicja SCRUMa. Teoria SCRUMa. Zespół SCRUMowy. Właściciel Produktu. Zespół Deweloperski.

Estimation and planing. Marek Majchrzak, Andrzej Bednarz Wroclaw,

e R gulamin Kuźni Talentów

Design thinking zaprojektuj, zbuduj i przetestuj swoje pomysły

Wstęp do zarządzania projektami

Omówienie założeń procesu Design Thinking i przeprowadzenie wstępnego warsztatu. Mariusz Muraszko i Mateusz Ojdowski Logisfera Nova

Zastosowania informatyki w gospodarce. Projekt. dr inż. Marek WODA

Etapy życia oprogramowania

NOWE METODYKI PROWADZENIA PROJEKTU

Usługa: Audyt kodu źródłowego

6 kroków, jak dobrze przygotować się do wdrożenia systemu ERP?

KANBAN SCRUM-BAN. Agile PM Zarys AUP

Zaplanować projekt fundraisingowy i przeprowadzić go przez wszystkie etapy realizacji nie tracąc z pola widzenia założonych efektów;

Agile Project Management

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Jak wykorzystać design thinking w swojej firmie Doświadczenia praktyka.

Zarządzanie projektami w NGO

Zarządzanie Projektami Plan kursu

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

Elastyczna metodyka SCRUM

Opisy szkoleń dla certyfikatów Agile Scrum.

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

Analityk i współczesna analiza

Zarządzanie Projektami zgodnie z PRINCE2

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Testowanie w procesie Scrum

Projektowanie interakcji

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

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

Elastyczna metodyka SCRUM

Umowy w branży IT. Jak je konstuować, żeby uniknąć późniejszych nieporozumień. Tomasz Wiese Łukasz Marszał

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Piotr Ślęzak. Gdzie się podziała jakość

Oferta usług coachingowych firmy Code Sprinters

Transkrypt:

Programowanie Zespołowe Programowanie zwinne dr Rafał Skinderowicz mgr inż. Michał Maliszewski

Programowanie zwinne Grupa metodyk wytwarzania oprogramowania oparta na modelu iteracyjno-obiektowym Powstała w odpowiedzi na wysoki wskaźnik niepowodzeń w projektach prowadzonych metodami klasycznymi Wymagania klienta ewoluują w czasie działania projektu Zdyscyplinowane zarządzanie projektem Samoorganizujący się zespół Bezpośrednia, częsta komunikacja Szybkie wytwarzanie oprogramowania wysokiej jakości

Manifest Agile Ludzie i interakcje Procesy i narzędzia Działające oprogramowanie Współpraca z klientem Reagowanie na zmiany Szczegółowa dokumentacja Negocjacja umów Realizacja założonego planu

12 Zasad Agile Zadowolenie klienta dzięki szybkim dostawom użytecznego oprogramowania Zmiany wymagań nawet na późnym etapie rozwoju projektu Działające oprogramowanie jest często dostarczane klientowi Bliska współpraca biznesu z zespołem projektowym Projekt jest realizowany przez zmotywowanych ludzi, którzy mają pełne zaufanie Rozmowy bezpośrednie są najlepszą formą komunikacji Działające oprogramowanie jest podstawową miarą postępu prac

12 Zasad Agile c.d. Zrównoważony tryb prac, które zespół jest w stanie utrzymywać cały czas Ciągła dbałość o jakość techniczną i wysoki poziom architektury projektowanego systemu Kluczowa jest prostota, minimalizacja ilości koniecznej pracy Samoorganizujące się zespoły Regularna adaptacja zespołu do zachodzących zmian

Trójkąt zależności Budżet Elastyczny Ustalony z góry Jakość Zakres Czas

Model kaskadowy Analiza Projekt Implementacja Testy Poprawki Produkt Czas 30% skończone 0% użyteczności

Model kaskadowy Teoria vs Praktyka

Model zwinny Przestrzeń problemów Analiza Projekt Impl. Testy Prototyp Analiza Projekt Impl. Testy Prototyp Analiza Projekt Impl. Testy Prototyp Przestrzeń rozwiązań Czas 30% skończone 100% użyteczności

Scrum Projektowanie Analiza i Implementacja Cykl dzienny Wymagania Wybrane Wymagania Przegląd i retrospekcja Testowanie Cykl implementacyjny Produkt

Sprint Increment Daily Scrum Product Backlog Sprint Backlog

Product Owner Zajmuje się stroną biznesową Definiuje wymagania Tworzy i dba o wymagania projektowe (Product Backlog) Jest odpowiedzialny za wartość produktu

Scrum Master Dba o prawidłowy przebieg procesu powstawania projektu Wdraża wartości, praktyki i zasady Scrum w organizacji Chroni zespół Rozwiązuje problemy z którymi zespół nie może sobie sam poradzić Motywuje zespół Szkoli i wspiera zespół

Zespół Organizuje siebie jako zespół oraz swoją pracę Dostarcza produkt wysokiej jakości w każdej iteracji Jest uniwersalny (wielofunkcyjny) Współpracuje z PO (Product Owner) w celu zwiększenia wartości produktu Zazwyczaj składa się z 3-9 osób

Zespół c.d. Zespół dostarcza i decyduje o rozwiązaniach zastosowanych w projekcie Jest odpowiedzialny za jakość Zespół jest motywowany i wspierany przez menadżerów

Product Backlog Uporządkowana lista wymagań Jedyne źródło informacji o planowanych zmianach w produkcie Jest ogólnodostępny

Sprint Backlog Wymagania wybrane z Product Backlogu Stworzone przez zespół w trakcie planowania Zawiera funkcjonalności które zespół planuje dostarczyć w danej iteracji

User Stories Krótki opis wyjaśniający o co chodzi w zadaniu User Stories mogą być rozbijane na pojedyncze zadania Standardowo schemat każdej historii wygląda następująco: Jako <rola użytkownika> Chciałbym <cel> [żeby <powód>]

User Stories <rola użytkownika> - użytkownik, klient lub osoba z zespołu, która czerpie korzyści z danej historii <cel> - cel US, zazwyczaj funkcjonalność lub narzędzie <powód>[opcjonalnie] zysk płynący z danej funkcjonalności

EPIC FEATURE STORY

User Stories ranga Wysoki priorytet, jasne wymagania, krótkie zadania Średni priorytet, wymagania nie do końca sprecyzowane lub stosunkowo długie Niski priorytet, brak dokładnych wymagań, mogą być bardzo złożone lub czasochłonne

Increment Suma wszystkich ukończonych elementów Product Backlog u Jest funkcjonalne i działa Musi zostać ukończone bez tzw. długu technicznego

Sprint Zbiór wszystkich aktywności Zawiera implementację, testy oraz wszystkie pozostałe elementy Scrum Zaczyna się od planowania Kończy się retrospekcją Trwa nie dłużej niż 30 dni (zazwyczaj 2-4 tygodnie) Kolejne Sprinty następują bezpośrednio po sobie Zakres prac jest ciągle kontrolowany

Sprint c.d. Każdy Sprint to mały projekt o zdefiniowanym początku i końcu Stała długość iteracji Potencjalna wersja produkcyjna oprogramowania na końcu każdego Sprintu Sprints 1 2 3 4 5 6 7 8

Sprint Planning Decyzja co będzie głównym zadaniem iteracji Powstaje Sprint Backlog Zespół wybiera zadania z puli produktu (Product Backlog) W planowaniu uczestniczy cały zespół Zapadają decyzje, co będzie skończone w tym Sprincie

Daily Scrum Zawsze w tym samym miejscu i o tej samej porze Scrum Master może, ale nie musi w nim uczestniczyć Spotkanie organizowane aby: Zsynchronizować pracę zespołu Stworzyć plan na następne 24h Sprawdzić postępy

Sprint Review Zespół prezentuje postępy prac (jako działający produkt) Inspekcja i ocena postępów (feedback) Tylko ukończone zadania są prezentowane (DoD) Product Owner akceptuje lub odrzuca User Stories

Retrospective Ocena postępów prac i monitorowanie sposobu pracy zespołu Zespół omawia następujące tematy: Co się udało w tym Sprincie? Co można usprawnić? Co chcielibyśmy zmienić w kolejnej iteracji?

Organizacja pracy Sprint 1 Sprint 2 09:00 Dzień 1 Dzień 2 Dzień 3 Dzień 4 Ostatni dzień Planowanie I (Analiza) Daily Scrum Daily Scrum Daily Scrum... Daily Scrum Dzień 1 Dzień 2 Planowanie I (Analiza) Daily Scrum 12:00 18:00 Planowanie II (Projektowa nie) Sprint Review Retrospe kcja Planowanie II (Projektowan ie) Product Backlog

Ćwiczenie 1 Skutki braku dokładnych wymagań. Zespoły 4-5 osobowe Każdy wybiera 1 państwo i zapisuje je na karteczce Post-It Państwa nie mogą się powtarzać (wewnątrz zespołu)

Ćwiczenie 2 Praca sterowana vs samoorganizacja Zespoły 2 osobowe Jedna osoba jest szefem, druga pracownikiem Szef może mówić jedynie: idź, stój, lewo, prawo, szybciej, wolniej Pracownik musi wykonywać polecenia szefa Szef kieruje pracownikiem przez 2 minuty Pracownik głośno liczy kroki Szef nie może dotykać pracownika Nie można opuszczać wyznaczonej przestrzeni Chodzenie w miejscu nie jest liczone jako krok

Ćwiczenie 3 Symulacja Scrum Praca w zespole Każdy musi dotknąć każdej piłki Piłka przy każdym przekazaniu musi zaleźć się w powietrzu Nie można podawać piłki do sąsiadów (ramię w ramię) Punkt zostaje zaliczony kiedy piłka wróci do osoby która zaczynała Upuszczone piłki są traktowane jako odrzucone (nie liczą się)

Ćwiczenie 3 c.d. Proces 2 minuty zapoznanie się z zadaniem, rozplanowanie i estymacja 2 minuty gra 2 minuty retrospekcja, zmiany i nowa estymacja Powtórzyć 3-4 razy (iteracje)

Dziękuję za uwagę