Software als kloppend hart van de organisatie - het belang van de ontwikkelstraat

Wie met software werkt weet dat er niets zo vervelend is als trage software, die niet naar behoren werkt en/of na doorontwikkeling storingen begint te vertonen. Zeker wanneer de software het kloppend hart van de organisatie is kunnen dergelijke storingen grote gevolgen met zich mee brengen.

In deze blog lees je het belang van een ontwikkelstraat bij het voorkomen van dit soort storingen en het waarborgen van de kwaliteit, continuïteit en veiligheid van maatwerk software.

Iedereen in één systeem

Voor Essent-dochterbedrijf EnergieWonen ontwikkelen we een op maat gemaakt ERP waar het callcenter, de vertegenwoordigers, de planners, de monteurs en de directie tegelijk in werken. In totaal werkt een kleine 150 mensen binnen Energiewonen dagelijks met de door ons ontwikkelde software.

Het systeem is in samenwerking met de mensen op de werkvloer gebouwd waardoor het precies doet wat het moet doen. Het met zijn allen werken in één systeem en het integreren van de verschillende processen brengt enorme efficiency voordelen met zich mee. Ben je benieuwd wat Energiewonen er precies mee heeft kunnen bereiken? Bekijk onze Energiewonen casestudy.

Je kunt je voorstellen dat als er na doorontwikkeling storingen optreden in de software van Energiewonen of wanneer deze er helemaal uit ligt, dat dit grote gevolgen kan hebben voor de organisatie. Nieuwe installaties kunnen niet meer worden gepland, monteurs weten niet wat ze moeten doen, omdat ze geen toegang hebben tot hun werkbonnen, uren worden niet meer geschreven en (potentiële) klanten kunnen tijdelijk niet meer bediend worden.

Ontwikkelstraat

De meest voorkomende problemen die optreden in software worden veroorzaakt door menselijke handelingen, want waar mensen werken daar worden fouten gemaakt. Bij Qlic zetten we ons in om de kans op dit soort fouten door menselijke handelingen voor te zijn, bijvoorbeeld door onze software te ontwikkelen in een zogenaamde ontwikkelstraat.

Een ontwikkelstraat is een reeks gestructureerde processen die ondersteund worden met slimme softwareoplossingen waarin code geschreven wordt. Onze ontwikkelstraat is dermate geautomatiseerd, dat wanneer een ontwikkelaar nieuwe code heeft geschreven deze automatisch doorlopen wordt zonder dat er stappen overgeslagen kunnen worden.

Door gebruik te maken van een ontwikkelstraat houden we onze software consistent van hoge kwaliteit en veilig. Hieronder zetten we de verschillende onderdelen van onze ontwikkelstraat verder uiteen.

Versiebeheersysteem

Waar meerdere mensen werken aan een project ontstaan er vaak onafhankelijk van elkaar verschillende bestanden die uiteindelijk samen één geheel moeten vormen. Wie welk bestand tot zijn beschikking heeft en aan welke versie werkt is niet altijd even duidelijk. Dit is inefficiënt en vergroot de kans op fouten.

Om het werken met meerdere mensen aan een project in efficiënte banen te lijden maken we bij Qlic gebruik van een versiebeheersysteem. In dit versiebeheersysteem genaamd Gitlab kunnen developers onafhankelijk van elkaar werken aan verschillende onderdelen van de software. Het systeem houdt bij wie wanneer waaraan gewerkt heeft, en of er veranderingen gemaakt zijn. Uiteindelijk helpt het versiebeheersysteem bij het samenvoegen en integreren van de verschillende stukken code die samen de applicatie vormen.

Een ander voordeel van een versiebeheersysteem is dat er altijd terug gerefereerd kan worden naar code uit het verleden. Wanneer er tijdens het uitrollen van software bepaalde onderdelen niet meer werken zoals gewenst, dan kunnen er simpelweg bepaalde onderdelen teruggezet worden naar een eerdere versie.

Voor onze klanten kunnen we ‘kijk’ accounts voor ons versiebeheersysteem aanmaken, zodat je als klant realtime inzicht hebt in wat er gebeurt en waar we staan.

Coderichtlijnen

Software ontwikkel je samen. Om ervoor te zorgen dat er op een uniforme manier geprogrammeerd wordt, hebben we bij Qlic coderichtlijnen opgesteld. Coderichtlijnen zijn een set aan regels waaraan we ons houden bij het schrijven van de code.

