Að leysa flöskuháls yfirferðar í fulltrúakóðun

Fulltrúakóðun færir flöskuhálsinn frá kóðagerð yfir í yfirferð og því eru yfirferðarferli sem veita vissu nauðsynleg.

Samantekt

  • Hjá flestum teymum sem taka upp fulltrúakóðun færist flöskuhálsinn frá framleiðslu yfir í yfirferð og heildarhraðinn eykst lítið sem ekkert nema ferlið sé lagað.

  • Í umfangsmiklu CI-umhverfi, þar sem milljónir prófana eru keyrðar á hverri nóttu og hundruð verkfræðinga starfa, skilar mestum ávinningi að láta fulltrúa greina mál og beina þeim til ábyrgðaraðila, ekki að búa til kóða.

  • Gagnlegt úttak frá fulltrúa stenst ítarlega skoðun og skýrir orsakasamhengi í stað þess að greina aðeins mynstur.

  • Hönnun lagsins sem safnar sönnunargögnum og setur saman samhengi skiptir meira máli en framleiðslulagið.

Umræða um fulltrúakóðun hefst enn oftast á einföldu loforði: að skrifa meiri kóða hraðar.

Stundum þróast það yfir í metnaðarfyllri sýn þar sem fulltrúar skipuleggja vinnu, stofna PR og koma breytingum í notkun með lágmarksíhlutun fólks. En fyrir flest verkfræðiteymi er skýrasti ávinningurinn til skamms tíma afmarkaðri. Hann felst í að draga úr kostnaði við ítranir.

Hugbúnaðarafhending snýst ekki aðeins um að búa til kóða. Kóðaskrif eru aðeins eitt skref í lengra ferli sem felur í sér yfirferð, prófanir, innleiðingu og rannsókn þegar eitthvað fer úrskeiðis. Flest teymi sem taka upp fulltrúakóðun án þess að endurhanna yfirferðarferlið færa flöskuhálsinn einfaldlega aftar í ferlið.

Þótt framleiðslan sé hraðari verður teymið ekki sjálfkrafa hraðvirkara. Þess í stað getur meiri vinna færst yfir í yfirferð, sannprófun og að byggja upp traust.

Raunverulegi flöskuhálsinn er vissa

Í mörgum verkfræðiumhverfum er kostnaðarsamasti hlutinn ekki að útbúa fyrstu drög heldur að öðlast næga vissu.

Lagaði breytingin í raun vandamálið eða bætti kerfið? Olli hún aðhvarfsvillu annars staðar? Liggur bilunin í kóðanum, umhverfinu, prófununum eða kerfishæði? Tekur lagfæringin á orsökinni eða aðeins sýnilega einkenninu?

Fulltrúar geta hjálpað hér, ekki með því að leysa verkfræðinga af hólmi heldur með því að fara skipulega yfir óreiðukennd gögn í fyrstu umferð: skoða annála, bera saman nýlegar breytingar, draga saman viðeigandi vísbendingar, rekja líklegar orsakir, keyra athuganir og skila niðurstöðu sem fólk getur skoðað nánar.

Hjá mörgum teymum felst áhrifamesta notkun fulltrúa ekki í að búa til kóða frá grunni. Hún felst í að þrengja leitarsviðið í kringum vandamál áður en manneskja ver klukkustundum í það handvirkt.

Hvers vegna ferli með mikilli yfirferð henta vel

Þetta sést sérstaklega skýrt í umfangsmiklum villuleitarferlum. Ímyndaðu þér að CI keyri milljónir prófana á hverri nóttu yfir kóðasöfn sem hundruð verkfræðinga hafa breytt — þetta er raunveruleikinn hjá einum viðskiptavina okkar. Þegar eitthvað bregst er erfitt að beina málinu til réttra ábyrgðaraðila. Vandinn gæti legið í forritskóðanum, kerfishæði, prófunarkerfinu eða annars staðar í tæknistaflanum. Annálar geta verið mörg gígabæti og teymið sem sér vandann fyrst ber ekki alltaf ábyrgð á honum.

Slíkt vinnuferli kallar ekki eðlilega á einn fulltrúa til að skrifa lagfæringuna. Það hentar kerfi sem þrengir vandamálasviðið hratt.

Gagnlegt vinnsluflæði gæti sótt annála, valið viðeigandi gögn, dregið saman það sem skiptir máli, skoðað kóða í sandkassa og skilað skipulagðri greiningu á undirliggjandi orsök með vissu-einkunn, rekjanleika og tillögum að næstu skrefum. Sérfræðingur á viðkomandi sviði metur upphaflegt úttak fulltrúans svo hægt sé að reikna vissu-einkunn. Matið er síðan fært inn í LLM-dómara sem sér sjálfvirkt um einkunnagjöf framvegis en heldur henni samræmdri mati manneskju.

Skýringarmynd sem sýnir hvers vegna ferli með mikilli yfirferð henta vel.

Markmiðið er ekki að útrýma faglegu mati verkfræðinga heldur að veita yfirlesurum sterkari útgangspunkt. Forgangsröðun aðhvarfsvillna, yfirferð PR, viðgerðir á prófunum, staðfesting útgáfa og rannsóknir eftir innleiðingu eiga allt sama grunnformið. Þessi ferli byggjast á miklum gögnum og yfirferð og eru full af óvissu. Þau krefjast þess ekki að fulltrúi leysi verkfræðiferlið af hólmi, heldur aðeins að hann hjálpi til við að þoka því áfram.

Leitið að bættu vinnuferli, ekki úttaki

Þess vegna þurfa teymi einnig að gæta að því hvernig þau meta þessi kerfi.

Ranga spurningin er hvort fulltrúi geti skilað einhverju tilkomumiklu í einangruðu verkefni. Betra er að spyrja hvort hann bæti raunverulegt vinnuferli án þess að skapa fyrirstöðu annars staðar.

Það merkir að skoða hvort úttakið sé nógu sértækt til að sannreyna það, hvort það skýri orsakasamhengi í stað þess að greina aðeins mynstur og hvort það auðveldi yfirferð frekar en að torvelda hana. Sennilegt svar er ekki endilega gagnlegt svar. Í reynd treysta teymi úttaki fulltrúa þegar það stenst ítarlega skoðun og gefur þeim eitthvað áþreifanlegt til að sannreyna.

Skýringarmynd sem sýnir að leita eigi að bættu vinnuferli, ekki úttaki.

Erfiðasti hlutinn er að hanna ferlið

Dýpri lærdómurinn er sá að gagnleg fulltrúakerfi byggjast á fleiru en framleiðslu. Þau ráðast af því hvernig gögnum er safnað, samhengi sett saman, úttak sannreynt og óvissa gerð sýnileg þeim sem fer yfir niðurstöðuna.

Þess vegna verður nánasta framtíð fulltrúastuddrar hugbúnaðarþróunar líklega ekki eitt risastökk yfir í algjört sjálfræði. Líklegra er að hún felist í safni vandlega hannaðra ferla þar sem fulltrúar hjálpa teymum að skoða, yfirfara, sannreyna og betrumbæta vinnu sína með minni sóun milli skrefa.

Það kann að vera minna tilkomumikið en hin víðtæka framtíðarsýn um sjálfræði, en er mun nær því hvernig gagnleg kerfi eru í raun tekin í notkun.

Höfundar

Atharva Tidke, George Montagu