umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz węgrzyn @ agile...
DESCRIPTION
Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 PolandTRANSCRIPT
Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty
Agile Management 2014
18% 43% 39%
PORAŻKA PROBLEM SUKCES
źródło: 2012 Chaos Research
>50% trudności w określeniu wymagań,
zmiana wymagań w czasie projektu
źródło: 2012 Chaos Research
250mln $ 500mln $ 125mln
California vs. SAP NYC vs. SAIC Avon vs. SAP
Agile - nowe podejście do umów IT
• co chcemy zrobić
• jak chcemy to zrobić
• i co jeśli się nie uda
przedmiot umowy - rezultat projektu
• dzieło czy usługa - rezultat czy staranność
• Product Vision / Product Backlog / User Case
• rezultat jest nieznany do czasu ukończenia projektu (?)
Product Vision
• nadrzędne cele projektu
• wysokopoziomowe korzyści projektu
• opracowane przed startem negocjacji (mają pomóc zespołom
negocjacyjnym w zrozumieniu intencji i celów projektu)
• forma - załącznik do umowy
Product Backlog
• powstaje w toku negocjacji albo już po podpisaniu umowy (precyzyjna procedura
przeprowadzenie warsztatu w celu stworzenia PB)
• zobowiązanie wykonawcy do oszacowania nakładów oraz czasu potrzebnych dla realizacji
poszczególnych user case; szacunki wykonane z należytą starannością, w dobrej wierze, w
oparciu o racjonalne założenia; opcjonalnie: w przypadku sporu procedura eskalacyjna
• zobowiązanie Właściciela Produktu do priorytetyzacji poszczególnych user case
• wyraźne postanowienia umowy: (i) Właściciel Produktu nie może zmieniać szacunków
realizacji user case przedstawionych przez CZ (zmiana tylko za wspólną zgodą stron), (ii)
zakres lub priorytet poszczególnych user case nie może być zmieniany, kiedy został już
przyjęty do realizacji w ramach sprintu
Sprint
• co reguluje umowa, co ustalenia robocze - elastyczność i dyscyplina
• umowa określa długość sprintów przewidzianych dla projektu
• umowa określa rodzaj, zakres oraz przebieg spotkań w ramach sprintów: sprint
planning meetings, daily meetings, sprint review meetings
• wyraźne oświadczenie stron, że (i) długość poszczególnych sprintów nie może być
przedłużana oraz, (ii) że przypisanie user case do danego sprintu nie podlega
zmianie
• procedura rolowania sprintów (opcjonalnie „pauza” pomiędzy sprintami)
• procedura opracowania Sprint Backlogu (opcjonalnie wzór formatki dla Sprint
Backlogu jako załącznik do umowy)
Definition of Done
• „sól” projektów Agile - wyzwanie dla prawników
• opcjonalne kryteria: (i) element przeszedł pomyślnie testy, (ii) cała konieczna dokumentacja została
zgromadzona, (iii) element spełnia założone przez strony standardy kodowania
• modelowo: kryteria Definition of Done ustalone podczas negocjacji, w formie załącznika do umowy
• umowa powinna zawierać postanowienia nakładające na Właściciela Produktu oraz zespół developerski
obowiązek określenia podczas Sprint planning meetings, w jaki sposób DoD będą obowiązywać wobec
poszczególnych elementów (user case)
• umowa powinna zawierać postanowienia nakładające na Scrum Mastera obowiązek zapewnienia, że
wszystkie elementy prezentowane podczas danego Sprint review meeting poddane zostały weryfikacji
względem kryteriów DoD
• procedura rozwiązywania sporów pomiędzy stronami co do okoliczności czy dany element spełnia kryteria
wynikające z DoD
Zakończenie projektu
• umowa powinna określać kiedy przedmiot umowy (projekt) uznawany będzie za
zrealizowany
• projekt uznaje się za zrealizowany jeśli wszystkie elementy składające się na
Product Backlog (Rejestr Wymagań) zostały zrealizowane przy spełnieniu
kryteriów wynikających z Definition od Done
• ważne: lista elementów składających się na Rejestr Wymagań w końcowym etapie
projektu może różnić się od tej listy opracowanej na stracie projektu - w czasie
realizacji projektu Właściciel Produktu może podjąć decyzję o wycofaniu z realizacji
wybranych elementów składających się na Rejestr Wymagań
Rozliczenia
• fixed price czy time & material
• time & material w projektach Agile to czek in blanco (?)
• co przemawia za time & material: (i) w projektach wdrożeniowych IT zawsze będą zmiany
zakresu, bez znaczenia czy w modelu Waterfall czy Agile, (ii) fixed price wypacza model Agile,
odwołuje się do niepożądanych z punktu widzenia pomyślności projektu przyzwyczajeń (zły
wpływ na współdziałanie stron), (iii) fixed price ≠ fixed budget
• time & material może nie sprzyjać realnym szacunkom wykonawcy
• Modele: (i) fixed price za sprint, (ii) fixed price za user case, (iii) fixed price za ustaloną liczbę
user case
• do umowy: wyraźnie określony model/modele wynagrodzenia, (ii) kiedy fakturujemy, (iii) kto
ponosi koszty za user case nie zrealizowane podczas sprintu albo które nie spełniły kryteriów
DoD, (iv) jak zmniejszenie zakresu lub wcześniejsze zakończenie projektu wpływa na
rozliczenia
Odpowiedzialność
• czy współpraca to współodpowiedzialność
• kary umowne (za co, wysokość, uchwała Sądu Najwyższego)
• Product Description (Opis Produktu) przygotowany przez wykonawcę: (i)
precyzyjny opis tego co zostało zrobione (projekt i funkcjonalności wykonanego
produktu), (ii) zaprezentowanie jak wykonany produkt odpowiada Wizji Produktu
(Project Vision)
• modele ograniczenia odpowiedzialności
Odstąpienie od umowy
• ustawowe, umowne, „autorskie”
• co po odstąpieniu – procedura zakończenia współpracy (rozliczenia, IP, kody
źródłowe)
• kary umowne za odstąpienie (uchwała Sądu Najwyższego)
Kluczowe role
• Product Owner (Właściciel Produktu)
• Scrum Master (Mistrz Młyna)
• Development Team (Członkowie Zespołu)
Product Owner
• umowa jest upoważnieniem (pełnomocnictwem) do działania WP
• zapewnienie dla wykonawcy że WP ma odpowiednie doświadczenie w projektach
Agile
• zakres obowiązków - opracowanie, priorytetyzacja i aktualizacja Rejestru
Wymagań
• zapewnienie odpowiedniego poziomu dyspozycyjności i responsywności WP
• zmiana PO tylko z ważnych powodów (procedura)
Scrum Master
• rezygnujemy ze SM (problem kiedy nie mamy dużego doświadczenia w Agile)
• SM jest członkiem personelu zamawiającego albo wykonawcy (czy mamy osobę o
takich kompetencjach)
• SM jako konsultant zewnętrzny (czy mamy budżet, czy SM zbuduje odpowiednie
relacje z PO i zespołem developerskim)
Scrum Master
• umowa wskazuje SM albo procedurę jego wyłonienia
• zapewnienie, że SM ma odpowiednie doświadczenie i kompetencje w projektach
Agile
• zakres obowiązków – to nie Kierownik Projektu, raczej trener/mentor, wsparcie dla
PO I DT
• zapewnienie odpowiedniego poziomu dyspozycyjności i responsywności SM
• zmiana SM za zgodą zamawiającego, tylko z ważnych powodów (procedura)
Development Team
• członkowie zespołu wskazani w umowie albo zaproponowani już po zawarciu
umowy
• prawo zamawiającego do akceptacji zespołu developerskiego
• jeśli zamawiający nie zaakceptuje zaproponowanych członków zespołu, wtedy
procedura eskalacyjna (np. 4 tyg.)
• dalszy brak akceptacji = prawo każdej strony do odstąpienia od umowy
• odpowiedni poziom doświadczenia i kompetencji
• zmiana tylko w ważnych powodów
albo Waterfall
albo Agile