Obstarávanie softvéru nemusí byť čierna diera

Obstarávanie softvéru nemusí byť čierna diera

Vďaka vedomému (cielenému) zanášaniu limitov do pomyselného trojuholníka čas - náklady - kvalita a preferencii projektov s pevnou cenou (nie time&material) dokážem nastaviť vzájomnú spoluprácu zadávateľa a dodávateľa softvérového riešenia tak, aby sa kombinovala výhoda, že viem, koľko ma to bude stáť, s tým, že dostanem očakávanú hodnotu v rozumnom čase.

Projekt s pevnou cenou (fixed price) má oproti time&material výhodu v tom, že sa celková cena mojej investície ako zákazníka nemôže zmeniť. Stále sa nájde dosť softvérových projektov, kde pôvodne indikovaná cena, ktorá vyhrala zakázku pred inými (pravdepodobne drahšími) ponukami, nafúkla mimo pôvodný rámec (scope screep). Nečudujem sa. Odhadnúť rámec projektu veľkosti vesmírnej lode nie je nič jednoduché. Pevná cena viacej svedčí rámcovo menším projektom, čo aj implikuje, že sa ním doručovaná hodnota skôr dostane na svetlo sveta. A ten kto si dané riešenie obstaráva, lepšie dokáže reflektovať hodnotu, ktorú mu projekt prináša.

Scope grows naturally. Scope creep isn’t the fault of bad clients, bad managers, or bad programmers. Projects are opaque at the macro scale. You can’t see all the little micro-details of a project until you get down into the work. Then you discover not only complexities you didn’t anticipate, but all kinds of things that could be fixed or made better than they are.

Zdroj: https://basecamp.com/shapeup/3.5-chapter-13#scope-grows-like-grass

Skateboard

Ak sa od klienta dozviem, prečo chce niečo riešiť, prečo to chce riešiť práve teraz, a prečo to chce riešiť práve so mnou (t.z. nepodarí sa mi ho presvedčiť, že existujú lepšie alternatívy), tak mám celkom slušný základ toho, čo ideme dosiahnuť. Máme identifikované ciele projektu.

V úvodnej fáze projektu treba čím skôr doručiť hodnotu, ktorú si klient môže osahať, a doručí sa minimálne jeden z identifikovaných cieľov projektu (cieľ môže byť aj vedome nastavený, ohnutý, aby sa nestaval hneď Titanic). Henrik Kniberg dal tejto fáze, ktorej praktikanti agile a lean, vrátane mňa, s obľubou hovoria Miminal Viable Product (MVP), vhodnejšie meno: Earliest testable product (ETP). Nadôvažok, kým sa napíše prvý riadok kódu, je stále možné niektoré domnienky a predpoklady overiť experimentami.

Zdroj: https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp

Henrik pomocou paralely s automobilom, ako konečným riešením, na problém zákazníka (rýchlejší, ako peší presun z bodu A do bodu B), poukazuje na fakt, že na overenie hypotézy, či produkt bude fungovať stačí postaviť skateboard, alebo kúpiť lístok na autobus. Prvá fáza projektu sa teda zamierava na túto hodnotu.

Šperkovanie

V ďalších fázach, dalších miniprojektoch, ktorým volám šperkovanie, sa identifikujú balíčky vylepšení, ktoré sa rovnako ohodnocujú individuálne. Vďaka skateboardu už máme spätnú väzbu, potvrdené alebo vyvrátené nejaké predpoklady. Niečo sme sa naučili, sme o niečo múdrejší.

Páni z Basecampu hovorili nedávno v podcaste o vertikálnych slížoch (slices), ktoré reprezentujú funkcie, funkčnosť softvéru, ktorú si môže používateľ odskúšať (ochytať), resp. sú zároveň aj pre riešiteľa (programátora) satisfakciou, že vidí už kus riešenia fungovať. Pripravovať paralelne (samostatne nefunkčné, neprinášajúce hodnotu) kusy veľkého softvérového riešenia v pomerne dlhom období, a potom sa po 3-6-12 mesiacoch modliť, že sa to celé zázrakom a bez výziev spojí do fungujúceho celku, je zvyčajne cesta do change request peklíčka (krvácanie dodávateľa alebo odberateľa riešenia).


Ak  iteratívny a vedome ohraničený postup evokuje, že je nemožné ho aplikovať na megalománsky projekt, tak je to správne. Biznisové aplikácie treba doručovať iteratívnym spôsobom. Aj biznis sa totiž vie zmeniť z týždňa na týždeň.

Show Comments