Agile Software Development Fakty i Mity



Podobne dokumenty
Agile Software Development Perspektywa Członka Zespołu

Lekkie metodyki. tworzenia oprogramowania

Zarządzanie projektami w NGO

Zarządzanie projektami. Porównanie podstawowych metodyk

Wsparcie narzędziowe zarządzania ryzykiem w projektach

Wstęp do zarządzania projektami

Feature Driven Development

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Agile Project Management WHITEPAPER

Scaling Scrum with SAFe. Małgorzata Czerwińska

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

Metodyki zwinne wytwarzania oprogramowania

Wstęp do zarządzania projektami

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

Agile vs PRINCE /2015 I rok st. magisterskie Informatyka

Wstęp do zarządzania projektami

Metodyki programowania. Tomasz Kaszuba 2015

Programowanie zwinne

Komputerowe wspomaganie zarządzania projektami innowacyjnymi realizowanymi w oparciu o podejście. Rozdział pochodzi z książki:

Agile Project Management

Leszno Jakie są i będą oczekiwania biznesu wobec IT?

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Zarządzanie Projektami zgodnie z PRINCE2

Projektowanie systemów informatycznych. wykład 6

Programowanie Zespołowe

Programowanie zespołowe

Skuteczne zarządzanie projektami IT w otoczeniu uczelnianym. Piotr Ogonowski

Opis metodyki i procesu produkcji oprogramowania

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

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

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

Etapy życia oprogramowania

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

Podejście zwinne do zarządzania projektami

Wykład 2. MIS n Inżynieria oprogramowania Marzec Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

AGILE PROJECT MANAGEMENT

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

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

RAPORT Z POLSKIEGO BADANIA PROJEKTÓW IT 2010

Akredytowane szkolenie i egzamin. Zarządzanie projektami w oparciu o metodykę PRINCE2 Fundation

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

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

Zarządzanie projektem prawnym w praktyce

Szkolenie 1. Zarządzanie projektami

Jak uczyć się na błędach? Łukasz Malina WEBCON

Poniższy program może być skrócony do 1 dnia lub kilkugodzinnej prezentacji.

User Stories Mity i hity. Kamil Niklasiński IIBA PC Business Analysis Round-tables Warszawa 8 stycznia 2015r.

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

PRINCE2 Foundation - szkolenie z egzaminem certyfikacyjnym

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

Akredytowane szkolenie i egzamin. Zarządzanie projektami w oparciu o metodykę PRINCE2 Foundation

AL 1302 ZARZĄDZANIE PROJEKTAMI W OPARCIU O METODYKĘ PRINCE2

MSF. Microsoft Solution Framework

Planowanie i realizacja zadań w zespole Scrum

Wytwarzanie oprogramowania

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

SKUTECZNE ZARZĄDZANIE PROJEKTEM

Zarządzanie projektami. Porównanie podstawowych metodyk

JIRA, jako narzędzie wspierające zarządzanie projektami w dużej organizacji

Zarządzanie projektami. Wykład 2 Czym jest zarządzanie projektami?

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego. 1. Cel szkolenia

Program Interwencja! Jak uratować zagrożony projekt e-learningowy? Iwona Wieczorek Dyrektor Zarządzająca e-learning.pl

Zarządzanie projektami a zarządzanie ryzykiem

Projektowanie interakcji

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

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

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

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

PROJEKT ZESPOŁOWY WYDZIAŁ MATEMATYKI I INFORMATYKI UŁ

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Metody zwinne można stosować głównie dla niezbyt dużych systemów. Metody zwinne to: -Metodyka Crystal (Crystal family)

Zarządzanie projektami w otoczeniu uczelnianym. Piotr Ogonowski

Zagadnienia. Inżynieria Oprogramowania

Metodyka dla projektu SYRIUSZ

Programowanie Zespołowe

Zagadnienia. Inżynieria Oprogramowania

Popularyzacja podpisu elektronicznego w Polsce

Nie o narzędziach a o rezultatach. czyli skuteczny sposób dokonywania uzgodnień pomiędzy biznesem i IT. Władysławowo, 6 października 2011 r.

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

KILKA SŁÓW O ROLI PRODUCT MANAGERA

XPrince dla architektów 1

Wyzwania i dobre praktyki zarządzania ryzykiem technologicznym dla obszaru cyberzagrożeń

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

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

