08. Minimālais dzīvotspējīgais produkts

08. Minimālais dzīvotspējīgais produkts

Agile viens no principiem vēsta – “Mūsu augstākā prioritāte ir apmierināt klienta vajadzības, pēc iespējas drīz un nepārtraukti piegādājot vērtību pievienojošu programmatūru”.

MVP (minimal viable product). Agile lieto šo terminu, lai apzīmētu minimālo dzīvotspējīgo produktu. Šeit gribētos precizēt, ka tas ir minimālais produkts, kuru klients jau reāli varētu testēt un dot izstrādātājam atgriezenisko saiti. Izskaidrošu ar piemēru, kas ir un kas nav MVP.

Iedomāsimies, ka klientam nepieciešams nokļūt no punkta A uz punktu B, tāpēc viņš ir pasūtījis uztaisīt (varam iedomāties kā abstraktu lietu) vai uzprogrammēt “automašīnu”. Lai izstrādi varētu saukt par Agile, mums jāpiegādā MVP. Šajā posmā ir svarīgi nekļūdīties un saprast, ka klientam vērtību nesošs produkts nebūs automašīnas riepa! Klientam nepieciešams nokļūt no punkta A uz B. Tāpēc MVP šajā gadījumā varētu būt skeitbords, ko piegādājam pirmajā iterācijā.

Kad pirmā iterācija ir veikta un ikrements ir piegādāts, mēs saņemam atgriezenisko saiti no pasūtītāja. Ļoti iespējams, ka klients ir nevisai apmierināts, jo viņa vēlme taču bija automašīna. Šajā posmā atgriezeniskā saite ir vitāli svarīga, jo uzdodot jautājumus mēs sapratīsim, kāpēc klients nav apmierināts. Pieņemsim, ka klients atbild, ka skeitbords ir nestabils. Ok, nākošajā iterācijā mēs pievienojam stūri, pie kā turēties un kontrolēt virzienu, kurā brauc. Iegūstot atgriezenisko saiti mēs no klienta stāstītā secinām, ka skeitbords ir pārāk lēns, tāpēc nākošajā iterācijā pārtaisam to par velosipēdu. Klients jau kļūst apmierinātāks, taču joprojām tas nav īsti tas, ko viņš vēlējās. Kā nākošo inkrementu piegādājam motociklu. Klients ir priecīgs, viņam patīk tas, ka nav jāminās pašam, var nokļūt no punkta A uz punktu B un superīga ir sajūta, kad vējš pūš matos. Šajā posmā klients ir gatavs apstāties, jo viņu jau apmierina produkts. Pieņemsim, ka apsverot vēl dažādas nianses, piemēram, vietu skaits uz motocikla, tomēr veicam vēl vienu iterāciju, lai tā būtu automašīna, bet bez jumta, jo klientam ļoti patika vējš matos!

Te nu mēs redzam, kā attīstījās produkts Agile izstrādes procesā. Ja tā būtu waterfall pieeja, tad klients rezultātā iegūtu parastu automašīnu, bet šajā gadījumā (Agile) viņš ir daudz priecīgāks, jo ticis pie kabrioleta! Šis piemērs ir ļoti abstrakts un automašīna ir kā metafora, bet ļauj saprast Agile izstrādes būtību! Izstrādātāja un pasūtītāja sadarbības rezultātā ir radīts produkts, kas ir visatbilstošākais klienta vēlmēm.