Proces, ki živi v glavi enega človeka, spremenimo v nekaj, kar teče tudi brez njega.
Odobritve, predaje in preverjanje stanja danes opravlja nekdo, ki prepisuje med poštnim predalom, preglednico in sistemom, v katerem je dejanski zapis. Zgradimo različico, ki teče sama, si zapomni, kaj se je zgodilo, in ve, kdaj se mora ustaviti in vprašati človeka.
Za kaj gre
Ena skripta, ki prenese podatke iz A v B, še ni avtomatizacija delovnih procesov. Proces ima korake: nekatere lahko opravi računalnik, pri drugih mora nekaj odločiti človek. Tak proces mora preživeti prekinitev na kateri koli točki, ne da bi izgubil zadevo, ki jo je obdeloval, ali isti korak izvedel dvakrat. Večina tega, kar je pri tem težko, se v demu ne pokaže: proces, ki je videti končan, ko enkrat steče po poti brez zapletov, je precej drugačen po dvestoti izvedbi, ko API ponudnika pri četrtem koraku ne odgovori pravočasno.
Začnemo tako, da opazujemo proces, kot v resnici teče, ne različico, ki jo je nekdo pred dvema letoma zapisal na wikiju. Vsak proces ima pot brez zapletov in nabor izjem, prav v izjeme pa gre običajno ves resnični trud: naročilo, ki mu manjka polje, odobritev, ki potrebuje drugi podpis, ker je znesek presegel prag, zapis, ki se pojavi dvakrat, ker ga je nekdo po počasnem odzivu oddal še enkrat. Diagram poteka z enim okvirčkom z napisom „obravnava izjem“ je diagram, ki izjem še ni srečal.
To, kar zgradimo, je avtomat stanj, ne glede na to, ali ga tako imenujemo: vsaka zadeva v procesu nosi stanje, shranjeno zunaj kode, ki se izvaja, v vrstici v bazi ali v sporočilu v čakalni vrsti. Po sesutju ali ponovni namestitvi se zato nadaljuje od zadnjega dokončanega koraka, namesto da bi začela znova ali se izgubila. Koraki, ki posegajo v zunanji svet, kot so pošiljanje e-pošte, ustvarjanje zapisa ali bremenitev, dobijo idempotenčni ključ. Ponovni poskus, ki po izteku časovne omejitve ne more vedeti, ali je prvi uspel, lahko zato isto dejanje varno izvede še enkrat. Kadar zadeva ne ustreza temu, kar proces pričakuje, se ustavi in se s priloženim kontekstom preda človeku, namesto da bi ugibala in šla naprej.
Kaj dobite
Popis procesa
Tak, ki ustreza temu, kar ljudje res delajo, z izjemami vred, ne različica z wikija.
Sprožilci
Kakor koli se mora proces začeti: webhook, urnik, oddan obrazec, pravilo v poštnem predalu. Običajno jih je več.
Avtomat stanj
Napredek vsake zadeve je shranjen zunaj kode, ki se izvaja, zato se zadeva po sesutju nadaljuje, namesto da bi se izgubila ali začela znova pri prvem koraku.
Idempotentni koraki
Vse, kar pošilja, ustvarja ali bremeni, lahko varno ponovimo, zato se časovna omejitev, ki poteče pri nas, nikoli ne spremeni v dvojnik pri nekom drugem.
Odobritve in obvestila
Pridejo tja, kjer ekipa že dela, v Slack, e-pošto ali kar koli že res spremlja, ne v nov poštni predal, ki ga nihče ne odpira.
Pot za izjeme
Zadeve, ki ne ustrezajo pričakovani obliki, se ustavijo in gredo k človeku s priloženim kontekstom, namesto da bi tiho odpovedale ali ugibale.
Revizijska sled
Kaj se je z določeno zadevo zgodilo, kdaj, in ali je to naredil človek ali avtomatizacija. Za dan, ko nekdo vpraša, zakaj je bil račun odobren.
Nadzor in opozarjanje
Da zataknjeno zadevo še isti dan opazimo mi, ne čez več tednov stranka.
Kdaj je avtomatizacija procesov prava izbira in kdaj ne
Prava izbira
- Proces teče dovolj pogosto, da je ročno izvajanje resničen in stalen strošek, ne opravilo enkrat na četrtletje.
- Sega v več kot en sistem ali ekipo, informacije ali odločitve pa med njimi danes prenaša človek.
- Sredi procesa je resnična odločitev ali odobritev, torej ne gre le za podatke, ki se selijo z enega mesta na drugo, ne da bi bilo vmes karkoli.
- Izgubljena ali podvojena zadeva ima resnično ceno, na primer stranko, ki čaka, ali račun, ki gre ven dvakrat. Zato potrebuje ponovne poskuse in revizijsko sled, ne opravilo cron, ki se zanaša na srečo.
- Orodje no-code, kot je Zapier, Make ali oblačni paket n8n, ste že preizkusili in trčili ob njegove meje: razvejane logike, ki bi ustrezala resničnemu procesu, ni, število klicev je omejeno ali pa imate pravilo, da nič ne sme teči tam, kjer nimate nadzora.
Ni prava izbira
- Če potrebujete dva sistema, ki sta nenehno usklajena, brez človeka ali odobritve vmes, je to integracija sistemov in ne avtomatizacija procesa.
- Proces teče dvakrat na mesec. Avtomatizacija nečesa redkega stane več kot ročno delo, tako v času razvoja kot v tveganju, da se neopaženo pokvari.
- V hiši danes ni soglasja o tem, kateri koraki so sploh pravilni. Če avtomatizirate nesoglasje, ga samo skrijete v kodo, ki ji nihče ne more ugovarjati. Najprej uskladite proces, potem ga avtomatizirajte.
- Res gre za eno skripto, ki jo enkrat požene en človek. To je skripta, ne projekt, in samostojni programer bo hitrejši in cenejši.
- Želite, da avtomatizacija tudi sama presoja. Odločitev lahko izvede, ko človek pravilo izrecno določi, sama pa si pravila ne sme izmišljati.
Kako poteka
- 01
Opazujemo proces
Usedemo se k ljudem, ki ga vodijo zdaj, in mu sledimo v vrstnem redu, v katerem ga res izvajajo. Izjeme pridejo na dan tukaj, ne pozneje, in določijo večino obsega.
- 02
Popišemo stanja
Vsak korak postane stanje z določenim uspehom in določeno napako, zato ima zataknjena zadeva kje pristati in ne izgine.
- 03
Najprej zgradimo dolgočasnih 80 odstotkov
Sprožilce, shrambo stanj in logiko ponovnih poskusov utrdimo, preden pridejo na vrsto zahtevne izjeme, da jih ne privijamo na nekaj majavega.
- 04
Poženemo ob ljudeh
Nekaj časa teče vzporedno z ročnim procesom, tako da se napaka pokaže kot neujemanje, ki ga je treba preveriti, ne kot incident.
- 05
Predamo
Revizijska sled, opozarjanje in dokumentacija. Ljudje, katerih proces je to bil, potrdijo, da ustreza temu, kar so prej delali ročno.
Vprašanja, ki jih slišimo
Kaj se zgodi, če korak odpove na pol poti?
Nič se ne začne znova od začetka in nič ne izgine. Stanje vsake zadeve je shranjeno zunaj procesa, ki se izvaja, v bazi ali čakalni vrsti, zato se zadeva po sesutju nadaljuje od zadnjega dokončanega koraka. Vse, kar bi lahko uspelo le napol, na primer e-pošta, ki je morda odšla tik pred iztekom časovne omejitve, nosi idempotenčni ključ, tako da je ponovni poskus ne more podvojiti.
Gradite z orodji Zapier, Make ali n8n ali pišete vse od začetka?
Odvisno od tega, kaj proces potrebuje. Orodje no-code je pogosto pravi odgovor za nekaj preprostega z malo vejitvami, in to tudi povemo, namesto da bi prodali razvoj po naročilu, ki ga nihče ni potreboval. Ko proces potrebuje pravo stanje, obravnavo napak, ki jo človek res pogleda, ali mora teči tam, kjer imate nadzor vi, in ne v oblaku ponudnika, ga zgradimo kot programsko opremo, včasih z n8n na lastni infrastrukturi, včasih kot navadno kodo.
Kako najdete izjeme, ki jih ni nihče zapisal?
Vprašamo, kaj se danes zgodi, ko manjka polje, ko se dva zapisa ne ujemata ali ko mora nekdo zaobiti običajno pravilo. Iskren odgovor nikoli ni, da se to ne dogaja. Dogaja se, le da to nekdo uredi in tega ne omeni. Iz teh primerov nastanejo izrecne veje z imenovano osebo, ki zadevo prevzame, ne tiho ugibanje.
Ali avtomatizacija poslovnih procesov nadomesti ljudi, ki jih danes vodijo?
Nadomesti prepisovanje in pomnjenje, presoje ne. Izjemo še vedno nekdo odobri in za robni primer še vedno nekdo odgovarja. Odpade tisti del, kjer je človek tam predvsem zato, da prenaša informacije z enega zaslona na drugega.
Storitve
Newsletter
Novice iz delavnice
Zapisi o tem, kako načrtujemo, gradimo in dostavljamo programsko opremo. Brez kampanj, brez avtomatiziranih nizov sporočil, odjavite pa se lahko z enim klikom.
Imate proces, ki ga nihče noče voditi ročno?
Opišite ga tako, kot v resnici poteka, z izjemami vred. Prebere ga inženir in vam naravnost pove, ali se ga splača avtomatizirati.