Sve sam završio i … radi na mojoj mašini!

Ako je nešto gotovo, završeno, ne znači i da je uspješno (Tj. ne mora da znači da je definicija uspješnosti zadovoljena — Definition of Success/DoS)

Ako se zna koji su koraci da bi se pronašao optimalan rezultat uz optimalno rješenje (kako smo to opisali u članku Znamo li šta hoćemo), onda u svakom od koraka bi se trebalo znati šta raditi i kako svaki korak ispravno analizirati.

Prije nego se uopšte krene na bilo koji korak, valja znati da li su ispunjeni uslovi za početak tog koraka, a naravno kasnije i evaluacija tog koraka prije prelaska na slijedeći.

Ono što se u svijetu IT-a popularno zove u ovom slučaju — da li je nešto gotovo, jeste: Definicija gotovog (Definition of Done/DoD). Ako se precizno definiše šta je to gotovo, mnogo lakše se ostvaruje napredak. Jer, definicija gotovog može biti za jedan mali, mikrokorak, kao što je neki pojedinačni zadatak, ali također i za cijeli projekat ili pak neki od koraka koji vode do konačnog rezultata.

Definicija gotovog nije univerzalna! Ne može se dati neki šablon koji će svi da slijede. Ali, svakako se mogu i trebaju navesti primjeri da bi oni koji žele da imaju svoje definicije napismeno imali neke smjernice i ne izmišljali toplu vodu.

Neke od definicija se mogu naći u nastavku, za svijet IT-a, odnosno programiranje i na nivou nekog pojedinačnog zadatka ili priče (Story — Pročitajte šta je to Dobra priča).

Primjer #1

  • Testovi su napisani (u dogovorenoj količini pokrivenosti) i svi prolaze (zeleni su).
  • Za kôd je urađena recenzija od kolega (neki najmanji definisani broj kolega bez kojih recenzija nije validna).
  • Kôd je proslijeđen na server i spojen na odgovarajuću granu (GIT, SVN, ..).
  • Izgradnja softvera i pokretanje testova u CI/CD okruženju (Deployment pipeline) prolazi (sve je zeleno).
  • Softver ili funkcionalnost je testirana od strane programera na razvojnom okruženju ili pak nekom drugom u zavisnosti od organizacije — Sam sebi programer provjeri na razvojnom okruženju da li sve radi, prije nego obavijesti kolege da i oni testiraju u njegovo ime.

Primjer #2

  • Softver ili funkcionalnost je urađena slijedeći kriterije prihvatljivosti (Acceptance Criteria).
  • Za svaku kriteriju je izgrađen poseban test koji pokriva kompletnu kriteriju na nekoliko načina — testovima posebne jedinice, funkcionalni i/ili integralni testovi.
  • Ispunjeni su svi zahtjevi sigurnosti.
  • Ispunjeni su svi zahtjevi poštivanja prava privatnosti i zaštite podataka (O GDRP iz druge perspektive smo pisali poseban članak).
  • Za napisani kôd urađena je recenzija od kolega (neki najmanji definisani broj kolega bez kojih recenzija nije validna).
  • Napisana je tehnička dokumentacija koja opisuje šta se uradilo (ReadmeChangelog, …).
  • Napisana je korisnička dokumentacija koja krajnjem korisniku daje uvid u funkcionalnost — šta se može i ne može s funkcionalnošću postići/uraditi.
  • Kôd je proslijeđen na server i spojen na odgovarajuću granu (GIT, SVN, …).
  • Izgradnja softvera i pokretanje testova u CI/CD okruženju (Deployment pipeline) prolazi (sve je zeleno).
  • Softver ili funkcionalnost je testirana od strane programera na razvojnom okruženju ili pak nekom drugom u zavisnosti od organizacije, koristeći sve uređaje koje potencijalni krajnji korisnik može da koristi (različiti operativni sistemu, veb pretraživači, uređaji, mobiteli, pc, laptop, pametni satovi, …)
0

Hits: 0