Als je IT-professionals vraagt om de strategieën van hun bedrijven voor applicatiemodernisering te beschrijven, zul je waarschijnlijk antwoorden horen die de nadruk leggen op technologie.
Ze kunnen je vertellen hoe ze on-premises-applicaties naar de cloud migreren, applicaties die al in de cloud draaien verplaatsen naar nieuwe typen cloudservices, of hun applicaties herstructureren om als microservices te draaien.
Met andere woorden: wanneer veel mensen nadenken over applicatiemodernisering, denken ze in termen van technologische verandering.
Ik ben hier om je te vertellen dat dit de verkeerde aanpak voor applicatiemodernisering is. In plaats van technologieën te moderniseren, moeten bedrijven in werkelijkheid hun processen voor applicatieontwikkeling en -implementatie moderniseren.
Sta me toe dit uit te leggen door te bespreken waarom organisaties moeten streven naar een procesgerichte aanpak van applicatiemodernisering, samen met concrete richtlijnen voor het moderniseren van processen voor applicatielevering.
Applicatiemodernisering: een nooit eindigend verhaal
Een technologiegerichte aanpak van applicatiemodernisering schiet eenvoudigweg tekort omdat technologieën voortdurend veranderen. De technische innovaties die je applicatie vandaag "modern" maken, kunnen ervoor zorgen dat deze er over één, drie of tien jaar uitziet als een verouderde applicatie.
Toen applicatiemodernisering ongeveer tien jaar geleden bijvoorbeeld een modewoord werd, stonden cloudtechnologieën zoals Infrastructure-as-a-Service (IaaS) centraal in veel strategieën voor applicatiemodernisering. Destijds was IaaS een grote ontwikkeling voor veel organisaties die werklasten eerder on-premises hostten. Voor hen was het revolutionair dat ze hun applicaties konden uitvoeren op infrastructuur die door iemand anders werd beheerd en alleen hoefden te betalen voor de resources die hun werklasten verbruikten.
Vandaag de dag voelt IaaS natuurlijk veel minder als een grote ontwikkeling. Het is nog steeds waardevol, maar het is zo gangbaar geworden dat het niet langer centraal staat in het gesprek over applicatiemodernisering. In plaats daarvan praten mensen tegenwoordig vaak over nieuwere typen technologie en technische concepten, zoals containers en serverloze functies.
Dit betekent dat als je strategie voor applicatiemodernisering zich richt op het bijwerken van je applicaties om te profiteren van de nieuwste en beste technologie (wat dat ook mag zijn op het moment dat je het initiatief start), je applicatie vroeg of laat niet langer innovatief zal zijn. Ook zal deze niet uitblinken in het bieden van het belangrijkste concurrentievoordeel aan je bedrijf. En in veel gevallen profiteer je niet van de nieuwste beveiligingsmaatregelen, die essentieel zijn om nieuwe bedreigingen voor te blijven.
Een gezondere aanpak van applicatiemodernisering is gericht op het moderniseren van je processen. Ondanks ingrijpende veranderingen in de technologie voor applicatie-implementatie in de afgelopen tien of twintig jaar, zijn de ontwikkelprocessen die software-innovatie en efficiëntie het beste stimuleren – zoals de onderling verbonden concepten en werkwijzen van agile, Continuous Integration/Continuous Delivery (CI/CD) en DevOps – min of meer hetzelfde gebleven.
Daarom moet de echte focus van elk bedrijf liggen op het moderniseren van de processen voor applicatielevering, zodat het kan profiteren van de meest innovatieve technieken. Wanneer je processen modern zijn, volgt het vermogen om moderne technologie te benutten en applicaties snel bij te werken om gebruik te maken van nieuwe technologie vanzelf.
-
Datadog
Visit WebsiteThis rating combines scores from multiple user review sites to reflect overall customer sentiment about the product.4.5 -
PagerDuty
Visit WebsiteThis rating combines scores from multiple user review sites to reflect overall customer sentiment about the product.4.5 -
GitLab
Visit WebsiteThis rating combines scores from multiple user review sites to reflect overall customer sentiment about the product.4.5
Het proces voor applicatiemodernisering verbeteren
De uitdaging voor veel bedrijven is natuurlijk daadwerkelijk het moderniseren van het softwareleveringsproces op manieren die verandering sneller, eenvoudiger en veiliger maken. Welke specifieke processen moeten ze aanpassen en hoe kunnen ze de obstakels overwinnen die ze onderweg waarschijnlijk tegenkomen?
Om die vragen te beantwoorden, nemen we enkele tactieken voor procesmodernisering door die kunnen helpen de manier waarop bedrijven software "doen" te transformeren, ongeacht welke technologieën ze gebruiken.
1. Vind problematische processen via waardestroomanalyse
De eerste stap bij procesmodernisering is bepalen welke processen het meest aan verandering toe zijn. Om dat inzicht te verkrijgen, is waardestroomanalyse nodig. Waardestroomanalyse biedt inzicht in de taken die plaatsvinden binnen softwarelevering en in hoelang elke taak duurt – vergelijkbaar met hoe het doornemen van een budget teams helpt manieren te vinden om financiële resultaten te verbeteren door eerst de grootste budgetposten aan te pakken.
Wanneer je een waardestroomanalyse van softwarelevering uitvoert, leer je welke onderdelen van het applicatieontwikkelingsproces het langst duren of de meeste handmatige inspanning vereisen, en welke onderdelen van infrastructuurbeheer het meest foutgevoelig zijn.
Hoewel vrijwel al je processen waarschijnlijk tot op zekere hoogte kunnen worden verbeterd, stelt waardestroomanalyse je in staat om je te richten op de processen die het meest geschikt zijn voor verbetering. Het helpt je ook onnodige taken of stappen te identificeren die je kunt elimineren om het implementatieproces eenvoudiger, sneller en minder risicovol te maken.
2. Meet softwarelevering
Het analyseren van softwareleveringspraktijken is het meest effectief wanneer je je processen systematisch en kwantitatief volgt. Je kunt dit doen met frameworks zoals de DORA-metrieken van Google, die de efficiëntie van bestaande softwareontwikkelings- en implementatieprocessen meten.
Een op metrieken gebaseerde aanpak maakt het mogelijk om de resultaten van softwarelevering nauwkeurig te volgen. Daarmee helpt deze aanpak bedrijven precies te beoordelen hoeveel verbetering (of het gebrek daaraan) ze bereiken na wijzigingen in hun softwareleveringsprocessen.
3. Verklaar de oorlog aan handmatige processen
Als je organisatie op de meeste lijkt, zal je waardestroomanalyse een behoorlijk aantal processen aan het licht brengen die je teams nog steeds handmatig uitvoeren. Het automatiseren van deze processen waar dat mogelijk is, moet een prioriteit zijn. Automatisering bespaart tijd, verkleint het risico op fouten en maakt veiligere implementaties mogelijk.
In de meeste gevallen vormen handmatige processen het tegenovergestelde van appmodernisering om twee redenen. Ten eerste vertragen ze processen en veroorzaken ze inefficiëntie. Ten tweede vergroten handmatige handelingen doorgaans het risico op fouten, omdat een medewerker iets belangrijks over het hoofd kan zien of een fout kan maken bij het toepassen van een configuratie, waardoor een beveiligingslek kan ontstaan.
4. Herstructureer beheerprocessen en -procedures
Net zoals je een monolithische applicatie kunt herstructureren door de architectuur ervan opnieuw te definiëren, kun je ook je beheerprocessen en -procedures opnieuw definiëren – zoals je aanpak voor applicatieontwikkeling en systeembeheer.
In veel gevallen vereisen het verhogen van de snelheid van applicatie-implementaties en het invoeren van continue implementatie en levering dat processen voor softwarewijzigingsbeheer opnieuw worden geschreven, omdat traditionele benaderingen, zoals die van watervalmodellen, niet schaalbaar zijn. Ze kunnen het tempo van pipelines voor continue levering niet bijhouden, waarin nieuwe code meerdere keren per week of soms zelfs vaker naar productie wordt gepusht.
Trage en handmatige processen moeten zoveel mogelijk worden vervangen door geautomatiseerde processen. Softwaretests kunnen bijvoorbeeld worden geautomatiseerd om tijd te besparen en de kwaliteit te verbeteren (want al te vaak worden handmatige goedkeuringen zonder echte beoordeling afgetekend, waardoor ze het testproces vertragen zonder waarde toe te voegen). Daarnaast kunnen processen die onnodig complex zijn mogelijk worden opgesplitst in kleinere, eenvoudigere procedures.
5. Verander je kijk op processen
Naast het aanpassen van de processen zelf, moet appmodernisering ook inhouden dat organisaties hun algemene kijk op processen veranderen. Daarmee bedoel ik dat ontwikkelaars, IT-beheerders en managers ertoe moeten worden aangezet om standaard automatisering te gebruiken bij het implementeren van processen.
Dit lijkt misschien onnodig, omdat veel IT-professionals tegenwoordig praten over het belang van automatisering. Wanneer het echter aankomt op het daadwerkelijk implementeren van processen, kiezen ze vaak voor handmatige benaderingen omdat die in eerste instantie sneller en eenvoudiger te implementeren zijn. Om appmodernisering op lange termijn succesvol te maken, moeten je teams automatisering omarmen als een manier om op de lange termijn tijd en moeite te besparen en risico's te verminderen, ook al vergt dit vooraf meer werk.
Uitdagingen bij appmodernisering overwinnen
Tijdens het doorvoeren van de proceswijzigingen die ik zojuist heb beschreven, krijgen bedrijven vaak te maken met problemen zoals de volgende:
- Weerstand tegen verandering: Als handmatige of inefficiënte processen al tientallen jaren bestaan en het bedrijf is blijven draaien, kunnen sommige mensen twijfelen aan de waarde van veranderingen.
- Gebrek aan middelen: Het grondig herzien van processen kost tijd en moeite. IT-afdelingen die al overbelast zijn, kunnen huiverig zijn om middelen vrij te maken voor proceswijzigingen.
- Gebrek aan leiderschap: Zonder leidinggevenden of managers die procesmodernisering aansturen, kunnen initiatieven hun momentum verliezen.
Deze uitdagingen zijn tot op zekere hoogte onvermijdelijk. Maar ze zijn ook oplosbaar. Een deel van de oplossing is om klein te beginnen; in plaats van je processen van de ene op de andere dag volledig te herzien, kies je er slechts een paar en bouw je van daaruit verder. Het is ook een goede werkwijze om met slechts één of twee teams te beginnen.
Nadat je hebt bepaald waar je begint, moet je softwarelevering met behulp van metrieken meten, een waardestroomanalyse uitvoeren om te bepalen waar je verbeteringen kunt aanbrengen en veranderingen doorvoeren. Nadat je de vaardigheden van je eerste teams hebt verbeterd, kunnen leden van die teams hun inzet uitbreiden en anderen helpen vergelijkbare processen en denkwijzen over te nemen.
Bedrijven moeten ook leiders aanwijzen die toezicht houden op moderniseringsinitiatieven en de verantwoordelijkheid voor bepaalde onderdelen van het proces delegeren aan medewerkers met de vereiste vaardigheden. Een andere optie is om dit werk uit te besteden aan een bedrijf voor de ontwikkeling van mobiele apps of een bedrijf voor de ontwikkeling van iPad-apps.
Een moderne aanpak voor appmodernisering
Uiteindelijk hangt het succes van elk appmoderniseringsproject niet alleen af van de technologieën die je kiest om te implementeren, maar ook van de manier waarop je ze implementeert. Zolang bedrijven de processen voor het bouwen en bijwerken van software niet moderniseren, zullen ze altijd achterlopen.
Met efficiënte, betrouwbare en veilige processen kunnen organisaties hun apps echter moderniseren door gebruik te maken van de nieuwste technologische innovaties zodra zich nieuwe technologische mogelijkheden voordoen.
Abonneer je op de nieuwsbrief van The CTO Club voor meer tips, trucs en tools voor appmodernisering.
