Skip to main content

Om du ber IT-proffs beskriva sina företags strategier för modernisering av applikationer kommer du sannolikt att få höra svar som kretsar kring teknik.

De kanske berättar hur de migrerar lokala applikationer till molnet, flyttar applikationer som redan finns i molnet till nya typer av molntjänster eller omstrukturerar sina applikationer så att de körs som mikrotjänster.

Med andra ord tänker många på teknisk förändring när de tänker på modernisering av applikationer.

Continue Reading for Free

Create a free account to finish this article, plus get ongoing access to timely insights and practical resources.

Jag vill hävda att detta är fel angreppssätt för modernisering av applikationer. I stället för att modernisera teknik behöver företag egentligen modernisera sina processer för applikationsutveckling och distribution.

Låt mig förklara genom att diskutera varför organisationer bör sträva efter ett processorienterat angreppssätt för modernisering av applikationer, tillsammans med praktiska råd om hur processerna för applikationsleverans kan moderniseras.

Modernisering av applikationer: En berättelse utan slut

Ett teknikcentrerat angreppssätt för modernisering av applikationer räcker helt enkelt inte, eftersom tekniken ständigt förändras. De tekniska innovationer som gör din applikation "modern" idag kan få den att se ut som en äldre applikation om ett, tre eller tio år.

När modernisering av applikationer till exempel blev ett modeord för ungefär ett decennium sedan stod molntekniker som infrastruktur som tjänst (IaaS) i centrum för många strategier för modernisering av applikationer. På den tiden var IaaS en stor sak för många organisationer som tidigare hade driftat arbetslaster lokalt. För dem var möjligheten att köra applikationer på infrastruktur som hanteras av någon annan och endast betala för de resurser som arbetslasterna förbrukar revolutionerande.

Idag känns IaaS förstås mycket mindre omvälvande. Det är fortfarande värdefullt, men har blivit så vanligt att det inte längre står i centrum för samtalet om modernisering av applikationer. I stället talar man idag ofta om nyare typer av teknik och tekniska koncept, som containrar och serverlösa funktioner.

Det innebär att om din strategi för modernisering av applikationer fokuserar på att uppdatera applikationerna för att dra nytta av den senaste och bästa tekniken (vad det än råkar vara när du lanserar initiativet), kommer applikationen förr eller senare att upphöra att vara innovativ. Den kommer inte heller att vara särskilt bra på att ge ditt företag den största konkurrensfördelen. Och i många fall kommer du inte att dra nytta av de senaste säkerhetsskydden, som är avgörande för att ligga steget före nya hot.

Ett bättre angreppssätt för modernisering av applikationer är att fokusera på att modernisera processerna. Trots omfattande förändringar inom teknik för applikationsdistribution under det senaste eller de senaste två decennierna har de utvecklingsprocesser som bäst främjar innovation och effektivitet inom programvara – som de sammanhängande koncepten och metoderna agilt arbetssätt, Kontinuerlig integration/Kontinuerlig leverans (CI/CD) och DevOps – förblivit mer eller mindre desamma.

Därför bör varje företags verkliga fokus vara att modernisera processerna för applikationsleverans för att dra nytta av de mest innovativa metoderna. När processerna är moderna följer förmågan att utnyttja modern teknik och snabbt uppdatera applikationer för att dra nytta av ny teknik naturligt.

Så förbättrar du processen för modernisering av applikationer

Utmaningen för många företag är förstås att faktiskt modernisera processen för programvaruleverans på sätt som gör förändringar snabbare, enklare och säkrare. Vilka specifika processer bör de ändra, och hur kan de övervinna de hinder som de sannolikt kommer att stöta på längs vägen?

För att besvara dessa frågor går vi igenom några taktiker för processmodernisering som kan bidra till att förändra hur företag "arbetar" med programvara, oavsett vilken teknik de använder.

Get regular tech leadership wisdom for delivering better software and systems.

1. Hitta problematiska processer genom värdeflödesanalys

Det första steget i processmodernisering är att fastställa vilka processer som har störst behov av förändring. För att få denna insikt behövs en värdeflödesanalys. Värdeflödesanalys ger insikt i de uppgifter som utförs inom programvaruleveransen och hur lång tid varje uppgift tar – ungefär på samma sätt som en genomgång av en budget hjälper team att hitta sätt att förbättra det ekonomiska resultatet genom att först ta itu med de största budgetposterna.

När du genomför en värdeflödesanalys av programvaruleveransen får du veta vilka delar av applikationsutvecklingsprocessen som tar längst tid eller kräver störst manuella insats, samt vilka delar av infrastrukturhanteringen som är mest benägna att orsaka fel.

Även om nästan alla dina processer sannolikt skulle kunna förbättras i någon utsträckning hjälper värdeflödesanalysen dig att fokusera på de processer som har störst potential för förbättring. Den hjälper dig också att identifiera onödiga uppgifter eller steg som du kan ta bort för att göra distributionsprocessen enklare, snabbare och mindre riskfylld.

2. Mät programvaruleveransen

Att analysera metoder för programvaruleverans är mest effektivt när du systematiskt och kvantitativt följer upp dina processer. Du kan göra detta med hjälp av ramverk som Googles DORA-mätvärden, som mäter effektiviteten i befintliga processer för programvaruutveckling och driftsättning.

