Software ontwikkeling: de Eonics werkwijze

werkwijze

Ondanks het feit dat ieder ontwikkel-traject zijn eigen unieke uitdagingen heeft, komen bepaalde gemene delers bij elk project terug. Eonics heeft daarom een aantal standaard werkwijzen en -strategieën ontwikkeld die ervoor zorgen dat we iedere uitdaging van onze opdrachtgevers aan kunnen gaan. In dit artikel gaan we dieper in op de verschillende onderdelen van deze standaard werkwijze.

Teamwork: blended, agile & global

Samenwerking is de eerste pijler van succesvolle software-ontwikkeling.  Dit geldt zowel voor de samenwerking tussen Eonics en de opdrachtgever, als voor de teams die de uiteindelijke software- ontwikkeling uitvoeren. Deze pijler begint al bij het eerste contact met de opdrachtgever over een potentieel project. We beginnen met het helder in kaart  brengen van de huidige situatie van de opdrachtgever, en de pijnpunten daarin. Ongeacht de uitkomst van het project doen we altijd een voorstel waarin we samen met de opdrachtgever en het bestaande team een integrale aanpak neerzetten waarin iedereen naar een gezamenlijk doel toewerkt.

Blended Agile Teams

Uiteraard zal het team per project verschillen maar bij Eonics werken we altijd met één of meerdere Agile/SCRUM teams die werken volgens de DevOps werkwijze. Natuurlijk bepalen we de samenstelling van deze teams zoveel  mogelijk samen met de opdrachtgever. Des te meer een team bestaat uit een gezonde mix van Eonics experts, bestaande specialisten van de opdrachtgever, of andere leveranciers, des te beter. Dit heeft namelijk als gevolg dat er geen “wij-zij” mentaliteit ontstaat maar iedereen gezamenlijk dezelfde doelen nastreeft. Daarnaast ontzorgt dit de opdrachtgever volledig, aangezien het team zelfsturend is. Tegelijkertijd verhoogt de Agile werkwijze de grip op het ontwikkelproces.  Tot slot zorgt deze aanpak ervoor dat er geen intrinsieke afhankelijkheid van Eonics ontstaat. Individuele ontwikkelaars kun je in een goed lopend team namelijk relatief eenvoudig vervangen, en nieuwe ontwikkelaars kunnen gemakkelijk instromen.

Eonics focust dus vanaf het begin op het effectief laten draaien van de teams volgens de DevOps werkwijze om ze zo snel mogelijk zelfsturend te laten functioneren. In de meeste gevallen betekent dit dat er in de beginfase extra tijd en aandacht nodig is van senior specialisten van Eonics. Naarmate het team op stoom begint te komen verdwijnen ze langzaam naar de achtergrond.

Een voorbeeld van een team-samenstelling uit de praktijk.

Global Teams

Eonics heeft een uitgebreid netwerk aan specialisten in binnen- en buitenland. Naast onze werknemers in Nederland hebben we op diverse locaties wereldwijd een breed spectrum aan ontwikkelaars van diverse niveaus en kostprijzen. Op deze manier kunnen we voor onze opdrachtgevers altijd de juiste teams creëren en deze ook eenvoudig op- en afschalen. Dit creëert flexibiliteit voor de opdrachtgever in zowel prijs als kwantiteit van de geleverde specialisten.

Het grote verschil met klassiek “uitbesteden” is echter dat alle specialisten altijd een integraal onderdeel vormen van de Agile teams.  Ze worden continu aangestuurd en draaien mee met de (technische) teamleider in Nederland. Voor onze opdrachtgevers is er dus geen enkel risico of complicatie bij het inhuren van dergelijke specialisten buiten Nederland. Ze vormen immers een vast onderdeel van de reguliere zelfsturende ontwikkelteams, waardoor extra aansturing of administratieve handelingen niet nodig zijn.

Kortom: wat wij ook bouwen, we doen het altijd samen met de opdrachtgever en creëren zelfsturende teams. Op deze manier zorgen we ervoor dat alle aspecten van het moderne software-ontwikkelingsproces permanent worden ingebed in de organisatie.  De afhankelijkheid van Eonics als leverancier wordt hiermee geminimaliseerd en de grip op het proces komt terug waar het hoort: de opdrachtgever.