Zarządzanie projektem prawnym w praktyce

Metodyka Sure Step. Agenda:

Idealna strona internetowa dla Twojej firmy

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

Projekt Kompetencyjny - założenia

Rola technologii w strategicznych transformacjach organizacji. Borys Stokalski

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

Techniki komputerowe w robotyce

ZAPYTANIE OFERTOWE NR 01/2012/IMF

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Studium wykonalności

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

Czynności konsultantów podczas wdrożenia systemu ERP w kontekście zarządzania wiedzą. Przemysław Lech, Wydział Zarządzania UG

Tworzenie gier na urządzenia mobilne

Programowanie zespołowe

Transkrypt:

Agile Software Development Fakty i Mity Bartosz Kiepuszewski, PhD Cutter Consortium we współpracy z Jim Highsmith Director, Agile Project Management Practice Fellow, Cutter Business Technology Council Jim Highsmith

Co to znaczy agile? Agile = Adaptive and Responding to Change APM Adaptacyjne? Żwawe? Zwinne? Lekkie? Agile = zwinny, zręczny, ruchliwy (wielki słownik pol-ang) Agile = 1: marked by ready ability to move with quick easy grace 2: having a quick resourceful and adaptable character <an agile mind> [Webster] 2004, 05 Jim Highsmith 2

Agenda Krótkie wprowadzenie Jak rozpoznać z czym mamy do czynienia? Fakty i Mity - dyskusja 2004, 05 Jim Highsmith 3

Agile Software Development - historia Reakcja na popularność ciężkich metodyk lat 90-ych Scrum 1986 DSDM, FDD, ASD 1995 Crystal Clear, Extreme Programming 1996 Wiele koncepcji dużo wcześniejszych, np. Toyota Production System (TPS) i wywodzący się z niego Lean Manufacturing pochodzi z lat 50ych 2001 uformowanie się Agile Alliance 2004, 05 Jim Highsmith 4

Metodyki zaliczane do rodziny metodyk agile 2004, 05 Jim Highsmith 5

Praca w warunkach niepewności Niepewność rynkowa Niepewność technologiczna Czas trwania projektu Niepewność związana z zakresem Jeśli projekt nie ma żadnych ryzyk, nie warto go robić. Tom DeMarco & Tim Lister, Waltzing with Bears: Managing Risk on Software Projects Czy świadome zarządzanie innowacją? 2004, 05 Jim Highsmith 6

Cele Biznesowe: Wiarygodność i Dostarczanie Wartości Ciągła Innowacyjność Adaptowalność Produktu Skrócony Czas Dostarczania Wartości Adaptowalność Ludzi i Procesów Wiarygodność Rezultatów Pakiet Kreślarski firmy Alias Plany, architektura i produkt wspólnie ewoluowały Dwu-tygodniowe iteracje Nieprzesuwalny termin (związany z terminem premiery Microsoft Tablet PC OS) Stwórz Wizję i Pozwól na Wykreowanie, zamiast Zaplanuj-Wykonaj Trzy fazy Wytworzenie Wersji 1 Usunięcie Technicznego Długu Adaptacyjność w Wersji 2 (Images courtesy of Alias) 2004, 05 Jim Highsmith 7

Podstawowe Charakterystyki APM Wizja Produktu i Wartość dla Klienta nadają kierunek działań Wymagania użytkownika zmieniają się w czasie Wymagania zmieniają się wraz z większym rozumieniem przez klienta wytwarzanego produktu Wymagania układają się w stożek niepewności Reakcja na zmiany jest krytyczna dla sukcesu projektu Wytwarzanie ukierunkowane na dostarczanie funkcjonalności Element funkcjonalności stanowi z punktu widzenia użytkownika kompletną, działającą funkcję, np. pojedynczy raport Elementy funkcjonalności są dostarczane szybko, a następnie adaptowane Użytkownicy oceniają funkcjonalność w trakcie trwania projektu Wytwarzanie iteracyjne Wczesne iteracje dostarczające funkcjonalność (od kilku dni do kilku tygodni) Funkcjonalność dostarczana w dwu-tygodniowych cyklach Każda iteracja zawiera wytworzenie i przetestowanie co najmniej jednego elementu funkcjonalności Każda iteracja kończy się przeglądem przez użytkownika Elementy funkcjonalności są zawsze gotowe do wdrożenia (techniczna adekwatność) Plan Projektu określa harmonogram dostarczania kolejnych elementów funkcjonalności Wspólne Wytwarzanie Zespół pracuje wspólnie każdego dnia w projekcie Członkami zespołu są użytkownicy, projektanci, sponsor, kierownik projektu Częsta informacja zwrotna, adaptacja, uczenie się 2004, 05 Jim Highsmith 8

