Jeg har tidligere skrevet om automatisering af "Idiotopgaver", og jeg bliver en stadig størretilhænger af at automatisere alt, hvad der kan. Derfor har jeg i det seneste år brugt en del tid på at se på løsninger til "robotautomatisering" også kaldet Robotic Process Automation (RPA).
Der findes en række ret gode løsninger på markedet, som kan automatisere en meget lang række trivielle opgaver og spare virksomheder for mange penge.
Netop fordi der er et stort potentiale for effektivisering og besparelser, har producenterne af de største og mest funktionsrige løsninger sat prisen derefter.
Det betyder, at løsningerne i den tunge ende primært henvender sig til store offentlige og private virksomheder, og at derfor ikke er inden for rækkevide for små virksomheder, mindre afdelinger eller den enkelte konsulent.
I den tunge ende finder vi løsninger som UI Path, Blue Prism, Automation Anywhere og Process Robot.
Process Robott har dog også en mindre løsning, som jeg fandt ved et tilfælde tidligere på året. Produktet hedder WinAutomation, og da man kunne prøve det gratis i 30 dage, downloadede jeg det fluks.
Og jeg blev ikke skuffet. Der gik ikke længe, før jeg faldt pladask for det. Jeg nåede i min prøveperiode at automatisere en del forskellige opgaver, og jeg har siden fortalt om produktet til alle, der gad høre på mig.
Her følte jeg virkelig, der var noget, der kunne booste den enkeltes produktivitet uden at koste en formue.
Nutidens makroer
Hånden på hjertet, så er en softwarerobot i virkeligheden bare en avanceret makro-afspiller. Men jeg synes "softwarerobot" lyder lidt smartere, da ordet "makro" vist nok var smart tilbage i 90'erne.
I WinAutomation glemte jeg hurtigt, at jeg sad og legede med avancerede makroer, og der gik ikke længe, før jeg stolt kunne vise min første robot frem til familie og kollegaer.
Jeg brugte timer på at studere og lege med de indbyggede eksempler i løsningen. Jeg kastede mig hovedkulds ud i at afprøve betingelser, løkker, filoperationer, interaktion med andre programmer, tilgang til websites, e-mail-automatisering og optagelse af makroer.
Her er et eksempel på en simpel optagelse af en web-makro, som jeg er sikker på vil drive redaktionen på Computerworld.dk til vanvid:
Det blev hurtigt klart, at den hurtigste vej til at automatisere en arbejdsgang var at optage den med den indbyggede makro-optager, og så efterfølgende tilpasse det optagede til endeløse gentagelser.
Lad mig give et eksempel.
Personligt har jeg alle vores billeder af familie og venner i flere hundrede forskellige mapper på computeren. De er ordnet efter årstal og begivenheder i mapper, undermapper og flere undermapper.
Disse billeder havde jeg længe drømt om at få lagt op på familiens hjemmeside, men jeg orkede simpelthen ikke at gøre det manuelt.
Så jeg startede med at optage en web-makro i programmet. Her loggede jeg ind i familiens WordPress-site, navigerede til "nyt galleri" i NextGEN Gallery-plugin'et i WordPress, indtastede et navn til det første galleri, jeg ville oprette, klikkede på "vælg billeder", navigerede til den første mappe med billeder af ungerne, valgte alle billederne, trykkede "Ok" og til sidste klikke jeg på "Upload" i WordPress.
Herefter stoppede jeg optagelsen af min web-makro og kom tilbage til robot-designeren, hvor jeg nu kunne se alle de trin jeg havde udført på en fin og overskuelig måde.
Hvis jeg afspillede min makro på nuværende tidspunkt, ville den oprette det samme album igen og uploade de samme billeder igen. Så der måtte lidt justering til.
Ved manuelt at trække en "Get Folders"-funktion ind i robotten, kunne jeg nemt få adgang til alle mapper og undermappe i en valgt folder. Alle mapper blev automatisk gemt i en variabel med navnet %Folders%. Herefter trak jeg en "For..Each"-funktion ind og jeg valgte %Folders% som udgangspunkt for min for-hver-løkke.
Nu var det et spørgsmål om at trække "Next"-delen af min løkke ned under den optagede del og så tilpasse de steder, hvor jeg havde behov for, at der blev udskiftet informationer. For eksempel galleriets navn (som var mappenavnet) og stien til den rigtige mappe med de rigtige billeder.
Efter nogle forsøg og småjusteringer var min robot klar til gøre det tunge arbejde for mig.
Glad og stolt som en 7-årig
Jeg tog mig selv i at smile bredt som jeg sad der og stenede over alt det arbejde, min robot nu gjorde for mig.
Efter at have stirret på robotten knokle i cirka 30 minutter tænkte jeg, at tiden var bedre brugt på at se fjernsyn med familien. Dog først efter, jeg havde hevet min kone ind foran computerskærmen og med en 7-årigs stolthed kunne pege på skærmen og sige "Se, hvad jeg har lavet".
Senere på aftenen var mine flere hundreder mapper blevet tryllet om til fine gallerier på vores private hjemmeside.
Få dage senere sad jeg i arbejdssammenhæng med en mindre datamigreringsopgave for et hospital. Det havde fået trukket en masse data ud af et gammelt system, der nu stod klar til at gå på pension.
Disse data var endt som cirka 200.000 linjer i et stort Excel-regneark. Jeg skulle forberede en indlæsning i et andet system, der skulle have data i et andet format og i mindre portioner.
Men der var informationer i regnearket, som var vigtige at holde sammen i disse portioner, så der var behov for anvendelse af lidt logik.
Jeg tænkte på, om det mon var en opgave for en robot. Så jeg startede en ny tom robot, valgte "Excel"-funktionen med musen og pegede på mit kæmpe regneark.
Som med alle andre funktioner i programmet, var Excel-funktionen meget nem at arbejde med.
Jeg oprettede en variabel, der gjorde det nemt at gemme værdier fra regnearket, så jeg kunne sammenligne data fra nye linjer med tidligere linjer og dermed få den logik på plads, der var behov for.
Jeg trak funktionen "Skriv til tekstfil" ind og skabte nye korrekte filer med cirka 10.000 linjer i hver fil.
Desværre havde jeg overset at tage stilling til tegnformateringen, som skulle have været UTF-8.
I stedet for at køre robotten igen, synes jeg det var sjovere at lave en ny robot, der åbnede hver ny fil i Notepad og gemte den igen med UTF-8 formatering. Det tog cirka fem minutter at lave denne nye Notepad-robot, og det var altså hurtigere end at køre den oprindelige robot igen med korrekt formatering.
Tiden er den vigtigste
Her kommer vi så til en af de allervigtigste faktorer ved anvendelse af softwarerobotter: Tid.
Hvor lang tid vil det tage at lave og køre en robot kontra i forhold til at køre arbejdet manuelt.
De førnævnte eksempler sparede mig uden tvivl for mange timers manuelt arbejde.
Opgaven med mine private familiebilleder vil jeg ikke rigtig gøre op i kroner og ører. Men jeg havde nok aldrig fået uploadet alle de billeder, hvis jeg skulle have gjort det manuelt.
Men opgaven med mit regneark og konvertering til mindre tekstfiler sparede mig uden tvivl for adskillige timers arbejde, så pengene for en professionel licens var faktisk allerede tjent ind på denne ene opgave.
En standardlicens koster kun 249 dollars, og en professionel licens står til 485 dollars.
Man kan se alle features og forskelle på de to licenser her
Den mest fremtrædende forskel for mig er, at man med en professionel licens kan kompilere sine "robotter" til en EXE-fil, der kan afvikles hvor end, man måtte ønske det.
For eksempel vil man kunne bygge små robotter, der udfører trivielle opgaver i it-afdelingen, kompilere robotten til en programfil og distribuere den ud til resten af virksomheden eller køre den som en planlagt opgave.
Har man først programmet, er der ingen begrænsning for, hvor mange robotter man kan designe og anvende. Så businesscasen for at investere 249 eller 485 dollars er både nem og rigtig god.
Mange opgaver kan nemt automatiseres
Det, jeg har opdaget, er, at utrolig mange opgaver nemt kan automatiseres, og at den svære del i starten er at tænke "kan dette mon automatiseres" - det er bare ikke en naturlig del af mit mindset endnu, og jeg arbejder endda med det.
Men får man først forståelse for mulighederne med programmet og styr på alle de forskellige indbyggede funktioner, vil man hurtigt begynde at tænke "automatisering" og få en god fornemmelse af, om noget kan svare sig tidsmæssigt, og om det kan lade sig gøre. Muligheder er der i hvert fald nok af.
Af helt oplagte opgaver til softwarerobotter vil jeg nævne,
- Indtastning af data i andre systemer (både Windows og Web)
- Udtræk af data fra websites og andre løsninger
- Migrering af data
- Manipulation af filer - for eksempel regneark, tekstfiler, XML-filer
- Systemovervågning og services
- FTP-handlinger
- Database-handlinger
- E-mail-håndtering
- Start/stop af programmer (også kommandolinje-applikationer)
Og selvfølgelig det hele i en stor skøn kombination.
Når robotterne er klar, skal de jo også bruge.
De kan selvfølgelig startes manuelt, men det kan også ske via en indbygget "scheduler" eller "trigger".
En trigger er en bestemt hændelse, der får robotten til at starte af sig selv. En trigger kan være en hændelse i event-loggen, en ny fil på harddisken, ledig tid på computeren, en hotkey, resultatet af et ping eller en service, der starter eller stopper.
Det kan også være modtagelsen af en e-mail med et bestemt emne, en bestemt afsender eller modtager eller bestemte ord i mailens indhold.
Forestil dig, at en bruger skriver en mail til økonomiafdelingen for at få nogle bestemte rapporter fra økonomisystemet. Tænk hvis en robot selv kunne overvåge e-mailen, genkende anmodningen om en rapport, selv logge ind i økonomisystemet, lave tre forskellige udtræk til tre regneark, selv åbne alle regneark og samle data i et fjerde regneark, selv generere den ønskede rapport og selv sende resultatet tilbage til brugeren - på få minutter, og uden at en person skulle bruge tid på det. Ville det ikke være cool?
Ovenstående er faktisk en virkelig arbejdsgang fra en statslig virksomhed, som er blevet overtaget af en software-robot.
Bliv en digital superhelt
Hvis du også vil være virksomhedens digitale superhelt, så prøv at tage en tur rundt i virksomheden og spørg, om nogen har nogle opgaver, de godt kunne tænke sig at slippe for.
Undersøg så, om disse opgaver kan automatiseres. Jeg er sikker på, du vil finde mange, og at du blive alles nye bedste ven eller superhelt.
Til sidst skal det nævnes, at man ikke skal være programmør for at lave en softwarerobot, men at det klart hjælper at have forståelse for betingelser, løkker og programflow.
Det skal også nævnes, at jeg ikke har nogen forretningsmæssige interesser i hverken WinAutomation eller producenten. Jeg er simpelthen bare en stor fan
God arbejdslyst.
Klummer er læsernes platform på Computerworld til at fortælle de bedste historier, og samtidig er det vores meget populære og meget læste forum for videndeling.
Har du en god historie eller har du specialviden, som du synes trænger til at blive delt?
Læs vores klumme-guidelines og send os noget tekst, så kontakter vi dig - måske bliver du en del af vores hurtigt voksende korps af klummeskribenter.