2.6 Muda wa mzunguko na vijenzi vyake
Muhtasari na msukumo
Muda wa mzunguko ni mgawanyo wa ndani wa muda wa mtiririko wa badiliko (mada ya 2.4) kuwa hatua zake za msingi za uhandisi: muda wa kuandika msimbo, muda wa mapitio, muda wa majaribio, na muda wa usambazaji, wakati mwingine ukigawanywa zaidi kuwa muda wa kuchukua (muda ambao badiliko linasubiri kabla yeyote hajaanza kulifanyia kazi) na muda hai (muda unaochukua mtu anapoanza). Pale muda wa mtiririko unapokupa namba moja kwa muda ambao badiliko linachukua mwanzo hadi mwisho kupitia mkondo mzima wa thamani, muda wa mzunguko unakuambia muda huo unakwenda wapi hasa inapofika uhandisi, ambalo ndilo tabaka la utambuzi ambalo mada ya 2.4 iliahidi liko chini ya namba yake ya muhtasari.
Tofauti hii ni muhimu kwa sababu “muda wa kuongoza ni mrefu mno” si kitu kinachoweza kutekelezwa peke yake. Timu ambayo muda wake wa kuongoza unatawaliwa na muda wa kuandika msimbo inahitaji uingiliaji tofauti na timu ambayo muda wake wa kuongoza unatawaliwa na foleni ya mapitio ya siku tatu, ambayo inahitaji uingiliaji tofauti tena na timu inayopoteza muda wake mwingi kwa mfululizo wa majaribio usio thabiti, wa polepole. Bila kugawanya muda wa mzunguko, timu huelekea kukisia kizuizi, na kukisia ni kosa mara kwa mara vya kutosha kwamba kurekebisha hatua isiyo sahihi kunapoteza juhudi halisi huku kikwazo halisi kikibaki bila kuguswa.
Kwa timu kubwa, kugawanya muda wa mzunguko ndiko kunakogeuza kurudi nyuma kwa muda wa kuongoza wa shirika zima kutoka fumbo hadi tatizo mahususi, linaloweza kushughulikiwa. Makumi ya timu zinaposhiriki miundombinu ya pamoja, kizuizi cha mapitio cha pamoja au bomba la CI la pamoja la polepole linaweza kuvuta muda wa kuongoza wa kila timu chini kwa namna ileile, na ulinganisho wa muda wa mzunguko wa kuvuka timu tu ndio unaofichua chanzo hicho cha pamoja, badala ya kila timu kukisia kivyake maelezo yake ya ndani.
Kanuni kuu
- Muda wa mzunguko unaeleza muda wa kuongoza; hauuchukui nafasi yake. Ripoti vyote viwili pamoja, muda wa mzunguko ukiwa utambuzi na muda wa kuongoza ukiwa muhtasari.
- Muda wa kusubiri kwa kawaida unatawala muda hai. Ucheleweshaji mwingi katika utoaji wa programu unatokana na kazi kukaa bure kwenye foleni, si juhudi hai (mada ya 2.5 inalishughulikia hili moja kwa moja kupitia ufanisi wa mtiririko).
- Gawanya kwa hatua kabla ya kupendekeza suluhisho. Suluhisho lililoelekezwa kwenye hatua isiyo sahihi linapoteza juhudi na linaweza kuvunja moyo timu inayoombwa “fanya kazi kwa kasi” wakati kizuizi halisi kilikuwa kwingine.
- Kizuizi cha pamoja kuvuka timu nyingi ni fursa ya uwekezaji wa jukwaa, si mfululizo wa matatizo ya timu moja moja tu.
- Data ya muda wa mzunguko iko wazi kwa hatari zilezile za kuchezea kama muda wa mtiririko (mada ya 2.4): angalia mipaka ya hatua inayohama kimyakimya kupendelea namba.
Mapendekezo
Pima kila mpaka wa hatua waziwazi
Gawanya safari ya badiliko kuwa hatua zenye majina zenye mipaka wazi, inayoweza kupimwa: kuandika msimbo (mchango wa kwanza hadi ombi la kuvuta kufunguliwa), kuchukua (ombi la kuvuta kufunguliwa hadi mapitio ya kwanza), mapitio (mapitio ya kwanza hadi idhini), na usambazaji (idhini hadi uzalishaji). Nasa mihuri ya muda kwa kila mpito kiotomatiki kutoka matukio ya udhibiti wa matoleo na CI/CD, si kutoka ufuatiliaji wa hatua uliotolewa taarifa binafsi, ukitumia kanuni ileile ya upimaji-kuliko-taarifa-binafsi kutoka mada ya 1.5.
Tenganisha muda wa kusubiri na muda hai ndani ya kila hatua
Ndani ya mapitio, kwa mfano, tofautisha muda ambao ombi la kuvuta linakaa bila kuguswa likisubiri mpitiaji aanze (muda wa kusubiri) na muda ambao mazungumzo hai ya mapitio yanachukua yanapoanza (muda hai). Tofauti hii kwa kawaida inafichua kwamba gharama kuu ni kuwekwa kwenye foleni, si juhudi, jambo linalodokeza suluhisho tofauti sana (uwezo zaidi wa mapitio, arifa bora, maombi madogo ya kuvuta kupitia) kuliko suluhisho lililoelekezwa kufanya mazungumzo ya mapitio yenyewe kuwa ya haraka zaidi.
Tafuta kizuizi cha pamoja kabla ya kutambua timu kwa timu
Timu nyingi zinapoonyesha hatua ileile kama ucheleweshaji wao mkuu, bomba la CI la pamoja la polepole, kundi la wapitiaji la pamoja lililozidiwa, treni ya toleo ya pamoja ya nadra, chanzo hicho cha pamoja ni fursa ya uwekezaji wa kiwango cha jukwaa, si mfululizo wa matatizo ya ndani yasiyohusiana. Jumlisha data ya muda wa mzunguko kuvuka timu hasa kutafuta mfumo huu kabla ya kudhani kizuizi cha kila timu ni cha kipekee kwa timu hiyo.
Tumia muda wa mzunguko kuweka malengo ya kweli, mahususi kwa hatua ya uboreshaji
Badala ya lengo moja la “punguza muda wa kuongoza kwa asilimia 20,” ambalo halipi timu mwongozo wa mahali pa kulenga, tumia kugawanya muda wa mzunguko kuweka lengo mahususi kwa hatua: “punguza wastani wa muda wa kusubiri mapitio kutoka siku mbili hadi masaa manne.” Lengo mahususi, lililolenga hatua ni rahisi zaidi kwa timu kulitendea kazi na rahisi zaidi kuthibitisha lilifikiwa kweli kupitia badiliko halisi la mchakato badala ya mabadiliko yasiyohusiana kwingineko.
Angalia kuchezea mipaka ya hatua
Kama vile mwanzo na mwisho wa muda wa mtiririko vinavyoweza kuteleza (mada ya 2.4), mipaka ya hatua za muda wa mzunguko moja moja inaweza kuhama kwa njia zinazopendelea namba ya hatua mahususi bila uboreshaji halisi, kwa mfano, kuweka alama mapitio “yameanza” papo hapo mpitiaji anapoteuliwa badala ya wakati anapoanza kusoma badiliko kweli. Kagua mara kwa mara upimaji wa mipaka ya hatua dhidi ya fasili yake iliyoandikwa.
Mabadilishano: faida na hasara
| Mbinu | Faida | Hasara |
|---|---|---|
| Muda wa mzunguko wa ghafi (hatua mbili au tatu) | Rahisi kupima na kueleza | Huenda isitambue kizuizi halisi kwa usahihi wa kutosha kutenda |
| Muda wa mzunguko wa kina (hatua nyingi, mgawanyo wa kusubiri dhidi ya hai) | Utambuzi sahihi, malengo yanayoweza kutekelezwa mahususi kwa hatua | Juhudi zaidi ya upimaji; namba zaidi za kudumisha na kueleza |
| Mapitio ya muda wa mzunguko timu kwa timu | Yamerekebishwa kulingana na mtiririko halisi wa kila timu | Yanaweza kukosa kizuizi cha pamoja, cha kuvuka timu kinachojificha nyuma ya namba za ndani zinazofanana |
| Mapitio ya muda wa mzunguko yaliyojumlishwa kuvuka timu | Yanafichua vizuizi vya pamoja vya kiwango cha jukwaa | Yanahitaji fasili sanifu za hatua kuvuka timu ili yawe na maana |
Mvutano wa kati ni usahihi wa utambuzi dhidi ya gharama ya upimaji. Ufuatiliaji wa kina zaidi wa muda wa mzunguko unatoa utambuzi unaoweza kutekelezwa zaidi lakini unagharimu zaidi kujenga na kudumisha, na unaongeza namba zaidi ambazo timu lazima iziele na kuziamini. Litatue kwa kuanza ghafi (kuandika msimbo, mapitio, usambazaji) na kuongeza mgawanyo wa kina zaidi, kusubiri dhidi ya hai ndani ya hatua mahususi, tu baada ya hatua hiyo kuthibitishwa kuwa kizuizi halisi kinachojirudia chenye thamani ya uwekezaji wa ziada wa upimaji.
Maswali ya kujadili na timu yako
Muda wa kuongoza ukirudi nyuma leo, je, tungeweza kusema ndani ya saa moja hatua mahususi iliyohusika, kwa kutumia data badala ya kukisia? Hili ndilo jaribio kuu la kama upimaji wenu wa muda wa mzunguko unatumikia madhumuni yake ya utambuzi kweli. Jibu la uaminifu likiwa hapana, pengo hilo linastahili kuzibwa kabla ya kurudi nyuma kwa pili.
Ndani ya hatua yetu kuu ya kizuizi, kiasi gani cha ucheleweshaji ni muda wa kusubiri dhidi ya muda hai? Timu nyingi hudhani juhudi hai ndiyo kikwazo kabla ya kukagua, wakati kuwekwa kwenye foleni kwa kawaida ndiyo gharama kubwa zaidi. Vuta mgawanyo halisi kwa hatua yenu ya polepole zaidi na uone kama dhana inashikilia.
Je, timu nyingi zinashiriki hatua ileile kuu ya kizuizi, jambo linalodokeza suluhisho la kiwango cha jukwaa badala ya la kiwango cha timu? Jumlisha data yenu ya muda wa mzunguko kuvuka timu na utafute mfumo huu waziwazi kabla ya kudhani ucheleweshaji wa kila timu unasababishwa kwa ndani.
Je, tumeweka malengo ya uboreshaji mahususi kwa hatua, au lengo moja tu la jumla la muda wa kuongoza bila mwongozo wa mahali pa kulenga? Lengo lisilo wazi linaiacha timu ikikisia mahali pa kuwekeza juhudi; lengo mahususi kwa hatua halifanyi hivyo. Kagua malengo yenu ya sasa dhidi ya tofauti hii.
Je, mpaka wowote wa hatua ya muda wa mzunguko katika upimaji wetu umeteleza kutoka fasili yake iliyoandikwa kwa muda? Mipaka ya hatua iko wazi kwa kupotoka kwa kifasili kule kule kama muda wa mtiririko wenyewe (mada ya 2.4). Kagua sampuli ya matukio ya mpito wa hatua ya hivi karibuni dhidi ya fasili iliyoandikwa.
Utamaduni unaotegemea mapitio sana dhidi ya utamaduni unaotegemea uaminifu sana unajitokezaje tofauti katika data yetu ya muda wa mzunguko? Timu yenye mapitio ya kina sana, ya duru nyingi itaonyesha muda mrefu zaidi wa hatua ya mapitio kuliko timu inayoamini miunganisho ya idhini moja; jadilini kama usawa wenu wa sasa unaakisi chaguo la makusudi au chaguo-msingi lisilochunguzwa.
Mtazamo wa sekta
Kampuni changa. Muda wa mzunguko kwa kawaida unatawaliwa na muda wa kuandika msimbo badala ya hatua za mapitio au usambazaji, kwa sababu tu mchakato ni mdogo. Timu inapokua kupita wahandisi wachache, anza kuangalia muda wa kusubiri mapitio hasa, kwa kuwa kwa kawaida ndiyo hatua ya kwanza kupunguza kasi kazi ya watu zaidi inapohitaji kupita kupitia wapitiaji wachache wanaopatikana.
Biashara ndogo. Uchanganuzi wa msingi wa jukwaa la udhibiti wa matoleo kwa kawaida unafichua muda wa kutosha wa kiwango cha hatua (muda hadi mapitio ya kwanza, muda hadi muunganisho) bila upimaji maalum. Lenga hatua ya mapitio kwanza, kwa kuwa ndiyo kizuizi cha mapema cha kawaida zaidi na rahisi zaidi kurekebisha kwa badiliko dogo la mchakato kama mzunguko wa wapitiaji.
Biashara kubwa. Vizuizi vya pamoja kuvuka makumi ya timu ni vya kawaida na vya faida kubwa kupata: foleni moja iliyozidiwa ya CI ya pamoja au hatua ya lazima ya mapitio ya kati inaweza kutoza muda wa kuongoza kimyakimya shirika zima. Wekeza mahususi katika kujumlisha muda wa mzunguko wa kuvuka timu kufichua vikwazo hivi vya pamoja badala ya kuiacha kila timu itambue kwa kujitegemea.
Serikali. Data ya muda wa mzunguko ni zana madhubuti, thabiti ya kuhalalisha usasishaji wa mchakato kwa wadau wenye shaka, kwa kuwa “wastani wa muda wa kusubiri mapitio ni siku nne kwa sababu ya jukumu moja lenye kizuizi la idhini” ni hoja mahususi yenye ushawishi zaidi sana ya uwekezaji kuliko dai la jumla la “mchakato wetu ni wa polepole.”
Mifano
Biashara kubwa. Uongozi wa uhandisi wa kampuni ya miundombinu ya wingu uliona muda wa kuongoza ukitambaa juu kuvuka karibu kila timu kwa wakati mmoja. Kujumlisha muda wa mzunguko kuvuka timu kulifichua kwamba muda wa kusubiri mapitio, si muda hai wa mapitio, ndio ulikuwa chanzo kikuu na cha pamoja: timu ndogo, ya kati ya mapitio ya usalama ilikuwa imekuwa kizuizi kadiri idadi ya timu zinazohitaji idhini yao ilivyokua kwa kasi zaidi kuliko timu yenyewe. Kupanua na kufundisha kundi pana la wapitiaji walioidhinishwa kwa usalama, badala ya kuomba timu moja moja ziandike msimbo au zijaribu kwa kasi kwa namna fulani, kulitatua kizuizi cha pamoja na kurejesha muda wa kuongoza chini kuvuka bodi ndani ya robo moja.
Serikali. Timu ya huduma za kidijitali ya serikali ya jimbo ilikuwa chini ya shinikizo kupunguza muda wa kuongoza, na awali iliitikia kwa kuwaomba wahandisi wafanye kazi kwa kasi, silika ya kawaida lakini hatimaye isiyosaidia. Kugawanya muda wa mzunguko kulionyesha muda hai wa kuandika msimbo ulikuwa haujabadilika karibu kabisa mwaka hadi mwaka; karibu kurudi nyuma kote kulitokana na foleni inayokua katika hatua ya lazima ya mapitio ya usanifu iliyoanzishwa miezi kumi na minane mapema kama hatua ya uzingatiaji. Timu ilibuni upya mapitio hayo kuwa mchakato mwepesi zaidi, wenye madaraja ya hatari kwa mabadiliko ya hatari ndogo, ikipunguza muda wa kusubiri mapitio kwa kiasi kikubwa huku ikihifadhi ukali kamili wa mapitio kwa mabadiliko ya hatari kubwa kweli.
Kesi ya biashara: sababu, ROI, na TCO
Faida ya kugawanya muda wa mzunguko ni uwekezaji uliolengwa, wenye ufanisi: shirika linalojua hasa hatua ipi ni kizuizi linaweza kurekebisha hatua hiyo mahususi badala ya kutawanya juhudi kwa unene mdogo kuvuka mchakato mzima kwa matumaini kwamba kitu fulani kitasaidia. Mfano wa mapitio ya usalama hapo juu ni wa kawaida: suluhisho lililolengwa kwa usahihi, kupanua rasilimali moja mahususi yenye kizuizi, lilitatua tatizo la shirika zima kwa bei nafuu zaidi sana kuliko mpango mpana, usiolenga wa “harakisha utoaji” ungefanya.
Jumla ya gharama ya umiliki ni juhudi ya upimaji ya kunasa mihuri ya muda ya kiwango cha hatua kwa kutegemewa na nidhamu endelevu ya kukagua mara kwa mara mipaka ya hatua kwa kuteleza. Gharama hiyo inastahili kwa sababu mbadala, kukisia vizuizi na kurekebisha hatua isiyo sahihi, inapoteza juhudi nyingi zaidi sana za uhandisi kwa muda kuliko upimaji wenyewe unavyogharimu.
Mifumo mibaya na mitego
- Kuitikia kurudi nyuma kwa muda wa kuongoza bila utambuzi wa muda wa mzunguko: mara kwa mara husababisha kurekebisha hatua isiyo sahihi.
- Kudhani juhudi hai, si muda wa kusubiri, ndiyo gharama kuu: kwa kawaida si sahihi; kuwekwa kwenye foleni kunatawala katika mabomba mengi halisi ya utoaji (mada ya 2.5).
- Kukosa kizuizi cha pamoja, cha kuvuka timu kwa kupitia muda wa mzunguko timu kwa timu tu: kunaacha suluhisho la jukwaa lenye faida kubwa bila kugunduliwa.
- Kuweka lengo lisilo wazi la jumla la muda wa kuongoza bila mwongozo mahususi kwa hatua: kunaziacha timu zikikisia mahali pa kulenga juhudi.
- Kuteleza kwa kifasili kwa mpaka wa hatua: hupendelea namba ya hatua mahususi bila uboreshaji halisi.
- Kupima kila hatua ya kina inayowezekana kabla ya kuthibitisha yoyote kati yake ni kizuizi halisi: hupoteza juhudi ya upimaji kwa undani ambao bado haujaarifu uamuzi.
Kielelezo cha ukomavu
- Ngazi ya 1, Kuanzisha: Muda wa mzunguko haugawanywi kabisa; timu zinakisia vizuizi muda wa kuongoza unaporudi nyuma.
- Ngazi ya 2, Kuendeleza: Baadhi ya timu zinafuatilia muda wa hatua wa ghafi bila rasmi, lakini hakuna upimaji thabiti wala ulinganisho wa kuvuka timu.
- Ngazi ya 3, Kusawazisha: Mipaka ya hatua inapimwa kwa uthabiti shirika zima, na muda wa kusubiri ukitenganishwa na muda hai katika hatua kuu za vizuizi.
- Ngazi ya 4, Kusimamia: Kujumlisha muda wa mzunguko wa kuvuka timu kunafichua kikamilifu vizuizi vya pamoja; malengo ya uboreshaji mahususi kwa hatua yanachukua nafasi ya malengo yasiyo wazi ya jumla ya muda wa kuongoza.
- Ngazi ya 5, Kuratibu: Data ya muda wa mzunguko inaendesha moja kwa moja kupa kipaumbele uwekezaji wa jukwaa, na shirika linaweza kuonyesha marekebisho mahususi, yaliyolengwa, kundi lililopanuliwa la mapitio, bomba la pamoja la haraka zaidi, yaliyoboresha muda wa kuongoza kwa kupimika kuvuka timu nyingi mara moja.
Mawazo ya kujadili
- Hatua yetu kuu ya kizuizi ya sasa ni ipi, na tuna uhakika kiasi gani katika jibu hilo?
- Kiasi gani cha muda wa hatua hiyo ya kizuizi ni muda wa kusubiri dhidi ya muda hai?
- Je, timu zetu zozote zinashiriki kizuizi kilekile, jambo linalodokeza suluhisho la kiwango cha jukwaa?
- Lini mwisho tuliweka lengo mahususi kwa hatua, badala ya la jumla, la uboreshaji wa utoaji?
- Je, fasili ya mpaka wa hatua katika zana zetu imewahi kubadilika bila nyaraka?
Mambo muhimu ya kukumbuka
- Muda wa mzunguko hugawanya muda wa mtiririko kuwa hatua za uhandisi, kuandika msimbo, mapitio, majaribio, usambazaji, na ndio tabaka la utambuzi lililo chini ya namba hiyo ya muhtasari.
- Tenganisha muda wa kusubiri na muda hai ndani ya kila hatua; kuwekwa kwenye foleni kwa kawaida kunatawala juhudi hai (mada ya 2.5).
- Tafuta vizuizi vya pamoja kuvuka timu kabla ya kudhani kupungua kwa kasi ni kwa timu mahususi; chanzo cha pamoja mara nyingi ni fursa ya uwekezaji wa jukwaa.
- Weka malengo ya uboreshaji mahususi kwa hatua, si malengo yasiyo wazi ya jumla, ili timu zijue hasa pa kulenga.
- Mipaka ya hatua iko wazi kwa hatari ileile ya kuteleza kwa kifasili kama muda wa mtiririko wenyewe; ikague mara kwa mara.
- Mada ya 2.7 inatoa hisabati ya msingi, sheria ya Little, ya kwa nini kazi inayoendelea na muda wa mzunguko vinasogea pamoja.
Marejeo na usomaji zaidi
- The Principles of Product Development Flow, na Donald G. Reinertsen (nadharia ya foleni na hoja za ukubwa wa kundi zilizo chini ya uchambuzi wa muda wa mzunguko).
- Actionable Agile Metrics for Predictability, na Daniel S. Vacanti (muda wa mzunguko na kipimo kinachotegemea mtiririko kwa utoaji wa programu).
- Accelerate: The Science of Lean Software and DevOps, na Nicole Forsgren, Jez Humble, na Gene Kim (muda wa kuongoza na uhusiano wake na utendaji wa utoaji).
- The Goal, na Eliyahu M. Goldratt (nadharia ya vikwazo, na kanuni ya kutafuta na kurekebisha kizuizi halisi badala ya kuboresha kila mahali).