Development

Dit is een bijdrage van Mendix
Software-ontwikkeling
software-ontwikkeling agile maken tips

Hier moet je je op richten als je software-ontwikkeling 100% agile wil maken

Hoe bepaal je waar te beginnen en welke verandering de meeste impact heeft?

27 augustus 2019
Door: Mendix, partner

Hoe bepaal je waar te beginnen en welke verandering de meeste impact heeft?

Een paar jaar geleden probeerde iedereen agile of scrum-methoden toe te passen. Nu is de nieuwste trend voor organisaties om een ​​CICD of DevOps-strategie te gebruiken. Elke organisatie probeert continu de snelheid en werkwijze te verbeteren en het is waarschijnlijk dat er altijd manieren zullen zijn om beter en sneller te worden in wat we doen. Maar hoe bepaal je waar te beginnen en welke verandering de meeste impact heeft?

De eenvoudigste manier om de organisatorische flexibiliteit te bepalen, is door te kijken naar de software-ontwikkelingscyclus. Er zijn een paar variaties op de terminologie en het aantal stappen dat je daarbij zou moeten nemen. Deze blog is geen weergave van de perfecte stappen in de levenscyclus van software, omdat je dezelfde strategie gemakkelijk kunt toepassen op een andere variatie van de cyclus. Het punt is dat een agile of lean-methode van invloed is op specifieke activiteiten in het ontwikkelproces, maar de fasen blijven hetzelfde. 

 

Als je kijkt naar waar in de cyclus een agile-methode de meeste impact heeft, blijft dit meestal beperkt tot planning (1), analyse (2) en enigszins tijdens de ontwikkeling (4). Maar software-ontwikkeling kent nog drie fasen. Na de ontwikkelingsfase keren organisaties vaak terug naar hun (meestal handmatige) beheer en verliezen daarmee alle snelheid en flexibiliteit. We weten dat de methodiek de flexibiliteit van planning (1) en analyse (2) kan verbeteren, wat kunnen we nu doen om de resterende fasen te optimaliseren?

Zijn CICD en DevOps de oplossingen om een ​​agile organisatie te worden?

De nieuwste markttrend is dat organisaties CICD en DevOps gaan gebruiken, maar dit alleen maakt een organisatie nog niet flexibel. Agile worden in alle fasen van software-ontwikkeling vereist meer dan alleen het eigen maken van agile, CICD en DevOps. Elke fase heeft een ander doel. Om dat doel te bereiken, moeten we ons op verschillende gebieden richten. Wanneer we de fasen van de Software Development Cycle nauwkeurig bekijken, kunnen we vijf kerngebieden vaststellen. Deze vijf maken snelheid en wendbaarheid mogelijk: methodologie, architectuur, automatisering, infrastructuur en technologie.

Organisatorische agility

Met behulp van de vijf kerngebieden, kun je identificeren welke gebieden jouw organisatie moet verbeteren. Begin met vaststellen hoe wendbaar jouw organisatie is geworden op elk van deze gebieden. Het is belangrijk om dit eerlijk te evalueren. Is de organisatie echt klaar om tegemoet te komen aan de veranderende bedrijfsbehoeften? Tegelijkertijd geldt: als het bedrijf op dit moment minder volwassen is op een specifiek gebied, betekent dit alleen maar dat er meer kansen zijn om te verbeteren. 

Hieronder gaan we dieper in op de aandachtspunten voor de vijf afzonderlijke gebieden:

1) Methodologie

Op dit gebied moet de samenwerking tussen business en IT worden verbeterd. Hiermee wordt sneller duidelijk wat er nodig is, wat weer zorgt voor een snellere time-to-value.

Door snelle aanpassingen aan veranderende bedrijfsbehoeften mogelijk te maken, verbetert de snelheid en behendigheid tijdens planning (1), analyse (2) en implementatie (4).

2) Architectuur

Ontwerp oplossingen met behulp van de principes van een component-gebaseerde of microservices architectuur om autonome en onafhankelijke systemen te creëren die flexibiliteit mogelijk maken. Dit gebied heeft de meeste impact tijdens het design (3). Je profiteert ook van de voordelen tijdens de implementatie- (4) en beheerfase (6).

3) Automatisering

Handmatig werken kan tijdrovend en foutgevoelig zijn. Start met bijhouden van de tijd die besteed wordt aan alle handmatige taken en blijf continu het meest tijdrovende werk automatiseren. Automatisering vermindert risico en verbetert de snelheid tijdens het testen en integreren (5).

4) Infrastructuur

Flexibiliteit in infrastructuur is een must om de voortdurende verandering bij te houden. Wachtdagen voor een server zouden tot het verleden moeten behoren. IaaS-providers zorgen al voor onmiddellijke provisioning van servers. De volgende stap is containerisatie die, in combinatie met automatisering, kan leiden tot sell-service en volledig geautomatiseerde provisioning, zodat beheerders de ruimte krijgen om zich te richten op verdere optimalisatie. Dit heeft een positief effect op de snelheid tijdens testen en integratie (5) en onderhoud (6).

5) Technologie

Uiteindelijk is het de technologie die de organisatie flexibel maakt. Voor het beste resultaat moet technologie afgestemd zijn op de uit te voeren opdracht. Kijk tijdens het benoemen van de aandachtsgebieden naar de onderliggende bedrijfsdoelen, en kies technologie die helpt om die doelen met de minste inspanning te bereiken.

Doe onderzoek en gebruik een combinatie van technologieën die je samen kunnen ondersteunen in het streven om een ​​volledige agile organisatie te worden. Kies technologieën die open zijn en gemakkelijk agility kunnen vergroten, maar die ook met het bedrijf mee kunnen groeien. 

Mate van agility en focus 

Als je goed kijkt naar de agility op de vijf belangrijkste gebieden, hoe ver ben je dan gekomen in het nastreven van een agile bedrijf? Wat zou de volgende grote stap zijn om wendbaarder te worden? De focus op elk van deze gebieden kan variëren, afhankelijk van de strategische focus van jouw organisatie. Meestal is het het beste om je te concentreren op het gebied dat het minst volwassen is.

 

 

Als je bijvoorbeeld al bekwaam bent in Scrum, een solide SOA-architectuur hebt en langzaam overgaat op een microservices architectuur, ben je al op de goede weg naar agility. Maar wanneer een organisatie nog steeds de eigen hardware host en het een paar dagen duurt om een ​​virtuele machine te leveren, verliest deze veel van de organisatorische flexibiliteit. Probeer in dat geval eerst te concentreren op het gebruik van een cloudplatform of de nieuwste containerarchitectuur.

 

Reactie toevoegen