Naar inhoud springen
Van Oosten Advies B.V.

Automatisering

Terugkerende taken automatiseren met scripts

Elke maand hetzelfde rondje: een export uit het ene systeem, een bewerking in een spreadsheet, een bestand naar de juiste map, een mail met de cijfers erbij. Een paar uur werk, het gaat bijna altijd goed, en het staat op naam van één persoon die ook wel eens ziek is. Niemand noemt het een probleem, tot het een keer misgaat.

Dit is de kleinste opdrachtvorm op deze site, en dat is een beschrijving, geen bescheidenheid. Een terugkerende beheertaak automatiseren is werk van een dag of twee: uitzoeken wat er precies gebeurt, dat vastleggen in een script, het ergens laten draaien, en zorgen dat u het hoort op de dag dat het niet lukt. Geen platform, geen implementatietraject. Wel iets dat u daarna zelf kunt lezen en aanpassen.

Wanneer is een taak het scripten waard?

Niet elke handmatige handeling verdient een script. Een taak wordt interessant zodra hij zich herhaalt, vaste regels volgt, en fout kan gaan zonder dat iemand het merkt.

  • Iemand draait elke maand dezelfde export, plakt hem in een sjabloon en stuurt hem door. Altijd dezelfde stappen, altijd dezelfde persoon.
  • Twee systemen horen dezelfde cijfers te tonen en iemand vergelijkt ze met de hand tot ze kloppen.
  • Bestanden van een leverancier of klant moeten worden opgehaald, hernoemd, gecontroleerd en op de juiste plek gezet.
  • Er is een controle die dagelijks zou moeten gebeuren, maar die alleen plaatsvindt als iemand eraan denkt.
  • De handeling moet buiten kantoortijd of in het weekend, en daar blijft nu iemand voor opzitten.
  • De taak zit bij één persoon, en niemand anders weet precies hoe het moet.

Wat de opdracht omvat

Het script schrijven is het kleinste deel van het werk. Het meeste zit in de vraag wat er precies gebeurt, en wat er moet gebeuren als het misgaat.

  • De taak uitschrijven zoals hij werkelijk gaat, inclusief de uitzonderingen die alleen in het hoofd van de uitvoerder zitten.
  • Toetsen of scripten hier het juiste antwoord is. Soms is een taak beter op te lossen door hem af te schaffen, of met een instelling in een systeem dat u al heeft.
  • Het script zelf: leesbaar, geschreven in wat er bij u al draait, zonder afhankelijkheden die niemand kan onderhouden.
  • Foutafhandeling: een leeg bestand, een systeem dat niet antwoordt, twee keer draaien op dezelfde dag. Stoppen met een melding is beter dan doorgaan met een half resultaat.
  • Logging en signalering: elke draai laat een spoor na, en een fout komt terecht bij iemand die erop kan reageren.
  • Inplannen, draaien en overdragen: waar het staat, wat het start, onder welk account, en één pagina die uitlegt wat u doet als het klaagt.

Wat u krijgt

Geen black box en geen abonnement. U krijgt het werkende script plus alles wat nodig is om het zonder mij te blijven draaien.

  • Het script in uw eigen omgeving of repository, broncode erbij, niet als afgeschermde dienst.
  • Een beschrijving van één pagina: wat het doet, wat het nodig heeft, hoe u het handmatig start, waar de logs staan.
  • Signalering die uitkomt bij iemand van u, niet bij mij.
  • Een overdracht van een half uur met degene die het gaat beheren, zodat er iemand is die het heeft zien draaien.
  • De vrijheid om het zelf of door een ander te laten aanpassen. Er zit niets in dat mij nodig heeft.

Wat het niet is

  • Geen applicatie. Zodra er schermen, gebruikers, rechten en een database bij komen, houdt scripten op en begint softwareontwikkeling. Dan zeg ik dat, en dan is het een andere opdracht.
  • Geen automatiseringsplatform dat ik u aanpraat. Ik verkoop geen licenties en heb geen voorkeur waar ik zelf iets aan verdien.
  • Geen beheercontract. Ik houd uw scripts niet permanent in de gaten; dat doet de signalering, en uw eigen mensen reageren erop.
  • Geen dekmantel voor een proces dat eerst opgeruimd moet worden. Een rommelige taak automatiseren levert een rommelig resultaat op, alleen sneller.

Veelgestelde vragen

Hoe bepaal ik of een taak het automatiseren waard is?

Frequentie maal duur is het beginpunt: tien minuten per dag weegt zwaarder dan een dag per jaar. Maar tijd is niet de enige maat. Een taak die stil fout kan gaan, of die maar één iemand kan uitvoeren, is ook een goede kandidaat. Kost het uitzoeken en vastleggen van de regels meer dan het script ooit terugverdient, dan zeg ik dat liever vooraf.

In welke taal of met welk gereedschap bouwt u dat?

Wat past bij wat er bij u al draait en bij wie het straks beheert. Is er al een scripttaal in gebruik, dan gebruik ik die. Betaalt u al voor een planner of een automatiseringsomgeving, dan hangen we het daaraan. De keuze volgt uit uw omgeving, niet uit mijn voorkeur. Belangrijker dan de taal is dat iemand bij u de code kan lezen.

Hoe weet ik over een jaar nog dat het draait?

Dat is het echte risico van kleine automatisering: het script valt stil en niemand merkt het, omdat succes net zo onzichtbaar was als falen. Daarom hoort bij elk script een sluitende signalering. Bij een fout gaat er een bericht naar een adres dat gelezen wordt, en bij het uitblijven van een draai ook. Stilte is geen bewijs dat het goed ging.

Wat kost zoiets?

Dit is de kortste opdrachtvorm die ik aanbied: één of twee dagen, op nacalculatie, of tegen een vaste prijs als de taak scherp genoeg te omschrijven is. Wat de omvang bepaalt: het aantal uitzonderingen in de taak, of ik de betrokken systemen fatsoenlijk kan benaderen, en of de regels ergens vastliggen of alleen in iemands hoofd zitten. Een tarief noem ik in het eerste gesprek.

Wanneer is een script niet meer genoeg?

Zodra meerdere mensen er iets in moeten invoeren, er rechten en rollen nodig zijn, of er een scherm omheen moet. Een script dat langzaam uitgroeit tot een applicatie is een script dat niemand meer durft aan te raken. Dan is het eerlijker om een echte web- of mobiele applicatie te ontwerpen. Dat werk doe ik ook, maar het is een andere opdracht en die afweging maakt u.

Een taak die elke maand terugkomt?

Schets kort wat er nu met de hand gebeurt en hoe vaak. Ik zeg eerlijk of het het scripten waard is, of dat u er beter iets anders mee kunt doen.