1.7 Viwango vya uhandisi na vighairi
Muhtasari na msukumo
Kiwango cha uhandisi ni kanuni iliyoandikwa, iliyokubaliwa kuhusu jinsi kazi inavyofanywa. Kwa mfano, “huduma zote lazima zionyeshe kiungo cha ukaguzi wa afya,” au “kurasa zote za wavuti za umma lazima zitimize WCAG (Web Content Accessibility Guidelines) 2.2 ngazi ya AA.” Kiwango si pendekezo, wala desturi tu. Ni ahadi ambayo shirika linajishikilia nayo, kwa hakika ile unayoweza kuikagua. Sura hii inahusu mzunguko mzima wa maisha wa viwango, jinsi shirika kubwa linavyoviandika, kuvichapisha, kuvipokea, kuvitekeleza, na kuviendeleza, na, vilevile muhimu, jinsi linavyoshughulikia kesi zinazoanguka nje yake kihalali kupitia mchakato unaotawaliwa wa vighairi (pia huitwa mchakato wa msamaha): ruhusa iliyoandikwa, yenye muda uliowekwa ya kupotoka kutoka kiwango kwa sababu iliyotajwa.
Msukumo ni kwamba kwa ukubwa, kanuni zisizo rasmi huacha kufanya kazi. Wahandisi watano wanaposhiriki chumba kimoja, “jinsi tunavyofanya mambo hapa” husafiri kwa mazungumzo na kuigana. Wahandisi elfu tano wanapovuka makumi ya timu, maeneo matatu ya saa, na muongo wa mauzo ya wafanyakazi, maarifa hayo yasiyoandikwa hugawanyika kuwa mamia ya mazoea ya mahali yasiyooana. Viwango ndivyo unavyoandika mafunzo yako yaliyopatikana kwa shida mara moja, ili kila timu iyarithi badala ya kujifunza kila moja kupitia kukatika kwake yenyewe. Hupunguza mzigo wa kiakili, hufanya mapitio ya msimbo yawe kuhusu maudhui badala ya mtindo, huruhusu watu kuhama kati ya timu, na huwapa wakaguzi na wadhibiti kitu madhubuti cha kutathmini.
Lakini viwango vinabeba njia yake ya kushindwa: ukakamavu. Kiwango kisichokubali vighairi kitazuia kazi halali, mapema au baadaye: jaribio la haraka, kikwazo cha msambazaji, kesi mpya kweli ambayo waandishi hawakuifikiria. Timu kisha hukwama au, mbaya zaidi, hupuuza kiwango kimyakimya, jambo linalomomonyoa uaminifu wa kila kiwango. Dawa ni methali ya zamani “kighairi huthibitisha kanuni.” Mchakato unaoonekana, wenye misingi wa vighairi ndio unaoweka viwango vya kuaminika na vya kibinadamu. Sura hii inajengwa juu ya kufanya maamuzi na utawala (sura ya 1.5) na rekodi za maamuzi (sura ya 1.6), na inalisha moja kwa moja viwango vya kuandika msimbo na mtindo (sura ya 2.1), orodha hakiki (sura ya 12.2), na violezo (sura ya 12.3).
Kanuni kuu
- Kiwango kinataja matokeo, na kinatoa sababu. Kanuni pamoja na sababu; bila kwa nini, watu hawawezi kuhukumu lini inatumika kweli.
- Kama haiwezi kukaguliwa, bado si kiwango. Pendelea kauli zinazojaribika kuliko matamanio.
- Viwango ni nyaraka hai. Vina matoleo, wamiliki, tarehe, na hurekebishwa, havichongwi kwenye jiwe na kuachwa.
- Otomatisha utekelezaji pale unapoweza; hifadhi mapitio ya binadamu kwa busara. Mashine hukagua vya kimitambo; watu hukagua vya maana.
- Kupotoka kunatarajiwa, si aibu, lakini lazima kuonekane. Msamaha wa uaminifu hushinda kutotii kimya kila wakati.
- Weka muda kwa kila kighairi. Kighairi cha kudumu ni kasoro katika kiwango; kiibue na urekebishe kiwango.
- Maneno na mifano kuliko jargon na maagizo. Watu hufuata viwango wanavyoelewa na wanaweza kunakili kutoka kwavyo.
Mapendekezo
Andika viwango vilivyo wazi, vinavyojaribika, na vilivyo na sababu
Kiwango kizuri ni waraka mfupi, unaojitegemea wenye umbo linalotabirika ili wasomaji wajue pa kutazama. Pokea kiolezo kimoja cha kiwango (sura ya 12.3) na ukitumie kila mahali. Sehemu muhimu ni pamoja na:
- Kichwa na kitambulisho: jina thabiti na namba ya marejeo kwa kutajwa.
- Hali: rasimu, amilifu, imebatilishwa, au imestaafishwa, ikiwa na tarehe.
- Kanuni: iliyoelezwa kama matokeo, kwa wazi na bila utata (“lazima,” “inapaswa,” “inaweza,” zikitumika kwa makusudi, kulingana na kanuni za RFC 2119 za maneno ya mahitaji).
- Sababu: kwa nini kanuni hii ipo; gharama au hatari inayozuia.
- Mifano: mfano unaozingatia na usiozingatia; madhubuti hushinda kidhahania.
- Jinsi inavyokaguliwa: jaribio la kiotomatiki, kanuni ya linter, au hatua ya mapitio inayoithibitisha.
- Mmiliki na tarehe ya mapitio: nani anaidumisha na lini itapitiwa tena.
Sehemu za sababu na “jinsi inavyokaguliwa” ndizo zinazotenganisha kiwango halisi na matamanio. Ikiwa huwezi kusema kwa nini kanuni ipo, hoji kama inapaswa kuwepo. Ikiwa huwezi kusema jinsi uzingatiaji unavyothibitishwa, kanuni itatumika bila uthabiti na kuchukiwa.
Oanisha kila kiwango na orodha hakiki ya mazoea mazuri
Viwango hufafanua marudio. Orodha hakiki ya mazoea mazuri, orodha fupi, iliyopangwa ya hatua madhubuti au vitu vya kuthibitisha, huwasaidia watu kufika huko na huwaruhusu kujithibitisha kabla ya mapitio. Vitabu vya mwongozo vya uhandisi vya sekta ya umma hutumia mfumo huu sana. NHS Wales na Digital Health and Care Wales (DHCW) huchapisha viwango vya uhandisi vyenye orodha hakiki za vitendo, na UK Government Digital Service (GDS) huoanisha Service Standard yake na Technology Code of Practice na mwongozo wa kutekelezeka wa Service Manual. Orodha hakiki ni kiwango kilichofanywa kitumike: “Je, umeongeza ukaguzi wa ufikivu? Je, umejaribu kwa kisoma skrini? Je, umeshughulikia urambazaji wa kibodi tu?” Tazama sura ya 12.2 kwa mfumo wa orodha hakiki kikamilifu.
Chapisha viwango mahali watu wanapofanya kazi tayari, na uvifanye vipatikane
Hifadhi viwango katika udhibiti wa matoleo (hazina ya chanzo) kama Markdown, vikionyeshwa kwenye tovuti ya ndani inayotafutika, ili vipate historia, mapitio kupitia maombi ya kuvuta, na ulinganisho bila gharama, hoja ileile kama ya rekodi za maamuzi (sura ya 1.6). Orodha moja, kiolezo kimoja, kisanduku kimoja cha kutafuta. Kuvionyesha ni muhimu kama kuvihifadhi. Unganisha kiwango husika kutoka kiolezo cha ombi la kuvuta, ujumbe wa kosa wa linter, na uanzishaji wa huduma, ili kanuni sahihi ionekane wakati wa kazi badala ya kwenye saraka ambayo hakuna anayetembelea.
Tekeleza kupitia uendeshaji wa kiotomatiki kwanza, mapitio ya binadamu pili
Kuna njia mbili za kutekeleza kiwango, na mashirika yaliyokomaa hutumia zote mbili kwa makusudi:
- Utekelezaji wa kiotomatiki: linters, vipanga muundo, uchambuzi tuli, sera-kama-msimbo (kwa mfano, Open Policy Agent (OPA)), malango ya uunganishaji endelevu (CI), na kazi za utimamu wa usanifu (majaribio ya kiotomatiki yanayothibitisha sifa ya usanifu bado inashikilia). Uendeshaji wa kiotomatiki ni thabiti, usio na uchovu, wa papo hapo, na usiobishaniwa, jambo linaloufanya bora kwa wingi wa kimitambo wa viwango (muundo, majina, kanuni za utegemezi, metadata inayohitajika).
- Mapitio ya binadamu: mapitio ya msimbo, bodi za mapitio ya usanifu, na mapitio ya usalama, vilivyohifadhiwa kwa kile mashine haziwezi kuhukumu: kama dhana ni sahihi, kama mabadilishano ni ya busara, kama nia ya kiwango inatimizwa hata maneno yake yakiwa magumu.
Kanuni ya kidole gumba: otomatisha kinachoweza kukaguliwa, na utumie umakini adimu wa binadamu kwa busara. Kila kiwango unachoweza kuhamisha kutoka mapitio hadi CI huwaachia wakaguzi kufanya fikra ambayo wao tu wanaweza.
Tawala kupotoka kwa mchakato ulioandikwa wa vighairi/msamaha
Hakuna kiwango kinachofaa kila kesi, kwa hiyo buni njia ya kutoroka kwa makusudi. Mchakato mzuri wa vighairi unabainisha:
- Nani anaweza kutoa msamaha: mamlaka iliyotajwa, inayowajibika, sawia na hatari (kiongozi wa kiufundi kwa kupotoka kwa mtindo wa dau la chini; bodi ya usanifu au usalama kwa msamaha wa udhibiti wa usalama). Hii inaunganishwa moja kwa moja na mfano wa utawala wa sura ya 1.5.
- Nini lazima kirekodiwe: kiwango kinachopotolewa, sababu mahususi, wigo, udhibiti wa fidia au upunguzaji wa hatari, na hatari iliyokubaliwa. Nasa hili kama rekodi ya uamuzi (sura ya 1.6) ili sababu ihifadhiwe.
- Kuisha kwa lazima: kila msamaha una muda uliowekwa wenye tarehe wazi ya mwisho. Hii ndiyo kanuni muhimu zaidi: inazuia kighairi cha muda kugeuka kimyakimya kuwa sera ya kudumu.
- Mapitio ya mara kwa mara: mmiliki hupitia misamaha iliyo wazi kwa ratiba na ama huifanya upya kwa uhalali mpya, kuifunga kazi inapozingatia, au, kighairi kilekile kikiendelea kurudi, huchukulia hilo kama ushahidi kwamba kiwango chenyewe kimekosea na kukirekebisha.
Hoja hii ya mwisho ndiyo kiini cha “kighairi huthibitisha kanuni.” Mtiririko thabiti wa misamaha dhidi ya kiwango kimoja si kushindwa kwa nidhamu. Ni data. Inakuambia kiwango kimepimwa vibaya, na suluhisho ni kuendeleza kiwango, si kuendelea kutoa vighairi.
Chukulia viwango kama nyaraka hai zenye umiliki wazi
Mpe kila kiwango mmiliki (jukumu, si mtu tu) anayewajibika kukiweka cha sasa, na ratiba ya mapitio (angalau kila mwaka). Toa njia nyepesi kwa yeyote kupendekeza badiliko kupitia ombi la kuvuta au RFC (ombi la maoni), pendekezo lililoandikwa linalosambazwa kwa maoni kabla ya kupokelewa. Weka viwango katika matoleo, vistaafishe waziwazi, na utangaze mabadiliko. Orodha ya viwango isiyorekebishwa kamwe huoza kuwa hadithi za watu ambazo watu huzitaja kwa kuchagua na kuziamini kidogo.
Mabadilishano: faida na hasara
| Chaguo | Faida | Hasara |
|---|---|---|
| Viwango vingi vya kina | Uthabiti, utambulisho rahisi, tayari kwa ukaguzi | Ukakamavu; mzigo wa matengenezo; vinaweza kutangulia mazoea |
| Viwango vichache vya ngazi ya juu | Vinavyobadilika; matengenezo ya chini | Kutokuwa na uthabiti; kubishana upya zaidi kwa kila timu |
| Utekelezaji wa kiotomatiki | Thabiti, wa papo hapo, usio na uchovu, unapanuka | Gharama ya awali; chanya za uongo; kipofu kwa nia |
| Utekelezaji wa mapitio ya binadamu | Huhukumu nia na maelezo ya kina | Polepole, bila uthabiti, kikwazo kwa ukubwa |
| Madhubuti, hakuna vighairi | Ujumbe rahisi; hakuna cha kudanganya | Huzuia kazi halali; huendesha kutotii kimya |
| Mchakato unaotawaliwa wa vighairi | Huweka viwango vya kuaminika na vya kibinadamu | Unahitaji utawala, rekodi, na ufuatiliaji |
Mvutano mkuu ni uthabiti dhidi ya unyumbufu. Kiwango kipo kuondoa tofauti; mchakato wa vighairi upo kukubali tofauti inayostahili kweli. Ukielemea ukakamavu sana watu watazunguka viwango vyako. Ukielemea ulegevu sana viwango havina maana. Mchakato wa vighairi ni valvu ya shinikizo inayokuruhusu kushikilia mstari imara na kubaki mwaminifu kuhusu uhalisia.
Maswali ya kujadili na timu yako
Idadi sahihi ya viwango kwa ukubwa wako ni ipi, na je, vyako vinaelekea ukakamavu au kutokuwa na uthabiti? Orodha yenyewe ni mabadilishano: viwango vingi vya kina hununua uthabiti, utambulisho rahisi, na utayari wa ukaguzi kwa gharama ya ukakamavu na mzigo wa matengenezo, huku viwango vichache vya ngazi ya juu vikibaki vinavyobadilika lakini vinaruhusu kila timu kubishana upya maswali yaleyale. Kwa shirika kubwa au chombo cha serikali, ukubwa sahihi unategemea tofauti kiasi gani unaweza kuvumilia kweli dhidi ya kiasi gani wakaguzi wako na utambulisho wako vinahitaji kubanwa. Leta ushahidi: viwango vingapi amilifu ulivyo navyo, vingapi vilipitiwa mwaka uliopita, na mara ngapi timu zinabishana upya mambo ambayo kiwango kingeweza kuyatatua. Orodha inayotangulia mazoea huwa hadithi za watu, na ile nyembamba mno inasukuma gharama kwa kila timu. Amua kwa makusudi nini kinastahili kiwango, na punguza vile ambavyo havilipi tena gharama yake.
Kiwango kinapita kwa maneno yake kiotomatiki huku nia yake ikikiukwa kimyakimya wapi, na utaikamataje? Uendeshaji wa kiotomatiki ni thabiti, usio na uchovu, na kipofu kwa nia, kumaanisha linter au ukaguzi wa sera unaweza kuwa kijani huku lengo halisi (dhana sahihi, mabadilishano ya busara, ukurasa unaofikika kweli) likikosekana. Kanuni ya kidole gumba ni kuotomatisha kinachoweza kukaguliwa na kutumia mapitio adimu ya binadamu kwa busara, na sehemu ngumu ni kukubaliana viwango vipi vina nia ambayo hakuna lango la CI linaloweza kuthibitisha. Leta mifano: viwango ambavyo watu wanatimiza kwa maneno huku wakishinda madhumuni, kama kiungo cha ukaguzi wa afya kinachoripoti ni mzima huku huduma imeharibika, au msimbo unaopita kipanga muundo lakini unafifisha maana. Katika mazingira yanayodhibitiwa, nia ni muhimu zaidi kwa udhibiti wa usalama, ambapo kisanduku cha kijani kinaweza kuficha hatari halisi. Amua viwango vipi vinabaki na mhakiki wa binadamu kuhukumu nia hasa, na uandike viwango hivyo kuzunguka matokeo ili mashine na mhakiki walenge lengo lilelile.
Nani anamiliki kitanzi cha maoni kutoka msamaha hadi kiwango, na ni wakati gani kighairi kinachojirudia kinakulazimisha kubadilisha kanuni? Mtiririko thabiti wa misamaha dhidi ya kiwango kimoja ni data, si kukosa nidhamu, na ishara hupotea isipokuwa mtu anawajibika kuisoma na kutenda. Jambo linaloshindana ni kwamba kurekebisha kiwango ni kazi halisi, kwa hiyo bado ni rahisi kuendelea kuthibitisha misamaha kuliko kurekebisha kanuni iliyopimwa vibaya iliyo chini yake. Leta nambari: viwango vipi vinazalisha vighairi vingi zaidi, kama misamaha ina muda uliowekwa na kupitiwa kwa ratiba, na ngapi zilikuwa za kudumu kimyakimya. Kwa viwango vya usalama wa maisha na usalama wa mtandao katika mashirika makubwa na ya serikali, msamaha lazima urekodi udhibiti wa fidia, upunguzaji wa hatari, hatari iliyokubaliwa, na muda mgumu wa mwisho, la sivyo kupotoka kwa muda kunakuwa sera isiyoandikwa inayoibuka katika ukaguzi unaofuata. Kabidhi mmiliki wa kupitia misamaha iliyo wazi, weka kizingiti ambapo vighairi vinavyorudiwa vinachochea marekebisho ya viwango, na uchukulie kighairi cha kudumu kama kasoro katika kiwango cha kurekebishwa.
Je, kiwango sahihi kinaonekana wakati wa kazi, au kinaishi kwenye saraka ambayo hakuna anayeifungua? Kiwango ambacho hakuna anayeweza kukipata kinatekelezwa kwa bahati, na kwa ukubwa kutotii kwingi si ukaidi bali ujinga: mhandisi hakujua kanuni ipo au hakuweza kuipata ilipojalisha. Jambo linaloshindana ni juhudi, kwa kuwa kuonyesha kiwango katika kiolezo cha ombi la kuvuta, ujumbe wa kosa wa linter, na uanzishaji wa huduma kunagharimu kazi halisi ya uunganishaji ambayo tovuti moja ya kati haihitaji. Leta ushahidi kuhusu uwezo wa kupatikana: wahandisi wanapataje viwango leo, je, mwajiriwa mpya anaweza kupata kanuni ya ufikivu au usalama inayotawala kazi yake ndani ya dakika, na mara ngapi wakaguzi wanataja kiwango ambacho mwandishi hakukiona tu. Kwa shirika kubwa au chombo cha serikali, wakaguzi wanauliza zaidi na zaidi si tu kama kiwango kipo bali kama kiliwasilishwa na kufikika wakati wa uamuzi, kwa hiyo chukulia kuonyesha kama sehemu ya kiwango, si wazo la baadaye, na upime kama watu wanaweza kufikia kanuni wanapoihitaji.
Nani anamiliki kila kiwango amilifu, kilipitiwa lini mwisho, na ungegunduaje vile ambavyo vimeoza kimyakimya kuwa hadithi za watu? Viwango huoza kimyakimya: kanuni iliyoandikwa miaka mitatu iliyopita kwa mfumo ambao hautumii tena bado iko katika orodha, ikitajwa kwa kuchagua na kuaminiwa kidogo, ikivuta uaminifu wa viwango ambavyo bado ni sahihi. Kwa shirika kubwa gharama ya umiliki ni ratiba ya mapitio yenyewe, inayohisi kama mzigo hadi kukatika au ukaguzi kufichua kiwango kisichoendana tena na uhalisia. Leta nambari katika mjadala: viwango vingapi vina mmiliki aliyetajwa (jukumu, si mtu aliyeondoka tu), vingapi vilipitiwa mwaka uliopita, vingapi vimestaafishwa rasmi dhidi ya vimechakaa tu, na vipi vinatajwa zaidi na kidogo zaidi. Katika mazingira ya mashirika makubwa na ya serikali, mkaguzi anatarajia kila kiwango kiwe na matoleo, tarehe, na kuonyesha kuwa cha sasa, kwa hiyo kubaliana ratiba ya chini ya mapitio, kabidhi kila kiwango mmiliki anayewajibika, na stafisha vile ambavyo havilipi tena gharama yake kabla ya kudhoofisha uaminifu wa vingine.
Je, mamlaka ya kutoa msamaha ni sawia na hatari ya kiwango kinachosamehewa kweli? Kupotoka kwa mtindo na kupotoka kwa udhibiti wa usalama si uamuzi mmoja, hata hivyo mashirika mengi ama huelekeza vyote viwili kwa bodi nzito (inayokwamisha kazi halali) au huviacha vipite kwa kiongozi mmoja wa kiufundi (kuruhusu hatari kubwa ikubaliwe na mtu asiye na mamlaka ya kuikubali). Mvutano ni kasi dhidi ya uwajibikaji: msuguano mwingi wa idhini huendesha kutotii kimya, ilhali kidogo mno humaanisha kupotoka kwa matokeo kunapitishwa kwenye nyuzi za gumzo. Leta ramani ya viwango vyako kwa mamlaka zake za kuidhinisha, pamoja na sampuli ya misamaha iliyotolewa hivi karibuni, na ukague kama yeyote alisamehe udhibiti wa usalama wa maisha au wa usalama wa mtandao bila bodi inayolingana, udhibiti wa fidia, upunguzaji wa hatari, na kukubali hatari kulikorekodiwa. Kwa mashirika makubwa na serikali, hili ni swali la mgawanyo wa majukumu ambalo wadhibiti wanalichunguza moja kwa moja, kwa hiyo funga kila aina ya kiwango na mamlaka iliyotajwa sawia na hatari yake, na uhakikishe mtu anayekubali hatari anawajibika kweli kwa matokeo.
Mtazamo wa sekta
Kampuni changa. Weka orodha ndogo sana: andika tu kanuni chache ambazo kutokuwepo kwake kungekuumiza kweli, kama usanidi wa kipanga muundo, sharti la ukaguzi wa afya, na kurasa zinazoweza kuabiriwa kwa kibodi, na utekeleze kila moja kwa linter au ukaguzi wa CI badala ya mkutano wa mapitio. Ruka bodi ya misamaha kabisa; TODO yenye tarehe kwenye msimbo na dokezo la mstari mmoja kwenye ombi la kuvuta ni kighairi kizuri kabisa chenye muda uliowekwa kwa ukubwa huu. Rasilimali yako adimu zaidi ni umakini wa kihandisi, kwa hiyo pinga kuandika viwango kwa matatizo usiyo nayo bado.
Biashara ndogo. Bila mmiliki maalumu wa viwango na bajeti finyu, nunua viwango vyako badala ya kuvijenga: pokea misingi iliyochapishwa kama UK GDS Service Standard, mwongozo wa usalama wa OWASP, au kanuni za lint zinazopendekezwa na mfumo wako, na utegemee ukaguzi uliojengwa tayari katika zana zako na CI inayohifadhiwa na wengine. Weka ukurasa mmoja mfupi wa kanuni za mahali kwa mambo machache mahususi kwako kweli. Anayeongoza uhandisi hutoa na kurekodi vighairi kwenye tiketi, pamoja na tarehe ya kuisha, ili hata mchakato mwepesi ubaki mwaminifu.
Biashara kubwa. Kazi ni utawala kuvuka timu nyingi: orodha moja, kiolezo kimoja, sababu na mifano kwa kila kiwango, na sera-kama-msimbo inayoshindwa bomba kwa wingi wa kimitambo. Endesha mchakato wa misamaha ambao mamlaka yake ya kuidhinisha ni sawia na hatari, weka muda kwa kila kighairi, pitia misamaha iliyo wazi kwa ratiba, na uchimbue misamaha inayorudiwa kama ishara kwamba kiwango kinahitaji kubadilika. Pima sehemu ya viwango vinavyotekelezwa kiotomatiki na kiasi na umri wa misamaha iliyo wazi, na uripoti vyote viwili kwa kazi ya utawala ili viwango vibaki mfumo unaosimamiwa badala ya makaburi.
Serikali. Chapisha viwango vyako vya uhandisi hadharani kwa mapokeo ya DHCW na GDS, na uoanishe kila kimoja na orodha hakiki ambayo timu zinakamilisha kabla ya tathmini ya huduma, ili uzingatiaji uonekane kwa umma na vyombo vya usimamizi. Fanya mmiliki mwandamizi anayewajibika aliyetajwa kuwa mamlaka ya misamaha yenye matokeo, na uhitaji kila kighairi kirekodi kigezo mahususi, udhibiti wa fidia au upunguzaji wa muda, mpango wa kurekebisha, na muda mgumu wa mwisho. Kanuni za ununuzi na uwazi hufanya viwango vyako na kupotoka kwako vyote viwe sehemu ya rekodi ya umma, kwa hiyo chukulia uwezo wa kukaguliwa na kufuatiliwa kama mahitaji ya usanifu tangu mwanzo.
Mifano
Kampuni changa. Kampuni changa ya watu saba inaweka viwango vitatu tu vilivyoandikwa (usanidi wa pamoja wa kipanga muundo, sharti la kiungo cha ukaguzi wa afya, na “kurasa zote za umma lazima ziweze kuabiriwa kwa kibodi”), kila kimoja kikitekelezwa na linter au ukaguzi wa CI badala ya mkutano wa mapitio. Mhandisi mmoja anapohitaji kutoa mfano wa muda unaovunja kanuni ya ukaguzi wa afya, hakuna bodi ya misamaha: anaacha TODO yenye tarehe kwenye msimbo na dokezo la mstari mmoja kwenye ombi la kuvuta akisema kwa nini na lini ataurekebisha. Hicho ni kighairi chenye muda uliowekwa kwa ukubwa wa kampuni changa, cha uaminifu na kinachoonekana bila mzigo wa mchakato. Ukaguzi huo watatu hulipa wenyewe kwa kuweka mapitio ya msimbo kuhusu maudhui badala ya mtindo.
Biashara kubwa. Benki ya kimataifa inadumisha kitabu cha mwongozo cha ndani cha uhandisi chenye viwango amilifu takriban arobaini, kila kimoja katika kiolezo kimoja chenye sababu, mifano, na orodha hakiki ya mazoea mazuri iliyounganishwa. Takriban 70% hutekelezwa kiotomatiki: muundo, sera ya utegemezi, metadata ya huduma ya lazima, na udhibiti wa usalama uliowekwa katika msimbo kama sera unaoshindwa bomba la CI. Timu ya malipo inahitaji kutoa kwenye hifadhidata ambayo bado haitumii kipengele cha usimbaji fiche kilichoamriwa. Badala ya kuzuia toleo, wanawasilisha msamaha unaotaja kiwango, udhibiti wa fidia (usimbaji fiche wa ngazi ya programu), na kuisha kwa siku 90. Bodi ya usalama inautoa na kuurekodi. Siku tisini baadaye, mapitio yanagundua jukwaa sasa linaunga mkono kipengele kwa asili, na msamaha unafungwa. Kiwango kilishikilia, kazi ilitolewa, na kupotoka kunaweza kufuatiliwa kikamilifu kwa ukaguzi unaofuata.
Serikali. Wakala wa kitaifa wa afya ulioigwa kwa mtindo wa DHCW na GDS unachapisha viwango vyake vya uhandisi hadharani, kila kimoja kikioanishwa na orodha hakiki ambayo timu zinakamilisha kabla ya tathmini ya huduma. Ufikivu hadi WCAG 2.2 AA ni kiwango kigumu, kinachotekelezwa na ukaguzi wa kiotomatiki katika CI pamoja na tathmini ya mkono. Mfumo wa zamani wa kitabibu hauwezi kutimiza mara moja kigezo kimoja cha ufikivu bila kuhatarisha kazi muhimu kwa usalama wa mgonjwa. Timu inaomba kighairi chenye muda uliowekwa. Mmiliki mwandamizi anayewajibika aliyetajwa anakitoa, na kurekodi kigezo mahususi, upunguzaji wa muda (laini ya simu ya msaada wa kufikia), mpango wa kurekebisha, na kuisha kwa miezi sita, akiunda ushahidi unaoweza kufuatiliwa, kupitiwa hasa ambao vyombo vya usimamizi vinahitaji (sura za 4.6, 10.4).
Kesi ya biashara: sababu, ROI, na TCO
Kiwango kinagharimu muda wa kukiandika, kuotomatisha ukaguzi wake, na kukidumisha. Mapato hulipwa kila wakati ukaguzi unapoendeshwa, na kila wakati mhandisi hahitaji kusimama na kubishana swali lililotatuliwa. Viwango hubadilisha gharama ya uamuzi inayojirudia, iliyosambazwa kuwa gharama ya mara moja ya kuandika, uchumi uleule kama rekodi za maamuzi (sura ya 1.6), ukikuzwa kwa sababu kiwango kinatawala maelfu ya matukio ya baadaye, si uchaguzi mmoja wa zamani.
Kwa jumla ya gharama ya umiliki (TCO), gharama kamili ya maisha ya kujenga, kuendesha, na kudumisha mfumo, viwango vinapunguza vipengee vikubwa zaidi: utambulisho (waajiriwa wapya hurithi uthabiti badala ya kuuchambua upya), matengenezo (msimbo sare ni nafuu kubadilisha), na uhakikisho (ukaguzi ni nafuu uzingatiaji unapoweza kukaguliwa na mashine na kupotoka tayari kumeandikwa). Mchakato wa vighairi hulinda ROI hiyo kutoka tishio lake kuu: viwango kuoza kuwa hadithi zinazopuuzwa. Mchakato wa msamaha wa kuaminika huweka viwango vikiaminiwa, na viwango vinavyoaminiwa ndivyo watu wanavyofuata kweli. Gharama ya kuruka haya yote haionekani kwenye dashibodi yoyote. Huonekana kama utambulisho wa polepole, ubora usio thabiti, na matokeo ya ukaguzi, na hujumlika kwa kila timu mpya na kila kuondoka.
Mifumo mibaya na mitego
- Kanuni bila sababu: kiwango ambacho hakuna anayekielewa ni kiwango ambacho hakuna anayeweza kukitumia kwa usahihi wala kukipinga kwa uaminifu.
- Viwango vya matamanio visivyokaguliwa: “msimbo unapaswa kudumishika” ni thamani, si kiwango; haiwezi kutekelezwa wala kupingwa.
- Hakuna mchakato wa vighairi: hulazimisha uchaguzi wa uongo kati ya kuzuia kazi halali na kuvumilia kutotii kimya.
- Vighairi vya kudumu: misamaha isiyo na kuisha ambayo kimyakimya inakuwa sera halisi, isiyoandikwa.
- Misamaha bila rekodi: kupotoka kunakotolewa korido au kwenye nyuzi za gumzo, kusikoonekana kwa ukaguzi unaofuata wala mhandisi anayefuata.
- Kupuuza ishara: kutoa kighairi kilekile mara kwa mara badala ya kukisoma kama uthibitisho kwamba kiwango kinahitaji kubadilika.
- Utekelezaji kwa kunung’unika: kutegemea wakaguzi kunasa kile linter inapaswa kunasa, kupoteza busara kwenye vya kimitambo.
- Makaburi ya viwango: orodha iliyoandikwa mara moja, isiyomilikiwa na yeyote, isiyopitiwa kamwe, inayotajwa kwa kuchagua, inayoaminiwa na wachache.
- Kulinda lango kwa jargon: viwango vilivyoandikwa kwa waandishi wake badala ya wasomaji wao, bila mifano ya kunakili.
Kielelezo cha ukomavu
- Ngazi ya 1 (Kuanzisha): Viwango ni maarifa ya kikabila vichwani mwa wahandisi waandamizi, vinavyotumika kwa kuitikia. Utekelezaji ni kunung’unika kwa mapitio ya msimbo bila mpangilio; kupotoka hakuonekani; “jinsi tunavyofanya” hutofautiana kwa timu na kwa nani alipitia badiliko.
- Ngazi ya 2 (Kuendeleza): Baadhi ya viwango vimeandikwa, katika miundo isiyo thabiti na maeneo yaliyotawanyika, na kupokelewa kunatofautiana sana timu hadi timu. Utekelezaji ni wa mkono zaidi. Vighairi hutokea bila rasmi, bila rekodi wala tarehe za kuisha.
- Ngazi ya 3 (Kusawazisha): Orodha moja, kiolezo kimoja, sababu na mifano kwa kila kiwango, na orodha hakiki za mazoea mazuri, zinazotumika kwa uthabiti kuvuka timu. Utekelezaji wa kiotomatiki kwa wingi wa kimitambo. Mchakato ulioandikwa wa vighairi wenye waidhinishaji waliotajwa, sababu iliyorekodiwa, na misamaha yenye muda uliowekwa.
- Ngazi ya 4 (Kusimamia): Mfumo wa viwango unapimwa dhidi ya vipimo vya msingi. Unafuatilia sehemu ya viwango vinavyotekelezwa kiotomatiki dhidi ya kwa mapitio ya binadamu, kiasi cha misamaha kwa kila kiwango, muda wa kufunga, na misamaha mingapi iliisha ikiwa bado wazi, na unaripoti haya kwa kazi ya utawala. Mamlaka ya kuidhinisha ni sawia na hatari na hukaguliwa; ratiba ya mapitio na kuisha hutekelezwa kwa ushahidi badala ya nia njema; kiwango ambacho kiwango chake cha misamaha kinavuka kizingiti kilichokubaliwa kinawekewa bendera kwa marekebisho.
- Ngazi ya 5 (Kuratibu): Viwango huonyeshwa wakati wa kazi na kutekelezwa na sera-kama-msimbo na kazi za utimamu. Misamaha huchimbuliwa kama ishara ili vighairi vinavyorudiwa viendeshe viwango kubadilika kila wakati, na orodha husawazishwa upya mazoea yanapohama. Viwango, orodha hakiki, na misamaha ni mfumo mmoja hai unaobadilika, uliounganishwa kuvuka utambulisho, utoaji, na ukaguzi.
Mawazo ya kujadili
- Ni viwango vipi vyako unavyoweza kuvitaja kwa kanuni inayojaribika na sababu wazi, na vipi ni matamanio tu?
- Ni sehemu gani ya viwango vyako vinatekelezwa kiotomatiki dhidi ya kwa mhakiki kuviona? Ingechukua nini kuhamisha kumi zaidi kwenye CI?
- Kupotoka kunatokea wapi leo, na je, ungejua hata? Je, kumerekodiwa na kuwekewa muda, au ni kimya?
- Nani anaruhusiwa kutoa msamaha dhidi ya kiwango chako muhimu zaidi kwa usalama wa maisha au wa mtandao, na je, mamlaka hiyo ni sawia na hatari?
- Tazama kiwango chako kinachosamehewa zaidi. Je, ni tatizo la nidhamu, au kiwango kimekosea tu?
- Kila kiwango amilifu kilipitiwa lini mwisho, na nani anakimiliki? Vipi vimekuwa hadithi za watu kimyakimya?
Mambo muhimu ya kukumbuka
- Kiwango cha uhandisi ni kanuni iliyoelezwa kama matokeo, yenye sababu, mifano, na njia ya kukikagua: kama haiwezi kukaguliwa, bado si kiwango.
- Oanisha kila kiwango na orodha hakiki ya mazoea mazuri ili watu wajithibitishe, kwa mfumo wa kitabu cha mwongozo cha sekta ya umma (NHS Wales / DHCW, UK GDS).
- Hifadhi viwango katika udhibiti wa matoleo, viweke hai vyenye wamiliki waliotajwa na tarehe za mapitio, na uvionyeshe wakati wa kazi.
- Otomatisha kinachoweza kukaguliwa kwa linters, sera-kama-msimbo, na kazi za utimamu; hifadhi mapitio ya binadamu kwa busara.
- Tawala kupotoka kwa mchakato ulioandikwa, wenye muda uliowekwa wa vighairi/msamaha: mwidhinishaji aliyetajwa, sababu iliyorekodiwa, kuisha kwa lazima, mapitio ya mara kwa mara.
- Kighairi kinachojirudia ni ishara ya kurekebisha kiwango, si kuendelea kutoa misamaha tu: “kighairi huthibitisha kanuni.” Tazama sura za 1.5 (utawala), 1.6 (rekodi za maamuzi), 2.1 (viwango vya kuandika msimbo), 12.2 (orodha hakiki), na 12.3 (violezo).
Marejeo na usomaji zaidi
- UK Government Digital Service, Government Service Standard, Technology Code of Practice, and GOV.UK Service Manual.
- NHS Digital / NHS England, Service Standard and engineering guidance.
- Digital Health and Care Wales (DHCW) / NHS Wales, published engineering standards and good-practice checklists.
- Scott Bradner, RFC 2119: Key Words for Use in RFCs to Indicate Requirement Levels (IETF, 1997).
- World Wide Web Consortium (W3C), Web Content Accessibility Guidelines (WCAG) 2.2.
- Neal Ford, Rebecca Parsons, and Patrick Kua, Building Evolutionary Architectures (fitness functions as automated governance).
- Torin Sandall et al., Open Policy Agent documentation (policy-as-code).
- GitLab, The GitLab Handbook: a public example of living, version-controlled organizational standards.
- Google, Software Engineering at Google (Winters, Manshreck, Wright): standards, readability, and automated enforcement at scale.
- Atul Gawande, The Checklist Manifesto: the case for checklists as professional practice.