Techniek: open, continue & iteratief

Los van de specifieke technische eisen die een project stelt, zijn er wat betreft techniek een aantal zaken die in onze aanpak altijd terugkomen. Hieronder benoemen we een drietal zaken die voor de visie van Eonics op moderne software-ontwikkeling belangrijke pijlers zijn.

Bewezen open technieken en standaarden

Eonics werkt waar mogelijk met bewezen open technieken en – standaarden. Software is permanent aan verandering onderhevig en vormt een essentieel onderdeel van de bedrijfsprocessen van onze opdrachtgevers. Door gebruik te maken van  open standaarden en -technieken voorkomen we dat een opdrachtgever afhankelijk wordt van een bepaalde techniek of -aanbieder – inclusief onszelf – en garanderen we de flexibiliteit en continuïteit van de gebouwde software voor de lange termijn.

Korte iteraties – altijd werkende software

Door de nadruk op zelfsturende Agile teams met DevOps werkwijze leveren we onze opdrachtgevers continu werkende software op, iedere sprint opnieuw. Waar mogelijk werken we met zo kort mogelijke iteraties, het liefst zelfs een week. Het team is daardoor altijd gefocust op het creëren van concrete waarde voor de organisatie in de vorm van werkende en geteste software. Dit betekent uiteraard niet dat een complex project daarmee ook binnen een paar weken af is. Wel betekent dit dat de opdrachtgever vanaf het begin de concrete resultaten van de werkwijze ziet. Hij kan continu bijsturen naar aanleiding van voortschrijdend inzicht of veranderende omstandigheden en wensen binnen de organisatie.

DevOps & CI/CD met HyperDev

In dit artikel gaan we niet diep in op de meer technische aspecten van DevOps & CI/CD,  maar willen we wel benadrukken dat deze technieken een integraal onderdeel vormen van ieder project waar Eonics deel van uitmaakt. Concreet betekent dit dat de teams de verantwoordelijkheid hebben voor het gehele software-ontwikkelproces: van het schrijven van de user-stories naar het maken van geautomatiseerde tests, tot het opleveren en beheren van de software in productie. Zo ontzien we onze opdrachtgevers volledig in de aansturing en krijgt het team alle ruimte om het ontwikkelproces zo effectief en efficiënt mogelijk te maken. Ook hier is het weer essentieel dat er op deze wijze geen “over de schutting” mentaliteit ontstaat, maar er juist sprake is van een gedeelde verantwoordelijkheid binnen het team voor alle facetten van het ontwikkelproces.

Afbeelding: hier is te zien hoe het Observ team vanuit HyperDev met een druk op de knop een willekeurige versie van het Observ.nu platform kan starten.

Om dit praktische vorm te geven werkt Eonics bij voorkeur met HyperDev. Dit is simpel gezegd een alles-in-een gereedschapskist voor een moderne ontwikkelstraat, gebaseerd op open standaarden zoals Docker. HyperDev stelt ons in staat om in zeer korte tijd de DevOps werkwijze bij een opdrachtgever neer te zetten.  Bovendien helpt het teamleden van alle niveau’s zich comfortabel te voelen en eenvoudig toegang te krijgen tot de juiste tools om hun werk uit te voeren. Het platform is volwassen en heeft zich keer op keer bij talloze projecten bewezen. De flexibiliteit van Docker en HyperDev geeft ons ook de mogelijkheid om naadloos aan te sluiten op de bestaande infrastructuur van de opdrachtgever. Ook hier geven we de opdrachtgever dus grip en flexibiliteit. Bovendien stellen we onze teams in staat om snel en effectief hoge kwaliteit software te ontwikkelen in plaats van bezig te zijn met het opzetten of onderhouden van infrastructuur.

Meer informatie

Wij hopen met dit artikel meer inzicht te hebben gegeven in de werkwijze van Eonics. Heeft u toch behoefte aan meer informatie of wilt u graag direct in contact komen met één van onze specialisten? Neem dan contact op met Tom van der Drift via tom.vanderdrift@eonics.nl of via 06-12814561.