Ett mätvärdesbaserat arbetssätt gör det möjligt att följa upp resultaten av programvaruleveranser på ett exakt sätt. Därmed hjälper det företag att noggrant bedöma hur stora förbättringar (eller bristen på sådana) de uppnår efter förändringar i sina processer för programvaruleverans.

3. Förklara krig mot manuella processer

Om din organisation liknar de flesta andra kommer din värdeflödesanalys att identifiera ett stort antal processer som dina team fortfarande utför manuellt. Att automatisera dessa där det är möjligt bör vara en prioritet. Automatisering sparar tid, minskar risken för fel och möjliggör säkrare driftsättningar.

I de flesta fall är manuella processer motsatsen till modernisering av appar av två skäl. Det ena är att de gör arbetet långsammare och skapar ineffektivitet. Det andra är att manuella åtgärder tenderar att öka risken för fel, eftersom det finns en risk att en människa förbiser något viktigt eller gör ett misstag när en konfiguration tillämpas, vilket kan öppna dörren för ett dataintrång.

4. Refaktorera hanteringsprocesser och rutiner

På samma sätt som du kan refaktorera en monolitisk applikation genom att omdefiniera dess arkitektur kan du omdefiniera dina hanteringsprocesser och rutiner – till exempel ditt arbetssätt för applikationsutveckling och systemadministration.

I många fall kräver en ökning av hastigheten för applikationsdriftsättningar samt införandet av kontinuerlig driftsättning och leverans att processerna för hantering av programvaruändringar skrivs om, eftersom äldre arbetssätt, som de som förknippas med vattenfallsmodellen, inte kan skalas. De kan inte hålla jämna steg med takten i kontinuerliga leveranspipelines, där ny kod skickas till produktion flera gånger i veckan eller ibland ännu oftare.

Processer som är långsamma och manuella bör ersättas med automatiserade processer i så stor utsträckning som möjligt. Programvarutester kan till exempel automatiseras för att spara tid och förbättra kvaliteten (eftersom manuella godkännanden alltför ofta bara godkänns rutinmässigt, vilket innebär att de gör testprocessen långsammare utan att tillföra något värde). Dessutom kan processer som är alltför komplexa eventuellt delas upp i mindre och enklare rutiner.

5. Ändra ditt synsätt på processer

Utöver att ändra själva processerna bör modernisering av appar också innebära att organisationer ändrar sitt sätt att tänka kring processer i allmänhet. Med detta menar jag att utvecklare, IT-administratörer och chefer ska uppmuntras att använda automatisering som standard när processer implementeras.

Detta kan verka onödigt eftersom många IT-specialister i dag talar om vikten av automatisering. Men när det gäller att faktiskt implementera processer tenderar de att föredra manuella metoder eftersom de till en början är snabbare och enklare att införa. För att möjliggöra långsiktigt framgångsrik modernisering av appar behöver du få dina team att se automatisering som ett sätt att spara tid och arbete samt minska riskerna på lång sikt, även om det innebär mer arbete i början.

Övervinna utmaningar vid modernisering av appar

När företag genomför de processförändringar jag just har beskrivit stöter de ofta på följande problem:

  • Motstånd mot förändring: Om manuella eller ineffektiva processer har funnits i årtionden och verksamheten har fortsatt att fungera kan vissa ifrågasätta värdet av att förändra saker.
  • Brist på resurser: Att genomföra omfattande förändringar av processer kräver tid och arbete. IT-avdelningar som redan är överbelastade kan vara tveksamma till att avsätta resurser för processförändringar.
  • Brist på ledarskap: Utan chefer eller ledare som vägleder moderniseringen av processerna kan initiativ tappa fart.

Dessa utmaningar är till viss del oundvikliga. Men de går också att lösa. En del av lösningen är att börja i liten skala; i stället för att förändra alla processer över en natt kan du välja ut några få och sedan skala upp därifrån. Det är också en god praxis att börja med endast ett eller två team.

När du har fastställt var du ska börja bör du se till att mäta programvaruleveransen med hjälp av mätvärden, genomföra en värdeflödesanalys för att fastställa var du kan förbättra och sedan genomföra förändringarna. När du har förbättrat effektiviteten hos de första teamen kan medlemmar i dessa team bredda arbetet och hjälpa andra att införa liknande processer och synsätt.

Företag bör också utse ledare som ansvarar för att övervaka moderniseringsinitiativ och delegera ansvaret för vissa delar av processen till personal med nödvändiga kunskaper. Ett annat alternativ är att lägga ut detta arbete på ett företag för utveckling av mobilappar eller ett företag för utveckling av iPad-appar.

Ett modernt tillvägagångssätt för appmodernisering

Framgången för alla projekt för appmodernisering beror i slutändan inte bara på vilka tekniker ni väljer att implementera, utan också på hur ni implementerar dem. Så länge företag inte moderniserar processerna för att bygga och uppdatera programvara kommer de alltid att ligga efter utvecklingen.

Med effektiva, tillförlitliga och säkra processer på plats kan organisationer däremot modernisera sina appar genom att dra nytta av de senaste tekniska innovationerna när nya tekniska möjligheter uppstår.

Prenumerera på The CTO Clubs nyhetsbrev för fler tips, knep och verktyg för appmodernisering.