Of de geschreven code voldoet aan onze code richtlijnen wordt gecontroleerd door een static analysis tool genaamd SonarQube. Voldoet de code niet aan onze standaarden, dan dient de ontwikkelaar de code aan te passen en opnieuw ter controle aan SonarQube aan te bieden. Hiermee garanderen we consistent code van hoog niveau.

Onze code is hierdoor beter leesbaar en gemakkelijker te onderhouden voor onze developers. Hierdoor is ook het project ook sneller overdraagbaar binnen het team. Als een developer uitvalt of er opgeschaald moet worden kan dit een stuk efficiënter wanneer er duidelijke coderichtlijnen zijn afgesproken.

Onze code is hierdoor ook extern overdraagbaar. Wij vinden dat samenwerken met een software ontwikkelaar een keuze moet zijn en niet een verplichting. Laat je door Qlic software ontwikkelen dan dragen wij de eigendomsrechten van de code over. Wil je je software elders laten door ontwikkelen, dan kan dat en werken wij daar aan mee. Dit is een zeldzaamheid in de wereld die bekend staat om haar vendor lock-ins.

Code review

Wanneer onze developers werken aan een project staat kwaliteit en stabiliteit van de code voorop. Om deze belangrijke aspecten te waarborgen maken wij gebruik van zogenaamde code reviews. Door developers structureel elkaars code te laten controleren op onder andere veiligheid komen eventuele problemen snel aan het licht en kunnen deze opgelost worden voordat de code in gebruik wordt genomen.

Door elkaar te wijzen op onderdelen in de code die beter kunnen en van feedback te voorzien, zullen deze fouten daarnaast in de toekomst minder snel gemaakt worden.

Testen en live-gang

Voordat onze software in productie genomen wordt door onze klanten, testen we deze uitvoerig in een aparte test omgeving die vergelijkbaar is met de live omgeving. Het testen doen we vaak samen met de klant: handmatig en geautomatiseerd.

Je kunt je voorstellen dat het handmatig testen van een simpele applicatie een kleine tijdsinspanning is. Naarmate een applicatie groter wordt, wordt het handmatig testen een steeds inefficiënter proces. Als oplossing hiervoor ontwikkelen we zogenaamde unit tests. Unit tests zijn stukjes code die de use case van de klant automatisch uitvoert tijdens het ontwikkelen en controleert of ze nog goed werken.

Naast unit tests maken we ook gebruik van geautomatiseerde functionele tests. Dit zijn tests die de daadwerkelijke acties van gebruikers imiteren, zoals bijvoorbeeld het klikken op knoppen en het invullen van invoervelden.

Door deze tests worden bugs vroegtijdig gesignaleerd en kunnen deze verholpen worden alvorens de code in gebruik wordt genomen. Pas als alle functionaliteiten op een losstaande server getest zijn en voldoen aan de door ons gestelde eisen, dan zetten we de software live. Ook het live zetten is bij Qlic een geautomatiseerd proces.

Ontwikkelstraat als oplossing voor alle problemen?

Lost de ontwikkelstraat dan alles op en gaat er nooit meer iets fout? De ontwikkelstraat voorkomt veel fouten, maar niet alle. Gaat er onverhoopt toch een keer iets mis wat niet ondervangen wordt door onze ontwikkelstraat, dan zitten onze developers 24/7 voor onze klanten klaar om ontstane problemen op een adequate wijze op te lossen.

We zijn continue bezig met het nemen van maatregelen en het inzetten van nieuwe technieken om onze ontwikkelstraat te verbeteren en daarmee de kwaliteit, continuïteit en veiligheid van onze software en dienstverlening nog beter te waarborgen.

Dit blijkt ook uit onze certificeringen: zo zijn we ISO-9001 voor kwaliteit, ISO-27001 voor informatiebeveiliging en NEN-7510 voor informatiebeveiliging in de zorg gecertificeerd.

Wil jij ook software laten ontwikkelen en heb je net als ons kwaliteit, continuïteit en veiligheid hoog in het vaandel staan? Neem dan telefonisch contact met ons op het nummer 088-0123900 of laat een bericht achter op onze contactpagina. Spreekt onze ontwikkelstraat jou aan als developer? Kom solliciteren via werkenbij.qlic.nl

 

Wouter Stienstra
Qlic

Terug naar overzicht