APM Szkielet Procesu Adaptive Life Cycle Learning Loop C1 C3 C2 Project Initiation Adaptive Cycle Planning Concurrent Component Engineering Quality Review Final Q/A and Release Speculate Collaborate Learn 2004, 05 Jim Highsmith 9

SCRUM Szkielet Procesu 2004, 05 Jim Highsmith 10

XP Szkielet Procesu 2004, 05 Jim Highsmith 11

FDD Szkielet Procesu 2004, 05 Jim Highsmith 12

Porównanie tradycyjnych i adaptacyjnych praktyk Adaptacyjne Zorientowane na dostarczanie funkcjonalności Plany są hipotezą, nie przewidywaniem Tradycyjne Zorientowanie na podział zadań Plany są przewidywaniem odnośnie przyszłości Sukces rozumiany jako zdolność adaptacji do zmieniających się warunków w projekcie Duża precyzja planu dla wczesnych iteracji, bardzo zgrubny charakter planu w dalszej fazie projektu Przyczyny odchyleń od planu są analizowane i dostarczają informacji do zmiany planu kolejnych faz projektu (adaptive action) Zarządzanie zmianą jest motorem dla procesów innowacyjnych Zorientowane na stworzenie samoorganizującego się, samo-dyscyplinującego się zespołu projektowego Sukces rozumiany jako zgodność z wcześniej założonym planem Szczegółowy plan opracowany jest dla całego projektu Odchylenia od planu są traktowane jako błędy zarządzania i wymagają bezkrytycznej poprawy (corrective action) Zarządzanie zmianą często degeneruje się do biurokratycznych procedur blokujących zmianę Zorientowane na procedury i techniki kontroli oraz mikrozarządzanie zadaniami projektowymi 2004, 05 Jim Highsmith 13

Jak wygląda Twój plan projektu? Wymagania 6-9 Miesięcy Wytwarzania Projekt Implementacja Testy Wymagania Użytkownika Brak współpracy z użytkownikiem Wdrożenie Ocena Użytkownika Strona 1 z 18 2004, 05 Jim Highsmith 14

Feature/Component Requirements Card Feature/Component ID: Feature/Component Name: Feature/Component Type: Feature/Component Description: Est. Work Effort: Requirements Uncertainty (H,M,L): Dependencies with other Features: Feature/Component Requirements Card Feature/Component ID: Feature/Component Name: Feature/Component Type: Feature/Component Description: Est. Work Effort: Requirements Uncertainty (H,M,L): Dependencies with other Features: Planned Cycle: Planned Cycle: Feature/Component Requirements Card Feature/Component ID: Feature/Component Name: Feature/Component Type: Feature/Component Description: Est. Work Effort: Requirements Uncertainty (H,M,L): Dependencies with other Features: Feature/Component Requirements Card Feature/Component ID: Feature/Component Name: Feature/Component Type: Feature/Component Description: Est. Work Effort: Requirements Uncertainty (H,M,L): Dependencies with other Features: Planned Cycle: Planned Cycle: Feature/Component Requirements Card Feature/Component ID: Feature/Component Name: Feature/Component Type: Feature/Component Description: Est. Work Effort: Requirements Uncertainty (H,M,L): Dependencies with other Features: Feature/Component Requirements Card Feature/Component ID: Feature/Component Name: Feature/Component Type: Feature/Component Description: Est. Work Effort: Requirements Uncertainty (H,M,L): Dependencies with other Features: Planned Cycle: Planned Cycle: Feature/Component Requirements Card Feature/Component ID: Feature/Component Name: Feature/Component Type: Feature/Component Description: Est. Work Effort: Requirements Uncertainty (H,M,L): Dependencies with other Features: Planned Cycle: Inny Rodzaj Planu Cycle 0 Cycle 1 Cycle 3 Cycle 4 Cycle 2 Stała długość Architecture 1.0 Architecture 1.1 Architecture 1.2 Feature 1 Podział funkcjonalności Requirements Cards Feature 3 Feature 7 Mierzenie velocity Feature 2 Feature 4 Feature 5 Planowanie oraz informacja zwrotna Feature 6 Iteracja to nie etap!!! Nie tylko ograniczenie niepewności oraz możliwość adaptacji ale też: Wiarygodna informacja o postępie prac Utrzymywanie stałego rytmu pracy 2004, 05 Jim Highsmith 15

