Poradniki

Jak skonstruować umowę Agile?

27.10.2013, Krzysztof Wiśniewski

Jeszcze jakiś czas temu wydawało się, że stworzenie umowy agile’owej, którą zaakceptuje klient i dostawca może być niemożliwe. Taka umowa stanowi pewne wyzwanie. Posiadając jednak wiedzę i kilkuletnie doświadczenie nie jest to, aż tak trudne jakby się na początku wydawało.

Wystarczy, z jednej strony pamiętać o duchu i wartościach Agile’a, z drugiej o konieczności zawarcia pewnych zapisów formalnych. W takim przypadku najtrudniejsze  pozostanie już tylko przekonanie klienta do partnerskiego podejścia i akceptacji niektórych nowych zapisów oraz usunięcia innych, do których byliśmy wszyscy wcześniej przyzwyczajeni.

Przejdźmy od razu do zapisów takiej umowy. Poniżej omówię  najważniejsze  jej części uzupełniając o komentarz.

1. Nazwa umowy

Aby nie wprowadzać zakłopotania – szczególnie po stronie prawników – nasze umowy nie zawierają określenia typu: “agile’owa” czy “zwinna”. Umowa nazwana jest po prostu “Umową wdrożeniową”. Jestem przekonany, że za kilka czy kilkanaście miesięcy, to klienci, (odbiorcy), będą nalegali na to, aby dodawać te “nowe” określenia. Teraz jeszcze tak nie jest. Krótko mówiąc  chodzi o to, aby już na początku nie tworzyć sobie barier czy niepotrzebnych uprzedzeń. Nie nazwa jest tu najważniejsza  ale zasady i zapisy, o których napiszę więcej poniżej.

2. Preambuła

W preambule określamy okoliczności zawarcia umowy lub inne istotne przesłanki, które to np. mogą wspomóc interpretację treści samej umowy. Sugeruję, aby w tym miejscu umieszczone zostały cztery zdania Manifestu Zwinnego Tworzenia Oprogramowania, (Rozwiązań). Byłoby bardzo dobrze, gdyby strony mogły i zgodziły się tu również przyjąć trzy proste prawdy, które raz zaakceptowane usuwają większość problemów i niedoskonałości, na które napotykamy w projektach wdrożeniowych. Mam tu na myśli niemożliwość zebrania na początku wszystkich wymagań, oczywistość wystąpienia zmian oraz to, że zawsze będzie więcej do wykonania niż pozwala na to czas i budżet.

3. Definicje

Każda metodologia posługuje się specyficznym językiem i pojęciami. Chcąc z nich korzystać musimy je wyjaśnić tak, aby strony dobrze je rozumiały. Na szczęście, np. w metodyce Scrum nie jest ich dużo. Pomijając te oczywiste jak “Licencja”, “Program” itp., pozostają nam te najważniejsze jak: “Zakres prac”, “Iteracja”, “Stopień trudności”, “Zestaw funkcjonalny”, “Product Owner”, itd. Nie jest więc trudno dobrze je opisać.

4. Przedmiot umowy

Odwołując się bezpośrednio do metodologii Agile, powinniśmy w tym miejscu umieścić CEL jaki stawia sobie klient, a pomóc w jego realizacji chce dostawca. Namawiam, aby poświęcić wystarczającą ilość czasu i maksymalnie w kilku zdaniach zdefinować i opisać rzeczywisty cel. Jest to o tyle ważne, że pomoże nie zgubić się w trakcie realizacji projektu. W momencie kiedy zakończymy projekt będziemy mogli wrócić do niego i zweryfikować czy został osiągnięty.

5. Warunki realizacji umowy

W tym miejscu opisujemy tak istotne sprawy jak powołanie zespołu, określamy sposoby komunikacji, omawiamy odpowiedzialność, czas trwania interacji, warunki odbiorów zestawów funkcjonalnych, zgłaszania problemów, naprawy błędów, itd. Jednym z najistotniejszych zapisów musi być procedura wprowadzania zmian zgodna z Agile, a więc wyjmowania z zakresu prac zadań o określonym stopniu trudności i umieszczaniu innych – ważniejszych z punktu widzenia odbiorcy.

6. Zobowiązania dostawcy i odbiorcy

Tu definiujemy odpowiednio to, do czego zobowiązują się strony umowy. Z uwagi na specyfikę wdrożeń projektów IT praktycznie zawsze takie sprawy jak: bezpieczeństwo danych, dostęp zdalny do środowisk odbiorcy, musi być szczegółowo opisany. W tym miejscu określamy też zapewnienia co do gwarantowanej kompetencji członków zespołów. Istotnym elementem zobowiązań jest sposób przekazywania do odbioru zestawów funkcjonalnych oraz warunki i czas jaki jest potrzebny klientowi,  aby zaakceptował odbiór.

