Data Driven Development (andmetepõhine arendus) on tarkvaraarenduse metoodika, kus otsuseid ja prioriteete ei määra mitte "kõhutunne" või hierarhia (nt kõrgeima palgaga isiku arvamus), vaid kogutud kvantitatiivsed ja kvalitatiivsed andmed.
Selle mudeli eesmärk on vähendada ebakindlust, valideerides hüpoteese reaalsete kasutajate peal võimalikult vara. See on tihedalt seotud Lean Startup ja Agile põhimõtetega.
DDD protsess on tsükliline, mitte lineaarne. Tüüpilised etapid on järgmised:
Kuigi DDD ise on pigem katusmõiste või "mõtteviis", eksisteerib selle all spetsiifilisemaid lähenemisi ja alamvariante:
Data Driven Development mudelit kujutatakse kõige sagedamini ringdiagrammina (tagasiside silmusena), mis on tuntud kui "Build-Measure-Learn" tsükkel.
Joonis: Build-Measure-Learn tagasiside tsükkel
Joonis on iteratiivne: see algab ideest, liigub koodi kirjutamiseni, sealt andmete kogumiseni ja lõpuks tagasi uue ideeni, mis põhineb õpitul.
Kõige kriitilisem omadus on lühike ja objektiivne tagasiside ahel.
Miks? Ilma kiire tagasisideta on andmete kogumine vaid "edevusmõõdik" (vanity metric). Mudeli väärtus seisneb selles, et arendustiim ei raiska aega funktsioonidele, mida keegi ei kasuta. See asendab subjektiivsed arvamused objektiivse reaalsusega, võimaldades ebaõnnestuda kiiresti ja odavalt (fail fast).
| Positiivne (Head) | Negatiivne (Vead) / Riskid |
|---|---|
| Objektiivsus: Vähendab isiklikel arvamustel põhinevaid vaidlusi ja poliitikat organisatsioonis. | Analüüsi halvatus (Analysis Paralysis): Oht jääda andmeid jõllitama ja lõputult analüüsima, lükates otsuseid edasi. |
| Parem ROI (Tasuvus): Ressurss suunatakse sinna, mis päriselt toob tulu või väärtust kasutajale. | Konteksti puudumine: Andmed näitavad "mis" juhtus, aga harva "miks". Võib tekkida valesid järeldusi ilma kvalitatiivse uuringuta. |
| Parem kasutajakogemus (UX): Toodet arendatakse vastavalt sellele, kuidas inimesed seda tegelikult kasutavad. | Lokaalne maksimum: Andmed võivad optimeerida olemasolevat lahendust, kuid ei pruugi viidata vajadusele radikaalse innovatsiooni järele (mida andmetes veel pole). |
| Riskide maandamine: Vigased ideed praagitakse välja enne suuremahulist investeeringut. | Privaatsusprobleemid: Liigne andmekorje võib minna vastuollu GDPR-i või kasutajate usaldusega. |
| Loe lähemalt: How to Implement Hypothesis-Driven Development (ThoughtWorks) | |