1.1 Kwa nini kupima uhandisi wa programu
Muhtasari na msukumo
Uhandisi wa programu unapinga kipimo kwa njia ambayo utengenezaji wa viwandani haupingi. Mstari wa kiwanda huzalisha vitengo vinavyofanana, kwa hiyo kuvihesabu kunakuambia kitu halisi. Kazi ya programu huzalisha vizalia vya aina moja chini ya mahitaji yanayobadilika kila mara, kwa hiyo hesabu ya kijinga, ya michango, ya mistari, ya tiketi zilizofungwa, haikuambii karibu chochote kuhusu thamani iliyotolewa. Pengo hilo kati ya ugumu wa kupima kazi ya programu na hitaji halisi la kujua kama inakwenda vizuri ndipo kitabu hiki kizima kinapoishi. Mada hii inahusu kuziba pengo hilo kwa uaminifu: si kwa kujifanya kazi ya programu inahesabika kama vitu vya duka, bali kwa kuwa sahihi kuhusu kile kipimo kinaweza na kisichoweza kufanya kwa shirika la uhandisi.
Kipimo kipo kujibu maswali ambayo shirika haliwezi kuyajibu kwa ujasiri vinginevyo: je, utoaji wetu unakuwa wa kasi zaidi au polepole zaidi, je, ubora unaboreka au unaharibika, je, wahandisi wanachoka, je, uwekezaji huu unalipa. Bila vipimo, maswali hayo hujibiwa na yeyote anayezungumza kwa ujasiri zaidi chumbani, kwa kawaida mwandamizi zaidi au mshawishi zaidi aliyepo, na jibu hilo mara nyingi huwa si sahihi. Timu za uhandisi wa programu zinazoruka kupima hazikwepi kufanya hukumu kuhusu utendaji wao wenyewe. Zinafanya hukumu hizo kwa hisia, visa, na upendeleo wa karibuni badala ya ushahidi.
Kwa timu kubwa, hili huacha kuwa la kupendeza na kuwa la kimuundo. Timu ya watu sita inaweza kushiriki mfano wa kiakili wa mambo yanavyokwenda kupitia mazungumzo ya kila siku. Idara ya mia sita, iliyoenea kuvuka kanda za saa na vitengo vya biashara, haiwezi. Kwa ukubwa huo, seti ya pamoja, inayoaminika ya namba ndiyo mbadala pekee wa vitendo wa ufahamu usio rasmi ambao timu ndogo inaupata bure. Uongozi wa biashara kubwa unahitaji vipimo kugawa uwekezaji kuvuka makumi ya timu zinazoshindana kwa bajeti ileile. Mashirika ya uhandisi ya serikali yanahitaji vipimo kuonyesha kwa mabunge na umma kwamba fedha zilizotengwa zilizalisha uwezo halisi, si shughuli tu. Katika mazingira yote mawili, “tulifanya kazi kwa bidii” si ushahidi; namba inayoweza kutetewa ndiyo.
Kanuni kuu
- Pima ili ujifunze, si ili uhukumu. Madhumuni ya msingi ya kipimo cha uhandisi ni kuarifu uamuzi, si kumpa mtu au timu alama.
- Namba isiyo na uamuzi ulioambatishwa ni pambo. Ikiwa hakuna usomaji wa kipimo ungebadilisha unachofanya baadaye, haistahili kuwa kwenye dashibodi.
- Kipimo ni njia, si lengo. Lengo ni programu bora, inayotolewa kwa kutegemewa zaidi, na timu endelevu. Vipimo vipo tu kutumikia lengo hilo.
- Kila kipimo kina gharama. Upimaji, muda wa mapitio, na hatari ya upotoshaji wa kitabia iliyoshughulikiwa katika mada ya 1.2 vyote vinagharimu kitu. Kipimo lazima kilipe gharama hiyo.
- Kimya pia ni uamuzi. Kuchagua kutopima kitu ni chaguo lenye matokeo, si chaguo-msingi lisilo na upande.
Mapendekezo
Anza na uamuzi, si dashibodi
Kabla ya kupima chochote, taja uamuzi ambao kipimo kitaarifu. “Tunataka kujua kama bomba letu jipya la usambazaji lilipunguza viwango vya matukio” ni swali lenye umbo la uamuzi; “tufuatilie kila kitu ambacho zana inaweza kutoa” sivyo. Kufanya kazi kurudi nyuma kutoka uamuzi huweka seti ya vipimo ndogo na kuweka kila kigae kinachoweza kutetewa mtu anapouliza kwa nini kipo. Usipoweza kutaja uamuzi ambao kipimo kingearifu, usikijenge bado. Mada ya 1.3 inaenda kwa kina zaidi kuhusu toleo la matokeo-kuliko-pato la nidhamu hii.
Tenganisha matumizi ya uchunguzi na matumizi ya tathmini
Kipimo kinachotumika kuchunguza tatizo la mfumo (kwa nini muda wetu wa kuongoza unapanda polepole) hufanya kazi tofauti kabisa na kipimo kilekile kinapotumika kutathmini mtu au timu (muda wa nani wa kuongoza ni mbaya zaidi). Cha kwanza kinaalika uchunguzi na uboreshaji. Cha pili kinaalika kuficha na kuchezea, kwa sababu sasa namba ina matokeo ya sifa au ya kifedha yaliyoambatishwa nayo. Amua waziwazi, kwa maandishi, kipimo ni cha matumizi gani, na kamwe usiruhusu kipimo cha uchunguzi kitelezee kwenye matumizi ya tathmini bila kuzingatia upya hatari kwa makusudi. Tofauti hii inajirudia mara kwa mara kote kwenye kitabu hiki na imerasimishwa katika sehemu ya yasiyo malengo ya hati ya vipimo iliyoelezwa katika mada ya 1.4.
Chukulia kipimo kama dhana, si ukweli
Kipimo ni mwakilishi wa kitu ambacho kweli unajali, si kitu chenyewe. Mzunguko wa usambazaji ni mwakilishi wa uwezo wa utoaji, si uwezo wa utoaji wenyewe. Chukulia kila kipimo kama dhana iliyo chini ya jaribio endelevu: je, namba hii bado inafuata kitu tunachojali, au ulimwengu umehama na kuacha mwakilishi nyuma? Pitia swali hilo kwa mdundo thabiti badala ya kudhani kipimo kilichochaguliwa vizuri miaka miwili iliyopita bado kimechaguliwa vizuri leo, hasa zana, muundo wa timu, au (tazama Sehemu ya 7) hali ya kazi yenyewe inapobadilika.
Fanya kutokuwepo kwa kipimo kuonekane
Katika mashirika makubwa, pengo hatari zaidi si kipimo kibaya, ni eneo ambalo hakuna anayelipima kabisa kwa sababu ni gumu kupima: uzoefu wa msanidi, msuguano wa utegemezi wa kuvuka timu, kumomonyoka kwa maarifa ya kitaasisi. Taja mapengo haya waziwazi kwenye hati yako ya vipimo badala ya kuyaacha yabaki yasiyoonekana kwa chaguo-msingi. Shirika linalojua halipimi nini, na kwa nini, liko katika nafasi imara zaidi kuliko lililosahau kimyakimya kwamba maeneo hayo yapo.
Mabadilishano: faida na hasara
| Mbinu | Faida | Hasara |
|---|---|---|
| Upimaji mzito, vipimo vingi | Mwonekano mpana, pembe chache zisizoonekana | Uchovu wa dashibodi, uso mkubwa wa kuchezea, gharama kubwa ya matengenezo |
| Vipimo vya chini kabisa, vinavyoendeshwa na uamuzi | Umakini, mzigo mdogo, kila kipimo kinaweza kutetewa | Hatari ya kukosa tatizo linaloibuka nje ya seti iliyochaguliwa |
| Vipimo kwa uchunguzi tu | Huhimiza kuripoti kwa uaminifu na uchunguzi | Uongozi bado unaweza kuvitumia kwa tathmini bila rasmi |
| Vipimo vilivyofungwa na tathmini ya mtu binafsi | Vinahisi kuwajibika, rahisi kueleza kwa watendaji | Motisha kali ya kuchezea; vinaharibu uaminifu; kwa kawaida vinapima kisicho sahihi |
Mvutano wa kati ni ufunikaji dhidi ya umakini, ukinolewa na uchunguzi dhidi ya hukumu. Vipimo vichache mno na mnapata pembe zisizoonekana zinazojitokeza tu kama msukosuko; vingi mno na hakuna anayeweza kutenda juu ya yoyote, huku kila kimoja mnachokiambatishia uzito wa tathmini kikialika upotoshaji. Litatue kwa kuanza kidogo na kuendeshwa na uamuzi, mkiongeza kipimo tu pale uamuzi mahususi, uliotajwa unapokihitaji, na kwa kutetea mpaka wa uchunguzi tu waziwazi katika kazi ya utawala ya mada ya 1.4 badala ya kuuacha umomonyoke kwa chaguo-msingi.
Maswali ya kujadili na timu yako
Kwa kila kipimo kwenye dashibodi yetu ya sasa, usomaji mzuri na usomaji mbaya kila mmoja ungechochea uamuzi gani? Usomaji wote ukiongoza kwenye hatua ileile, au kwa kutokuwepo kwa hatua kabisa, kipimo ni pambo. Pitia dashibodi yenu kigae kwa kigae na ulazimishe jibu la uaminifu kwa kila kimoja. Zoezi hili mara kwa mara hupunguza dashibodi iliyovimba kwa nusu kwa kikao kimoja, kwa sababu msongamano mwingi hukusanyika kutoka vipimo ambavyo hakuna anayeviondoa badala ya vipimo ambavyo yeyote aliviongeza kwa makusudi kwa sababu inayoendelea kushikilia.
Vipimo vyetu vipi vinatumika kwa uchunguzi, na vipi vimekuwa vya tathmini kimyakimya? Kipimo kilichojengwa kuelewa kikwazo cha mfumo kinaweza kuteleza kuwa kinatumika kupanga timu au watu binafsi bila yeyote kuamua hivyo kwa makusudi, mara nyingi kupitia maoni ya papo hapo kwenye mkutano wa mapitio yanayogeuka mazoea. Kuteleza huko kukitokea, namba inaacha kuaminika, kwa sababu watu sasa wana sababu ya kuifanya ionekane nzuri badala ya kuifanya iwe sahihi. Taja matumizi yaliyokusudiwa ya kila kipimo kwa maandishi na ukague mazoea ya sasa dhidi yake.
Hatupimi nini kwa sababu ni vigumu kupima, na pengo hilo linatugharimu nini? Pembe zisizoonekana hatari zaidi ni zile ambazo hazifiki kamwe kwenye dashibodi hasa kwa sababu zinapinga kipimo rahisi: msuguano wa utegemezi wa kuvuka timu, kumomonyoka kwa maarifa ya kitaasisi, au mkusanyiko wa kimya wa suluhisho dhaifu za muda. Leta orodha ya mambo ambayo kila mtu anahangaikia kwa siri lakini hakuna anayefuatilia, na uwe mwaminifu kuhusu kwa nini.
Tungefuta kipimo hiki kesho, nani angeona, na wangepoteza nini? Kipimo ambacho hakuna angekikosa ni kipimo kisichoarifu uamuzi wowote. Swali hili linafichua vigae vya kujionyesha vinavyonusurika kwa ajili ya mazoea tu. Kwa shirika kubwa lenye makumi ya dashibodi za timu, nidhamu hii ya kupogoa ni muhimu kama nidhamu ya kuongeza vipimo vipya tangu mwanzo.
Kila kipimo kwenye dashibodi yetu kinagharimu kiasi gani kuzalisha na kudumisha, ikijumuisha muda wa uhandisi nyuma ya upimaji? Vipimo si vya bure. Mabomba, dashibodi, na muda wa mapitio unaotumika kujadili namba vyote vinabeba gharama inayojirudia ambayo ni rahisi kudharau kwa sababu imesambazwa kuvuka kazi nyingi ndogo badala ya mstari mmoja unaoonekana. Leta juhudi yenu halisi ya upimaji na matengenezo na ipime dhidi ya thamani ya uamuzi kutoka swali la 1.
Kipimo kimegeuka wapi kuwa mbadala wa busara, na busara imegeuka wapi kuwa mbadala wa kipimo? Njia zote mbili za kushindwa ni halisi. Timu inayokabidhi kila uamuzi kwa dashibodi inapoteza busara ya kimuktadha inayokamata kile ambacho namba inakikosa; timu inayopuuza data iliyopo kwa ajili ya sauti kubwa zaidi chumbani inarudia tatizo hasa ambalo mada hii inaanza nalo. Lengo ni vipimo vinavyoarifu busara, si vipimo vinavyoichukua nafasi.
Mtazamo wa sekta
Kampuni changa. Ukiwa na wahandisi wachache, mengi ya yale ambayo mada hii inaonya dhidi yake, kuteleza kuelekea matumizi ya tathmini, pembe zisizoonekana, uvimbe wa dashibodi, ni rahisi kuepuka kwa sababu kila mtu anazungumza kila siku. Hatari ni ya kinyume: kuruka kupima kabisa kwa sababu inahisi kama mzigo ambao timu haiwezi kumudu. Chagua maswali mawili au matatu yenye umbo la uamuzi (je, tunasafirisha kwa kasi ya kutosha, je, ubora unashikilia) na upime hayo tu.
Biashara ndogo. Bila jukwaa maalum au timu ya data, egemea chochote ambacho zana zako zilizopo tayari zinaripoti badala ya kujenga upimaji maalum. Dashibodi ya kichakataji malipo, vipimo vya mwitikio vya zana ya msaada, na historia ya ujenzi ya mtoaji wako wa CI kwa kawaida hufunika maamuzi yanayojali zaidi. Pinga hamu ya kununua jukwaa maalum la uchanganuzi wa uhandisi kabla ya kuthibitisha kwamba utatenda juu ya kile kinachokuambia.
Biashara kubwa. Hatari kuu ni vipimo vinavyoteleza kimyakimya kutoka uchunguzi hadi matumizi ya tathmini vinapopanda kupitia tabaka za usimamizi, na dashibodi zinazokua kwa kukusanya kwa sababu hakuna anayemiliki kazi ya kuzipogoa. Utawala (mada ya 1.4) si wa hiari kwa ukubwa huu. Sawazisha fasili kuvuka vitengo vya biashara, na jenga mapitio ya mara kwa mara ya kustaafisha ndani ya programu ya vipimo yenyewe.
Serikali. Vipimo hapa mara nyingi hubeba uzito wa kisheria au wa kibajeti, unaoongeza thamani ya kuvipata sawa na gharama ya kuvikosea. Namba inayoripotiwa kwa bunge au chombo cha usimamizi inahitaji mbinu iliyoandikwa, fasili thabiti kuvuka vipindi vya kuripoti, na uaminifu kuhusu mapungufu yake. Chukulia “hatupimi hili kwa sasa” kama jibu ambalo unaweza kuhitaji kulitetea, si kushindwa kwa faragha cha kuficha.
Mifano
Biashara kubwa. Shirika la uhandisi la kampuni ya kimataifa ya bima lilikuwa limekua hadi zaidi ya timu sitini za scrum, kila moja ikiwa na dashibodi yake isiyo rasmi, hakuna iliyolinganishwa na nyingine. Uongozi haukuweza kujibu swali la msingi: kati ya uwekezaji wetu kumi wa kimkakati wa jukwaa, upi unatoa programu ya kasi zaidi kweli. Suluhisho halikuwa vipimo zaidi, lilikuwa vichache, bora zaidi: shirika lilifafanua kiini cha pamoja, kinachoendeshwa na uamuzi cha vipimo vya DORA (mada ya 2.10) vilivyokokotolewa kwa namna ileile kila mahali kutoka data ileile ya bomba, likastaafisha dashibodi arobaini maalum za timu, na hatimaye likaweza kulinganisha maeneo ya uwekezaji kwa msingi wa pamoja ndani ya robo mbili.
Serikali. Timu ya huduma ya kidijitali ya mamlaka ya kitaifa ya kodi ilikuwa imeombwa na kamati ya usimamizi kuonyesha faida ya programu ya miaka mingi ya usasishaji. Vipimo vya awali vya timu vilikuwa vya ndani kabisa na vya shughuli: pointi za hadithi zilizokamilika, sprint zilizofungwa. Hakuna kati ya hivyo kilichojibu swali halisi la kamati. Timu ilijenga seti ndogo ya vipimo vya matokeo badala yake, wastani wa muda wa kutatua tatizo la uwasilishaji la raia, kiwango cha kupokelewa kwa njia ya kidijitali, na kiwango cha kasoro zilizotoroka katika mfumo mpya, na kuviripoti kila robo pamoja na mbinu iliyoandikwa. Maswali ya kamati yalihama kutoka “thibitisha kwamba mnafanya kazi” hadi “tunawezaje kurudia hili katika wakala unaofuata,” ambalo ndilo matokeo seti ya vipimo iliyochaguliwa vizuri inapaswa kuzalisha.
Kesi ya biashara: sababu, ROI, na TCO
Faida ya kipimo cha makusudi ni ubora wa uamuzi. Shirika linaloweza kusema, kwa ushahidi, “muda wetu wa kuongoza uliboreka kwa asilimia 30 baada ya uwekezaji wa jukwaa” linaweza kutetea uwekezaji huo, kurudia kilichofanya kazi, na kuacha kisichofanya. Shirika linalotegemea visa haliwezi kufanya lolote kati ya hayo kwa ujasiri, na linaishia kubishana tena hoja zilezile kila mzunguko wa bajeti kwa sababu hakuna anayeweza kuashiria namba ambayo pande zote mbili zinaiamini.
Gharama ya kipimo si dashibodi. Ni nidhamu endelevu: upimaji, matengenezo ya fasili, na upogoaji wa mara kwa mara ambao mada hii inapendekeza. Jumla hiyo ya gharama ya umiliki ni halisi lakini ndogo ikilinganishwa na gharama ya mbadala, ambayo ni shirika kubwa kufanya maamuzi ya teknolojia ya mamilioni ya dola kwa msingi wa yeyote aliyebishana kwa ushawishi zaidi chumbani. Faida ya programu ya vipimo si vipimo vyenyewe; ni maamuzi yanayofanywa bora kwa sababu yake.
Mifumo mibaya na mitego
- Kupima kila kitu ambacho zana inatoa: hugeuza dashibodi kuwa kelele na kualika kuchezea kuvuka uso mkubwa bila thamani ya uamuzi inayolingana.
- Vipimo visivyo na uamuzi uliotajwa: pambo linalogharimu juhudi ya matengenezo na haliambii mtu chochote kinachoweza kutekelezwa.
- Kuteleza kimyakimya kutoka uchunguzi hadi matumizi ya tathmini: njia ya kasi zaidi ya kuharibu uaminifu katika namba.
- Kuchukulia kipimo kama ukweli badala ya dhana: mwakilishi aliyekuwa sahihi miaka miwili iliyopita anaweza kuwa si sahihi leo, na hakuna anayekagua.
- Kuchanganya kutokuwepo kwa namba mbaya na kuwepo kwa nzuri: kipimo usichokitazama kamwe hakiwezi kukuambia chochote kimeharibika.
- Kujenga uwezo wa kupima kabla ya kuamua cha kuamua: upimaji unaotafuta swali hupoteza muda halisi wa uhandisi.
Kielelezo cha ukomavu
- Ngazi ya 1, Kuanzisha: Vipimo, vikiwepo kabisa, ni vya papo hapo, vya kibinafsi kwa yeyote aliyevijenga, na hakuna anayeweza kusema uamuzi gani yeyote kati yake yanaarifu.
- Ngazi ya 2, Kuendeleza: Seti ya msingi ya vipimo ipo kwa baadhi ya timu, kwa kiasi kikubwa imenakiliwa kutoka mfumo au chaguo-msingi za zana, bila kiungo wazi cha kurudi kwenye uamuzi.
- Ngazi ya 3, Kusawazisha: Kila kipimo kinachofuatiliwa kina madhumuni yaliyoandikwa na uainishaji wazi wa uchunguzi-dhidi-ya-tathmini, unaotumika kwa uthabiti kuvuka shirika.
- Ngazi ya 4, Kusimamia: Vipimo vinapitiwa kwa mdundo thabiti dhidi ya maamuzi vinavyoarifu; vipimo vinavyoacha kujilipa vinastaafishwa, na seti nzima inapimwa kwa gharama pamoja na thamani.
- Ngazi ya 5, Kuratibu: Kipimo ni uwezo hai: shirika kwa kawaida linatambua pembe zake zisizoonekana, linajaribu kama wawakilishi wake bado wanafuata uhalisia, na linachukulia programu ya vipimo yenyewe kama kitu cha kuboresha, si kudumisha tu.
Mawazo ya kujadili
- Kipimo kipi kwenye dashibodi yetu tungepata ugumu zaidi kuhalalisha kukidumisha tukiulizwa leo?
- Ni uamuzi gani tumeufanya robo iliyopita kwa kutumia kipimo, badala ya maoni?
- Wapi katika shirika letu kipimo cha uchunguzi kimekuwa cha tathmini kimyakimya?
- Tunaogopa kupima nini, na kwa nini?
- Programu yetu ya vipimo ikitoweka kesho, maamuzi gani yangekuwa mabaya zaidi?
Mambo muhimu ya kukumbuka
- Kipimo kipo kutumikia maamuzi, si kuwepo kwa ajili yake yenyewe; kipimo kisicho na uamuzi ulioambatishwa ni pambo.
- Weka matumizi ya uchunguzi tofauti na matumizi ya tathmini, kwa maandishi, na uangalie kuteleza kimyakimya kati yake.
- Chukulia kila kipimo kama dhana kuhusu kile kinachowakilisha, si ukweli uliotulia, na pitia dhana hiyo kwa mdundo.
- Kimya, kuchagua kutopima kitu, chenyewe ni uamuzi wenye matokeo; fanya pembe zisizoonekana ziwe zinaonekana badala ya kuziacha zibaki zisizoonekana kwa chaguo-msingi.
- Jumla ya gharama ya programu ya vipimo ni halisi; ipime waziwazi dhidi ya thamani ya uamuzi ambayo kila kipimo kinatoa.
Marejeo na usomaji zaidi
- Accelerate: The Science of Lean Software and DevOps, na Nicole Forsgren, Jez Humble, na Gene Kim (msingi wa utafiti wa kipimo cha uhandisi kinachotegemea matokeo).
- How to Measure Anything, na Douglas W. Hubbard (mfumo wa jumla wa kupima vitu vinavyoonekana visivyopimika).
- Measuring and Managing Performance in Organizations, na Robert D. Austin (uchambuzi wa msingi wa kutofanya kazi vizuri ambako kipimo kinaweza kuleta ndani ya shirika).
- Thinking, Fast and Slow, na Daniel Kahneman (upendeleo wa kiakili unaofanya busara isiyosaidiwa kuwa mbadala usiotegemewa wa kipimo).
- Programu ya Google ya DevOps Research and Assessment (DORA), dora.dev (utafiti endelevu wa State of DevOps ambao kitabu hiki kinautegemea kote).