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

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

Upload: lukasz-wegrzyn

Post on 15-Jun-2015

1.026 views

Category:

Law


3 download

DESCRIPTION

prezentacja przedstawiona podczas konferencji Agile Management 2014

TRANSCRIPT

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

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

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

>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

250mln $ 500mln $ 125mln

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

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

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

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

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

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

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

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

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

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

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

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

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

Product Owner

• umowa jest upoważnieniem (pełnomocnictwem) do działania PO

• zapewnienie dla wykonawcy że PO 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 PO

• zmiana PO tylko z ważnych powodów (procedura)

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

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

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 zespołu

• 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

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

albo Waterfall

albo Agile

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

Dziękuję za uwagę

[email protected]

www.maruta.pl