KokkuvÔte
Raamat on jutustatud algoritm arendusprotsessi viimiseks ideest rakendamiseni, kasutades agile tehnikaid. Protsess jaguneb etappideks ja igas etapis on toodud meetodid protsessi sammu jaoks. Autor mÀrgib, et suurem osa meetodeid ei ole originaalsed, mitte neid originaalsusele pretendeerides. Kuid hea esitlusstiil ja teatav protsessi terviklikkus teevad raamatust vÀga kasuliku.
VÔtmetehnika kasutajate lugude kaardil on ideede ja eesmÀrkide struktureerimine protsessi kÀigus.
Protsessi lĂ€biviimine vĂ”ib olla vĂ€lja toodud erinevalt. Saame etapid korraldada vastavalt saavutatud vĂ”tmevÀÀrtusele vĂ”i lihtsalt esitada kasutajate tööpĂ€eva, nagu see toimub sĂŒsteemi kasutamise korral. Autor keskendub sellele, et protsesse tuleb vĂ€ljendada, rÀÀkida kasutaja loona protsessikaardil, mis andis oma nime kasutajate lugude kaardile.
Kellele see vajalik on
IT-analĂŒĂŒtikutele ja projektijuhtidele. Kohustuslik lugemine. Lugemine on lihtne ja meeldiv, raamat on mÔÔdukalt pikk.
TĂŒhistamine
KÔige lihtsamal kujul, kuidas see töötab.
KĂŒlastaja tuleb kohvikusse, valib roogasid, teeb tellimuse, saab toidu, sööb ja maksab.
Igal etapis on vĂ”imalik kirjutada nĂ”udeid, mida me sĂŒsteemilt soovime.
SĂŒsteem peab nĂ€itama roogade nimekirja, kus igal roogil on koostisosad, kaal ja hind, ning vĂ”imalus lisada see ostukorvi. Miks me oleme nende nĂ”uete osas kindlad? "Standardse" nĂ”udluse kirjelduses pole seda kĂ€sitletud ja see tekitab riske.
TĂ€ideviijad, kes ei mĂ”ista, miks see vajalik on, teevad tavaliselt seda, mida vaja ei ole. TĂ€ideviijad, kes ei ole seotud idee loomise protsessiga, ei ole seotud ka tulemusega. Agile ĂŒtleb, et keskenduge eelkĂ”ige mitte sĂŒsteemile, vaid inimestele, kasutajatele, nende ĂŒlesannetele ja eesmĂ€rkidele.
Loome isiksusi, et kaastunde loomiseks anda neile detaile ja isiksustest lÀhtudes hakkame lugusid rÀÀkima.
Kantselei töötaja Zahhar lĂ€ks lĂ”unale ja soovib kiiresti eine nautida. Mida tal on vaja? Idee â vĂ”ib-olla tahab ta Ă€ri lĂ”unat. Veel ĂŒks idee â ta tahab, et sĂŒsteem mĂ€letaks tema eelistusi, kuna ta on dieedil. Veel ĂŒks idee â ta soovib, et talle tuuakse kohe kohvi, kuna ta on harjunud kohvi jooma enne lĂ”unat.
Kas on veel Ă€rimudeli (orgsonaĆŸ â tegelane, kes esindab mingi organisatsiooni huve)? Ări soovib suurendada keskmist ostusummat, ostu sagedust ja kasumit. Idee â pakkuda ebatavalisi roogasid mingist köögist. Ăks idee â mis siis, kui vĂ”tame kasutusele hommikusöögid.
Ideid saab ja tuleb konkreetselt mÀÀratleda, transformeerida ja vormistada kasutaja loo kujul. Nagu Ă€rikeskuse töötaja Zahhar, tahan, et sĂŒsteem tunneks mind Ă€ra, et saaksin menĂŒĂŒ, mis arvestab minu eelistustega. Nagu teenindaja, tahan, et sĂŒsteem teavitaks mind, millal minna lauda, et klient oleks rahul kiire teenindusega. Ja nii edasi.
KĂŒmneid lugusid. Edasi prioriseerimine ja backlog? Jeff osutab tekkivatele probleemidele: detailidesse kinni jÀÀmine ja kontseptuaalse arusaamise kaotus, pluss funktsionaalsuse prioriseerimine, loob katkendliku pildi, kuna see ei vasta eesmĂ€rkidele.
Autori tee: prioriseerime mitte funktsionaalsuse, vaid tulemuse = selle, mida kasutaja lÔpuks saab.
Ilmselgelt mitte-ilmselge punkt: prioriseerimise sessiooni ei viibi kogu meeskond, kuna see on ebaefektiivne, vaid kolm inimest. Esiteks vastutab Àrivajaduste eest, teine kasutajakogemuse eest ja kolmas elluviimise eest.
MÀÀratleme miinimumi ĂŒhe kasutaja ĂŒlesande lahendamiseks (minimaalne elujĂ”uline lahendus).
TĂ€pistame esimese prioriteedi ideed kasutaja loo, disainijooniste, piirangute ja Ă€rireeglite abil kasutajakogemuse kaardil, rÀÀkides ja arutades meeskonnaga, mida isikud ja sidusrĂŒhmad igal protsessi sammul vajavad. ĂlejÀÀnud ideed jĂ€tame me ei arutamata, backlog'i vĂ”imaluste nimekirja.
Protsess kirjutatakse kaardikeste vormis vasakult paremale, ning ideed kaartidel on protsessi sammude all. Koos meeskonna liikmetega peab olema kindlasti arutelu kogu loo kulgemisest, et luua ĂŒksteisemĂ”istmine.
Selle viisi kohandamine loob protsesside kooskÔla terviklikkuse.
Saadud ideid tuleb kontrollida. Kellelegi meeskonnast ei pane isik persona peakatet ja veedab pĂ€eva tema peas, lahendades tema ĂŒlesande. VĂ”imalik valik, et ta ei nĂ€e olemasolevaid töötulemusi, luues kaarte uuesti, kui meeskond avab endale alternatiive.
SeejĂ€rast toimub detailimine hindamise jaoks. Selleks piisab kolmest inimesest. Vastutav kasutajakogemuse eest, arendaja, testija, kelle lemmikkĂŒsimus on: âEnt mis siis, kuiâŠâ.
Igal etapil arutatakse kasutaja loo protsessikaarti, mis vĂ”imaldab, hoides meeles kasutaja ĂŒlesande, luua arusaamade jĂ€rjepidevust.
Kas autori arvates on dokumentatsioon vajalik? Jah, see on vajalik. Kuid nagu mÀrkmed, mis aitavad meeles pidada, milles kokku lepiti. Inimese kaasamine nÔuab taas arutelu.
Autor ei sĂŒvene dokumentatsiooni piisavusse, keskendudes pigem arutelude vajadusele. (Jah, dokumentatsioon on vajalik, sĂ”ltumata sellest, mida vĂ€idavad inimesed, kes ei mĂ”ista agiilset lĂ€henemist sĂŒgavalt). Samuti vĂ”ib osade vĂ”imaluste detailne kĂ€sitlemine viia kogu sĂŒsteemi tĂ€ieliku ĂŒmbertegemiseni. Autor toob esile liigse töötlemise riski, kui idee ei osutunud Ă”igeks.
Ohtude vĂ€hendamiseks on vajalik kiiresti saada tagasisidet loodava toote kohta, et minimeerida âvaleâ toote loomise kahju. Koostati ideekavand â valideeriti kasutajalt, prototĂŒĂŒpide esialgne visand â valideeriti kasutajalt jne. (Eraldi mainitakse, kuidas valideerida programmide prototĂŒĂŒpe). Tarkvara loomise eesmĂ€rgid, eriti algfaasis â Ă”ppimine kiirest tagasisidest, seega on esialgne loodud toode visandid, mis suudavad tĂ”estada vĂ”i ĂŒmber lĂŒkata hĂŒpoteesi. (Autor tugineb Eric Riesi tööle âLean Startupâ).
Loo kaart aitab luua suhtlust, kui rakendust tagavad mitmed meeskonnad. Mida peaks kaardil olema? KÔike, mis on vajalik vestluse toetamiseks. Mitte ainult kasutaja lugu (kes, mis, miks), vaid ka ideed, faktid, liidese visandid jne.
Jagades loo kaardi kaardid mitmeks horisontaalseks jooniseks, saab tööd jagada vĂ€ljaanneteks â eristada minimaalset, funktsionaalsuse lisakihti ja âlintiâ.
RÀÀgime lugusid protsessi kaardil.
Töötaja tuli lÔunale.
Mida ta soovib? Teeninduse kiirus. Et tema lĂ”unasöök ootaks teda laual vĂ”i vĂ€hemalt taletti. Oops â ĂŒks samm jĂ€i vahele: töötaja tahtis sĂŒĂŒa. Ta sisenes sĂŒsteemi ja valis Ă€rilĂ”una variandi. Ta nĂ€gi kalorsust ja vastavust toitevÀÀrtusele, et jĂ€rgida dieeti ja mitte paksuks minna. Ta nĂ€gi roogade pilte, et otsustada, kas ta sööb selles kohas vĂ”i mitte.
Kas siis ta lĂ€heb lĂ”unat sööma? VĂ”i tuuakse talle lĂ”unasöök kontorisse? Siis on jĂ€rgmine samm toidu koha valimine. Ta tahab nĂ€ha, millal toit talle kohale toimetatakse ja kui palju see maksab, et otsustada, kuhu aega ja energiat kulutada â allapoole minnes vĂ”i tööl olles. Ta tahab nĂ€ha kohviku koormust, et mitte jĂ€rjekordades seisma jÀÀda.
SeejÀrel tuli töötaja kohvikusse. Ta tahab nÀha oma taldrikut, et vÔtta see ja otse lÔunat sööma minna. Kohvik tahab raha vastu vÔtta, et teenida teenindusest. Töötaja tahab, et ta kulutaks kohvikus arveldamiseks vÔimalikult vÀhe aega, et mitte raisata oma vÀÀrtuslikku aega. Kuidas seda teha? Maksta ette vÔi vastupidi, pÀrast teenindust eemalt. VÔi maksta hetkel kioski kaudu. Mis on sellest kÔige olulisem? Kui palju inimesi on valmis maksma pangakaardiga lÔuna eest? Kui palju inimesi usaldab kaardi numbri salvestamist selle söökla korduvateks makseteks? Ilma vÀlja uuringuta pole selge, testimist on vaja.
Iga protsessi sammu korral tuleb kuidagi funktsionaalsust tagada, selleks tuleb vÔtta mingi isik ja valida, mis on talle olulisem (just see kolmik, kes valib). Kui lugu on lÔpuni jÔudnud = on loodud elujÔuline lahendus.
SeejÀrel toimub detailide vÀlja selgitamine. Klient tahab nÀha kohviku koormust, et mitte jÀrjekordades seisma jÀÀda. Mida tÀpselt ta tahab?
Vaadata prognoosi, kui palju inimesi on 15 minuti pÀrast, kui ta sinna lÀheneb.
Vaadata keskmist teenindusaega kohvikus ja selle dĂŒnaamikat poole tunni vĂ”rra ette.
Vaadata olukorda ja laudade hĂ”ivamise dĂŒnaamikat.
Aga mis siis, kui prognoosisĂŒsteem annab arusaamatuid tulemusi vĂ”i lĂ”petab töötamise?
Vaadata kohvikus jÀrjekordi videote kaudu ning samuti laudade hÔivatust. Hmm, miks mitte seda kÔigepealt teha?!
Autor toob vĂ€lja vĂ€ikese harjutuse praktika arendamiseks: proovige ette kujutada, mida teete hommikul pĂ€rast Ă€rkamist. Ăks kaart = ĂŒks tegevus. Lihtsustage kaarte (kohvi valmistamise asemel - jooge elustav jook), et eemaldada individuaalsed detailid, keskendudes mitte teostusviisile, vaid eesmĂ€rgile.
Kellele see raamat on - IT-analĂŒĂŒtikutele ja projektijuhtidele. Kohustuslik lugemine.
Rakendused
Arutelud ja otsuste vastuvÔtmine on tÔhusad gruppides, kus on 3 kuni 5 inimest.
Kirjutage esimesel kaardil, mida tuleb arendada, teisel â parandage seda, mis on esimesel tehtud, kolmandal â parandage seda, mis on tehtud esimesel ja teisel.
Valmistage lugusid nagu koogid - mitte retsepti vÀlja kirjutades, vaid teada saades, kellele, mis pÔhjusega, mitu inimest kook on. Kui jagada teostus osi, siis mitte koogi valmistamiseks, kreemi jne, vaid vÀikeste valmis kookide valmistamiseks.
Tarkvara arendamine on sarnane filmi loomisele, kus on vajalik hoolikalt ette valmistada ja lihvida stsenaariumi, korraldada stseene, nÀitlejaid jne enne filmimist.
Resource'id on alati puudujÀÀgis.
20% pingutustest annab kĂ€egakatsutava tulemuse, 60% toob ebamugavusi, 20% pingutustest on kahjulikud â seetĂ”ttu on oluline keskenduda Ă”ppimisele ja mitte meelt heita negatiivsete tulemustega.
Suhelge kasutajaga otse, tundke end tema olukorras. Keskenduge teatud probleemidele.
Ajaloo detailimine ja töötlemine hindamiseks on scrum'i kĂ”ige vaevarikkam osa, tehke arutelud seisvateks akvaariumi reĆŸiimis (seinaraamatu juures arutavad 3-4 inimest, kui keegi soovib osaleda, asendab ta kedagi).
Allikas: habr.com
