Särskilt i IT-världen ska allting vara smidigt idag, till och med traditionella affärssystem. Företagens IT-avdelningar hamnar lätt i kläm mellan affärsverksamheten och IT-leverantören, när affärsverksamheten vill ha snabba förändringar och smidig utveckling, medan ERP-systemet är som ett stort hjul som snurrar långsamt efter uppdateringscykler.
En grundläggande orsak till långsamheten är att ERP under åren har byggts upp som en kundspecifik monolit som är svår att förändra. Livscykeln för en ERP-lösning är minst tio år, och därför styrs många företag ännu länge på de nuvarande systemens villkor. Någon gång kommer systemen dock att uppdateras, och då är det ett bra tillfälle att göra saker på ett nytt sätt.
Moderna affärssystem är standardiserade molnprodukter eller åtminstone väl produktifierade programvaror. Införande av tillämpningsprogram är inte egentlig programutveckling, och därför kan metoder för agil systemutveckling inte tillämpas direkt på det.
Jag har med stort intresse undersökt hur agila metoder för programvaruutveckling kan utnyttjas för affärssystem och tillämpningsprogram. Nedan tar jag upp några principer som kan användas.
1. Flexibel definition
Ett tillämpningsprogram är FÄRDIGT, och det finns begränsningar i användningssätten som man ska följa. I stället för att beskriva företagets nuvarande processer i detalj lönar det sig att fokusera på att kunskapsutbyte under införandet. Kundens förståelse för affärsverksamheten och leverantörens förståelse för systemet måste kombineras. Det bästa sättet är att gå igenom kundens affärsfunktioner mot systemet och beskriva användarberättelserna.
2. Ett nära samarbete och direkt diskussion i stället för indirekt kommunikation
Ett fast projektteam och rak diskussion mellan olika parter minskar avsevärt risken för missförstånd och förbättrar projektkvaliteten. Samarbete och kontinuerlig interaktion kan ökas bland annat med ett gemensamt projektutrymme och dagliga genomgångar.
3. Användar- och rollbaserad planering
Arvsynden för projekt för färdiga programvaror har varit att de i alltför hög grad skräddarsys för kunden och att systemen därför blir alltför tunga att administrera senare. Numera ses skräddarsydda system genomgående som något dåligt. Det gäller dock att förstå skillnaden mellan bra och dåligt skräddarsydda system. Till exempel kan användargränssnitten i moderna ERP-system anpassas utan att processerna i bakgrunden ändras.
4. Iterativ utveckling och kontinuerlig testning
Traditionellt har leveransprojekten varit alltför långa, vilket har lett till att världen förändrats och systemet är gammalt eller felaktigt redan när det lanseras. Införandet ska bestå av korta iterationsfaser. Till en början kan man skapa integrerade basprocesser eller s.k. skelettmodeller som senare utvidgas med hjälp av iterationer. Iterationsprodukterna testas stegvis när de väl är färdiga.
5. Tidiga publiceringar
Då och då får man höra att det inte är möjligt att införa ett system stegvis. Ofta skulle detta dock lyckas genom att skapa tillfälliga integrationer mellan det gamla och det nya systemet eller genom att överföra data manuellt. I stället för att betrakta detta som en kostnad borde detta ses som en försäkringspremie som möjliggör ett tidigare ibruktagande med lägre risk.
Vid leverans av affärssystem kan alltså agila metoder tillämpas. Förändringarna i arbetssättet är inte nödvändigtvis stora, medan deras betydelse för projektet kan vara det. Den största utmaningen för förändring är traditionella arbetsmodeller i ERP-projekt och att avlära dem.