Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile...

21
Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty Agile Management 2014

description

Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

Transcript of Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile...

Page 1: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty

Agile Management 2014

Page 2: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

18% 43% 39%

PORAŻKA PROBLEM SUKCES

źródło: 2012 Chaos Research

Page 3: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

>50% trudności w określeniu wymagań,

zmiana wymagań w czasie projektu

źródło: 2012 Chaos Research

Page 4: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

250mln $ 500mln $ 125mln

California vs. SAP NYC vs. SAIC Avon vs. SAP

Page 5: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

Agile - nowe podejście do umów IT

• co chcemy zrobić

• jak chcemy to zrobić

• i co jeśli się nie uda

Page 6: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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 (?)

Page 7: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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

Page 8: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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

Page 9: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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)

Page 10: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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

Page 11: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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ń

Page 12: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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

Page 13: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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

Page 14: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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)

Page 15: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

Kluczowe role

• Product Owner (Właściciel Produktu)

• Scrum Master (Mistrz Młyna)

• Development Team (Członkowie Zespołu)

Page 16: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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)

Page 17: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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)

Page 18: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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)

Page 19: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

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

Page 20: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

albo Waterfall

albo Agile

Page 21: Umowy agile - zakres, zasoby, pieniądze - jak tworzyć zwinne kontrakty - Łukasz Węgrzyn @ Agile Management 2014 Poland

Dziękuję za uwagę

[email protected]

www.maruta.pl