Dar 2010-ais parašiau straipsnį, jog galima vykdyti Agile projektus turint fiksuotą kainos, laiko bei funkcionalumo sutartį. Tada neturėjau sutarties pavyzdžio iš savo praktikos, rėmiausi literatūra ir diskusijomis su kolegomis iš užsienio. O 2013-ais atėjo laikas programavimo paslaugų pirkimo sutartį pasirašyti pačiam. Taigi kaip vyksta jos derinimas?
Pradžia
Mums reikėjo pagalbos kuriant aplikaciją mobiliajam telefonui. Kadangi jau turėjome dizaino pavyzdžius davėme juos tiekėjui kartu su prioretizuotomis vartotojo pasakojimais (user story). Taip, klientas, t.y. aš, kitaip jau nebemoku rašyti reikalavimų J. Vykdytojas įvertino apimtį ir sutarėme sudarinėti sutartį.
Standartinė sutartis
Be abejo, sutarties pasiūlymą gavau standartinį.
„Atsiskaitymo tvarka:
xx,xx Lt (xxxxxx litų xxx ct.) sumokami avansu, mokėjimo pavedimu į Vykdytojo atsiskaitomąją sąskaitą pasirašius Sutartį per 5 (penkias) darbo dienas. Avansas įskaitomas kaip apmokėjimas už atliktus darbus.
Likusi suma, t.y. xx,xx Lt (xxxxxx litų xxx ct.) įskaitant nustatyto dydžio PVM sumokami pasirašius Darbų priėmimo – perdavimo aktą per 15 kalendorinių dienų nuo PVM sąskaitos faktūros pateikimo dienos. Sąskaita faktūra pateikiama iš karto po perdavimo – priėmimo akto pasirašymo.“
Tai reiškia, jog vykdytojas gamins visą projektą iš karto. Man reikės sumokėti avansą, laukti projekto pabaigos, jį priimti ir tada sumokėti likusią sumą. Viskas skamba puikiai tik…. mano patirtis sako, jog tai yra kelias į užprogramuotą konfliktą projekto pabaigoje.
Kodėl nevykdyti projekto pasinaudojant pagrindiniu Agile principu – prieaugiais (increments)? Ir aš turiu omenyje VISKO: gamybos, pridavimo ir apmokėjimo?
Agile sutartis
Taigi prisėdau, perskaičiau savo seniai rašytą straipsnį, ir pagal jį paprašiau papildyti sutartį šiais punktais:
Projekto apimtis skaidoma į funkcijas prioretizuotas ir apibrėžtas Priede Nr. 1
Užsakovas turi teisę keisti funkcijų prioritetus apie tai informuodamas vykdytoją.
Užsakovas turi teisę iškeisti vieną funkciją į kitą, jeigu su vykdytoju sutariama, jog keičiamos funkcijos apimtis yra tokia pati. Jeigu keičiamos funkcijos apimtis yra didesnė arba mažesnė, atitinkamai koreguojama galutinė projekto vertė.
Funkcijos programuojamos ir priduodamos užsakovui prioriteto tvarka
Užsakovas įsipareigoja tinkamai atliktą kiekvieną funkciją, priimti per 7 (septynias) darbo dienas ir sumokėti už jos sukūrimą ir aktyvavimą.
Vykdytojas įsipareigoja funkcijose rastas klaidas ištaisyti per 7 (septynias) darbo dienas. Funkcijos priėmimas ir sumokėjimas už jos sukūrimą ir aktyvavimą pradedamas skaičiuoti iš naujo nuo pataisytos funkcijos atidavimo užsakovui.
Jei funkcija nepriduodama užsakovui per 3 kartus (vis randamos klaidos), užsakovas turi teisę vienašališkai nutraukti šią sutartį, nemokėdamas jokių baudų ar delspinigių. Jei užsakovas sumoka už šią funkciją, ji perduodama užsakovui kokia yra (su esamomis klaidomis). Tačiau užsakovas turi teisę atsisakyti tokios funkcijos, taip jos negauna ir nėra įpareigotas apmokėti už jos kūrimą.
Vykdytojas sutiko su visais punktais išskyrus paskutinįjį: „Nėra sąžiningas sutarties punktas, užsakovui duodantis teisę piktnaudžiauti ir vienašališkai interpretuoti”. Pasiūliau jį papildyti, jog tokią pačią teisę nutraukti sutartį turi ir vykdytojas. T.y. jeigu jis mano, jog klientas kelis kartus iš eilės pateikia nepagrįstas pastabas, plečia pagamintos funkcijos apimtį ar panašiai. Juk geriau nustoti dirbti su tokiu klientu padarius pirmą funkciją, negu padaryti visą projektą ir nesugebėti jo priduoti klientui ilgai. Tiesa?
Kas toliau?
Tikiuosi sugebėsime susitarti ir turėsime pirmos Agile sutarties Lietuvoje pavyzdį. Parašysiu kaip seksis. O gal čia ne pirmoji Agile sutartis Lietuvoje. Gal kažkas jau turite tokių sudarę? Pasidalinkite!
Comments