7. Gwarancje

Zawieramy warunki gwarancji oraz sposoby usuwania błędów. Jest to tak standardowy punkt, że nie będę się teraz  nad nim skupiał.

8. Warunki wynagrodzenia i terminy płatności

To bodaj najbardziej istotny z punktów umowy, który różni się od dotychczas spotykanych w “starych” umowach. Jego treść w pełni odwołuje się do wartości i prawd metodologii Agile.

Najważniejsza zmiana polega na tym, że dostawca cyklicznie, w krótkich okresach czasu 1-2 tygodni, dostarcza działające rozwiązanie, a odbiorca na bieżąco odbiera i płaci za nie. Dla ułatwienia, rozliczenia finansowe następują na koniec każdego miesiąca, kiedy to wystawia się fakturę zbiorczą za cztery iteracje, (w przypadku sprintów tygodniowych). W przypadku realizacji krótszych projektów oczywiście robi się to szybciej.

Zgadzając się na takie rozliczenia, strony umowy akceptują partnerskie podejście do projektu. Dostawca szybko dostarcza skończone, przetestowane i działające rozwiązanie, a odbiorca na bieżąco płaci za nie. Ważne jest aby okres rozliczeniowy nie był dłuższy niż 1 miesiąc. Pozwala to obu stronom umowy na bieżącą, (miesięczną), weryfikację i potwierdzenie chęci dalszej współpracy. Ewentualny brak płatności oznacza brak akceptacji dostarczonych produktów i usług. W takim przypadku strony muszą dokładnie wyjaśnić sobie problem i znaleźć rozwiązanie. Co ważne dzieje się to wyjątkowo szybko, (maksymalnie w okresie miesiąca), a nie tak jak kiedyś po kilku miesiącach. Korzyść płynąca z takich zapisów jest taka, że akceptacja projektu odbywa się praktycznie w sposób ciągły. Zmusza to obie strony umowy do wyjaśniania wątpliwości czy nieporozumień co powoduje ciągłe usprawnianie prowadzenia projektu.

9. Okres obowiązywania i wypowiedzenia umowy

To kolejny punkt z zapisów umowy, który jest bardzo istotny. Wprowadza on dwie istotne zmiany, które w “starych” umowach nie występowały lub były rzadko wprowadzane. Po pierwsze zapisy umowy są partnerskie czyli każda, podkreślam każda ze stron może wypowiedzieć ją z maksymalnie krótkim okresem wypowiedzenia, (np. 30-dniowym),  bez konieczności podawania przyczyn. Po drugie, umowa nie zawiera żadnych zapisów dotyczących kar,  w  szczególności kar niedotrzymania terminów, (w umowie możemy jedynie mówić o prawdopodobnym, przewidywanym harmonogramie) czy zakresu, (który nigdy nie jest do końca zdefiniowany i może się zmieniać).

10. Poufność, Siła wyższa, Cesja praw, Powiadomienia, Postanowienia końcowe i załączniki

Te punkty mogą i zawierają już standardowe zapisy stosowane w umowach wdrożeniowych i nie wymagają komentarza.

Krzysztof Wiśniewski
CEO
#contmanway
Więcej w kategorii >
23.05.2018, Autor: Magdalena Tuchowska
Zmiana pracy to jedno z bardziej stresujących wydarzeń w naszym życiu. Przejście przez pierwsze trzy miesiące w nowej firmie bez opieki przewodnika jest jak ...
Czytaj więcej
Aktualności
Więcej w kategorii >
09.01.2018, Autor: Krzysztof Wiśniewski
Chcielibyśmy zainteresować Państwa rozwiązaniem, dzięki któremu ograniczycie, a nawet całkowicie wyeliminujecie koszty sięgające setek tysięcy złotych i więc...
Czytaj więcej
Case Studies
Więcej w kategorii >
23.05.2018, Autor: Magdalena Tuchowska
Zmiana pracy to jedno z bardziej stresujących wydarzeń w naszym życiu. Przejście przez pierwsze trzy miesiące w nowej firmie bez opieki przewodnika jest jak ...
Czytaj więcej
Po godzinach
Więcej w kategorii >
13.09.2016, Autor: Dawid Tomaszewski
Ansel Adams kiedyś powiedział: „prawdziwa fotografia nie musi być wyjaśniana, ani nie może być zawarta w słowach”. Każdy z nas widział zdjęcie, na które pier...
Czytaj więcej
19.10.2015, Autor: Albert Ziarko
Dziś poruszę temat trudny i dość skomplikowany. Takie mam wrażenie, bo jak się dobrze zastanowić rzecz dotyczyć mogłaby zarówno gruntu osobistego jak i bizne...
Czytaj więcej