Vad är Dev/Ops? - eller hur jag fick billigare mat från Willys

Willys-butik

Vad är Dev/Ops?

När jag berättar vad Astecon gör för våra kunder brukar jag säga att vi jobbar med mjukvaruutveckling i allmänhet och Dev/Ops i synnerhet. Ofta får jag då frågan om vad Dev/Ops egentligen betyder.

Det kortfattade svaret på den frågan är att det är utveckling av alla de stödsystem och rutiner som gör utveckling av mjukvara effektivare. Det handlar om att automatisera processer och göra dem enklare och effektivare. Det kan handla om något så enkelt som en checklista man följer vid vissa moment eller något så komplext som en uppsättning servrar som sköter hela CI/CD-flödet för ett globalt företag. När Dev/Ops är som bäst kan utvecklarna fokusera på att koda och allt det där administrativa runt om sköter sig själv. Alla rutinuppgifter löser sig själva automatiskt och utvecklarna kan lägga sin tid på de mer utmanande, och roligare, arbetsuppgifterna.

Irriterande rutinuppgifter

Låt mig ta ett exempel från vardagen, Vi kan väl kalla det Pur/Ops eftersom det handlar om Purchasing/Operations istället för Development/Operations.

Jag brukar beställa varor på nätet från https://willys.se. De är både billiga och ligger nära pendelstationen där både jag och min fru tar tåget. Eftersom jag är ekonomisk (vissa säger snål!) vill jag ofta sortera varorna utifrån bästa jämförpris.

Willys jämförpris

Det trista är att Willys sida inte kommer ihåg detta. Alternativt glömmer den aktivt av det för att sälja dyrare varor till mig. Varje gång jag klickar på ett sortiment (Grönsaker, Pålägg etc) eller söker efter en vara visas träffarna sorterat på popularitet istället för jämförpris. Om det är varor som är populära hos kunderna eller aktieägarna är oklart. Varje gång klickar jag på "Jämförpris (Billigast - Dyrast)" för att se de billigaste varorna överst.

Här har vi identifierat en återkommande uppgift som är ren rutin. Den är dessutom digital vilket öppnar goda möjligheter för att automatisera den.

En sömlös lösning

Häromdagen störde jag mig på detta, en gång för mycket, och försökte hitta ett sätt att alltid få varorna sorterade efter billigast först. För att göra en lång historia kort så installerade jag ett plugin till Chrome, Requestly som låter mig automatiskt modifiera alla anrop till en webb-sida. Jag lade till ett par regler som såg till att jag alltid sorterar varorna på jämförpris. Detta sker automatiskt, i bakgrunden, och jag märker inte ens att det sker.

Jag noterade att jag kunde lägga till en parameter i ett par querys till sidan. För att få det att fungera fullt ut var jag även tvungen att plocka bort en parameter som egentligen var till för att undvika att cachade versioner av sidan användes. Jag automatiserade det hela genom att lägga till ett par regler i Requestly, som modifierade parametrarna så som jag vill ha dem.

Det är precis det här som Dev/Ops handlar om. Genom att investera en timme, (två om man räknar in skrivandet av detta inlägget), sparar jag ett par klick varje gång jag söker efter varor på Willys. Dessutom ökar chansen att jag väljer billigare varor och på sikt sparar jag både tid och pengar. Det blir enkelt att göra rätt och svårare att göra fel.

Och nu rullar cashen in?

Detta exemplet sätter dessutom fingret på ytterligare en aspekt av Dev/Ops. Arbetet ovan var definitivt inte värt pengarna och tiden det sparade, eftersom det bara är jag som använder det. För att Dev/Ops skall vara lönsamt och meningsfullt bör det användas av flera användare och rullas ut i hela organisationen, helst helt automatiserat. I det här specifika fallet skulle det ta ett löjligt stort antal inköp på Willys innan det sparat in tiden det tog att ta fram verktyget.

Som tur är så tyckte jag att det var roligt och lärde mig dessutom en del på vägen. Så personligen räknar jag mitt mini-projekt som en succé ändå. Min fru var dock inte lika imponerad. Hon hade en ganska lång lista över saker hon tyckte jag kunde ha gjort istället. Och här har vi en tredje viktig lärdom om Dev/Ops. Det måste alltid anpassas till organisationen och användarna. Verktyg som är vitala i en organisation är bortkastade i en annan.

Testa själv

Om du vill testa micro-Dev/Ops enligt ovan i praktiken kan du installera mitt Willys-hack i din egen Chrome Browser:

Disclaimer: Requestly är ett plugin som kommer åt all din webtrafik i Chrome. Att installera det kan potentiellt vara ett säkerhetsproblem. Av säkerhetsskäl använder jag alltid olika profiler i Chrome för att skilja på känsliga uppgifter i jobbet och privat. Det borde du också göra. Kolla in https://shakeuplearning.com/blog/youre-doing-it-wrong-how-to-manage-multiple-google-accounts/för tips om hur man kan sätta upp olika profiler för arbete och fritid och som en bonus få ett smidigt sätt att hålla koll på olika Google-konton.