Czym dla Ciebie jest sukces projektu? Będąc kierownikiem projektu, czy wolał(a) byś: 1. Zakończyć projekt nieznacznie po czasie i z przekroczonym budżetem, ale z bogatą, wartościową biznesowo funkcjonalnością 2. Zakończyć projekt w czasie i poniżej budżetu ze znikomą wartością biznesową To, w jaki sposób nas oceniają wpływa na sposób wykonywanej przez nas pracy. Projekty adaptacyjne powinny być inaczej oceniane 2004, 05 Jim Highsmith 16

Projekt IRYDIUM Motorola studium sukcesu Konsorcjum Motorola, Lockhead Martin, Raytheon, Bechtel 77 satelitów (Iridium) w praktyce wystrzelono tylko 66 3 kontrakty: Space Systems Contract na zbudowanie systemu O&M Contract 5 letnie utrzymanie sieci ($1.8-$2.8 miliarda) Stworzenie bram (gateway hardware & software) Space System Contract 47 kamieni milowych Styczeń 1994 Wrzesień 1998 $3.45 miliarda Listopad 1998 oficjalne uruchomienie serwisu 2004, 05 Jim Highsmith 17

Projekt IRYDIUM czy studium porażki??? 1998 kampania marketingowa - $140 mln 1998 Irydium sprzedaje około 6000 telefonów, przychody za czwarty kwartał 1998 - $180 tys marzec 1999 rezygnuje dyrektor finansowy czerwiec 1999 15% załogi zostaje zwolniona sierpień 1999 NASDAQ zawiesza transakcje IRYDIUM, ogłoszenie bankructwa, dług ponad $4 miliardy marzec 2000 około 50.000 subksrybentów ( break-even to około 500-600 tys subskrybentów przy terminalach za cenę powyżej $2000 i kosztach rozmowy około $5 za minutę Grudzień 2000 satelity sprzedane za $25 milionów 2004, 05 Jim Highsmith 18

Jak wygląda interakcja z klientem? Czy klient jest zaangażowany w planowanie projektu? Czy znane są uwarunkowania projektu i cel biznesowy? Czy klient jest zaangażowany przez cały czas trwania projektu? Czy wymagania mają priorytety? Czy otrzymujemy informację zwrotną? 2004, 05 Jim Highsmith 19

Jak wygląda codzienna praca zespołu? Wspólna praca czy rozdzielanie zadań? Codzienne spotkania? Interakcja vs. Komunikacja Kultura Odpowiedzialności Samoorganizacja Dyscyplina vs. Proces 2004, 05 Jim Highsmith 20

Extreme Programming? 2004, 05 Jim Highsmith 21

Czy jesteś w stanie wytwarzać iteracyjnie? Nie wystarczy zaplanować Kompetencje techniczne Zmiana przyzwyczajeń i sposobu pracy 2004, 05 Jim Highsmith 22

Praktyki Wytwórcze Iteracyjne Wytwarzanie Niski Koszt Zmian Ciągła Integracja Wspólna Własność kodu Prosty Projekt Wysoka Jakość Pair Programming Refaktoryzacja Testy Modułowe Przeglądy Kodu 2004, 05 Jim Highsmith 23

Czy pracujemy adaptacyjnie? Zazwyczaj mamy do czynienia z kombinacją technik tradycyjnych i adaptacyjnych Często jest to inne rozłożenie akcentów WBS vs PBS Corrective vs adaptive action PID w PRINCE 2 Niechęć do zmian Techniki adaptacyjne wzajemnie się wspomagają Metodyka vs wartości 2004, 05 Jim Highsmith 24

APM Mit #1 APM jest interesujący, ale nie nadaje się do mojego projektu Projekt fixed-price/fixed scope Technologia wyklucza podejście iteracyjne Duży, rozproszony zespół Klient, który nie chce/nie może tak pracować 2004, 05 Jim Highsmith 25

APM Fakt #1 W wielu projektach fixed-price/fixed-scope udaje się zastosować podejście iteracyjne z korzyścią dla klienta Istnieją i stale są udoskonalane techniki inżynierskie wspomagające iteracyjną pracę Adaptacyjna budowa hurtowni danych Adaptacyjne projekty konsultingowe / budowy sprzętu Nowoczesne techniki telekomunikacyjne umożliwiają wspólną pracę w rozproszonych zespołach Zaufanie klienta można zbudować 2004, 05 Jim Highsmith 26

APM - Mit #2 W projektach adaptacyjnych zakres nie jest kontrolowany Bez formalnej akceptacji specyfikacji wymagań przez klienta nie jestem w stanie uniknąć pływania zakresu Pozwalając użytkownikowi zmieniać zakres w kolejnych iteracjach zaczynamy kręcić się w kółko Tylko formalne ograniczenie zakresu pozwala kontrolować budżet projektu W projektach APM w ogóle się nie planuje to prosta recepta na klęskę 2004, 05 Jim Highsmith 27

APM - Fakt #2 Zakres jest szczegółowo planowany na początku projektu (chociaż nie tak szczegółowo jak w metodykach tradycyjnych) Tradycyjne metody często prowadzą do przerostu funkcjonalności Użytkownik ma prawo wprowadzić zmiany do zakresu, często nie zmieniając przy tym budżetu projektu (zamiana wymagań) Końcowy produkt projektu przynosi zazwyczaj więcej wartości biznesowej (zasada maksymalnej adekwatności do potrzeb) Projekty rzadko przekraczają terminy (większa dowolność zakresu = bardziej precyzyjne ograniczenia harmonogramu) Precyzyjna wizja w projekcie nie pozwala na chaotyczne zmiany zakresu Nie oznacza to że w projektach adaptacyjnych zakres można dowolnie zmieniać!!! 2004, 05 Jim Highsmith 28

APM - Mit #3 W projektach adaptacyjnych nie zarządza się ryzykiem Zbyt mało planowania, zbyt mało przewidywania Brak formalnych procedur / procesów związanych z zarządzaniem ryzykiem 2004, 05 Jim Highsmith 29

APM Fakt #4 Strategia adaptacyjna to inny sposób na radzenie sobie z niepewnością i ryzykiem Tradycyjne metody często degenerują się powstaje rejestr ryzyk z którego nic w praktyce nie wynika Wiele istotnych zdarzeń projektowych jest trudna bądź wręcz niemożliwa do przewidzenia YAGNI You Are Not Going To Need It 2004, 05 Jim Highsmith 30

APM - Mit #4 APM to prostu chaotyczne, nieplanowane programowanie ( cowboy programming ) Alternatywą dla formalnego procesu jest chaos Większość ludzi musi mieć precyzyjnie powiedziane co i na kiedy ma być zrobione Brak szczegółowej dokumentacji prędzej czy później prowadzi do kłopotów 2004, 05 Jim Highsmith 31

APM Fakt #4 W tradycyjnie prowadzonych projektach dokumentacja wytwarzana w trakcie projektu bardzo szybko się dezaktualizuje i traci wartość W APM procesy i procedury zastąpione są przez zdyscyplinowane praktyki Kulturę odpowiedzialności można wdrożyć w większości zespołów Każdy z nas posiada potrzebę odczuwania satysfakcji z wykonywanej pracy 2004, 05 Jim Highsmith 32

APM Mit #5 APM jest wspaniały teraz projekt musi się udać 2004, 05 Jim Highsmith 33

APM Fakt #5 Są projekty które się kończą klęską bez względu na zastosowaną technikę Nierealistyczny budżet / harmonogram Źle zdefiniowany cel biznesowy Radykalne zmiany w otoczeniu biznesowym projektu APM pozwala na ograniczenie rozmiarów klęski Bardziej wiarygodna informacja o postępach w projekcie Szybsza informacja zwrotna 2004, 05 Jim Highsmith 34

Czuję się przekonany. Co dalej? www.bms.com.pl bkiepuszewski@bms.com.pl Where do YOU want to be??? 2004, 05 Jim Highsmith 35