Hoe goed uw software er ook uitziet, hoe intuïtief en hoe rijk aan functies hij ook is op het moment van ingebruikname, hij zal tijdens zijn levensduur zeker op de proef worden gesteld door veranderende eisen. Toekomstbestendigheid is van groot belang: duurzame software moet gemakkelijk te onderhouden, aan te passen en uit te breiden zijn.
30% lagere onderhoudskosten
Bij het kiezen van een nieuw softwaresysteem zijn organisaties vaak geneigd om het systeem met de laagste initiële kosten te kiezen. Echter, de kosten van het draaien en onderhouden van software - updates, bugs oplossen, enz. - kunnen enorm oplopen, tot 15 of zelfs 20% van de initiële kosten per jaar. Voeg daarbij de kosten van downtime door softwareproblemen en u begrijpt hoe belangrijk het is om te investeren in toekomstbestendige software van hoge kwaliteit. De onderhoudskosten van Cegeka-software ligt 30% lager dan die van andere systemen.
De kosten voor het beheer en onderhoud van software - updates, het verhelpen van bugs, enz. - kunnen enorm oplopen, tot 15 of zelfs 20% van de oorspronkelijke kosten per jaar.
Het waarborgen van hoge kwaliteit en toekomstbestendigheid begint al in de vroege stadia van uw softwareproject. Hier leest u hoe ons digital factory-team software bouwt die goed blijft werken - wat de toekomst ook brengt:
1. Inzicht in uw businesswaarde: Cegeka-startfase
Bij Cegeka houden we allemaal van (nieuwe) technologie. Toch plaatsen we uw business in het hart van onze toepassingen. Toekomstbestendige software moet immers in de eerste plaats voldoen aan de verwachtingen van de klant - vandaag én in de toekomst. Daarom beginnen we elk complex softwareontwikkelproject met de foundation-fase: een reeks workshops gericht op het begrijpen van uw business drivers en de software (architectuur) die u nodig hebt om aan die behoeften te voldoen. Zo zorgen we ervoor dat we een applicatie bouwen die in één keer goed is.
Ontdek waarom de foundation fase de basis is voor software succes.
2. Kiezen voor bewezen, toekomstbestendige technologie
Bij het bepalen van de technische scope, d.w.z. de benodigde architectuur en technologie, is het belangrijk om te kijken naar de toekomstbestendigheid van de technologie, zoals programmeertalen, frameworks en methodologieën. Dankzij jarenlange ervaring en voortdurende bijscholing zijn onze software engineers niet alleen vertrouwd met de nieuwste en beste trends en technologie; ze begrijpen ook welke technologieën goed ondersteund worden en zullen blijven. Die gebruiken we als solide basis voor uw systeem.
3. Code schrijven: de kracht van discipline, teamwerk en eenvoud
De toekomstbestendigheid van uw software hangt in grote mate af van de kwaliteit van de software-architectuur en -code. Kwalitatief hoogstaande code is gemakkelijker te onderhouden, aan te passen, aan te vullen met een nieuwe module of nieuwe functionaliteiten, of te draaien in een nieuwe omgeving. Onze softwareontwikkelaars houden zich consequent aan best practices om code van hoge kwaliteit te garanderen:
-
We schrijven duidelijke, herbruikbare code clean, reusable code tdie gemakkelijk te begrijpen is door collega's, gemakkelijk te testen en te lezen is en vanzelfsprekend is voor degenen die de code in de toekomst onderhouden.
-
Als twee ontwikkelaars samenwerken in een team (pair programming) produceren we code van betere kwaliteit, waardoor het voor anderen makkelijker wordt om de code te lezen en aan te passen wanneer nodig.
-
Alle geschreven code is van het hele team (collectieve code eigendom). Dat betekent dat elke ontwikkelaar elk stuk code kan aanpassen en aan de volgende iteratie kan beginnen.
-
We houden de code systematisch georganiseerd en overzichtelijk en verbeteren de leesbaarheid en het onderhoud. Op die manier minimaliseren we technical debt: het risico dat fouten uit het verleden moeten worden hersteld voordat nieuwe functies kunnen worden toegevoegd (continuous refactoring).
-
Continu testen - zowel geautomatiseerd als handmatig - vanaf het allereerste begin van het project helpt ontwikkelaars om bugs of afwijkingen van de scope zo snel mogelijk op te sporen. Daarnaast ondersteunt continue testen snelle veranderingen van de applicatie, zonder de angst voor impact op de bestaande code. Een snelle test helpt te verifiëren dat de hele applicatie blijft werken. Bovendien bewaken we voortdurend het onderhoud van de code via tools, zoals code-analysetools.
Hou het eenvoudig! Door zo eenvoudig mogelijke code te schrijven, zorgen we ervoor dat uw software gemakkelijk te onderhouden is: iedereen kan wijzigingen aanbrengen en het systeem uitbreiden met nieuwe functies.
4. Het omarmen van feedback - in korte, iteratieve feedback loops
Onze ontwikkelaars werken in korte sprints, zodat ze gemakkelijk wijzigingen in de code kunnen aanbrengen zonder al te veel impact op de planning en het budget. Op regelmatige tijdstippen overleggen we met u om prioriteiten te stellen - door de kostenconsequenties van een extra functie of van een gerapporteerde bug te vergelijken met de kosten van het ontwikkelen of oplossen ervan.
5. Kennis delen
Best practices zoals pair programming, collectief code eigenaarschap, code reviews en onze agile ontwikkelingsaanpak in het algemeen, faciliteren het delen van kennis binnen het team. Op die manier zorgen we ervoor dat onze teams een diepgaande kennis van uw systeem hebben - in plaats van slechts één ingenieur die al lange tijd aan het systeem werkt. Bovendien werken wij nauw met u samen en dragen wij kennis over om de continuïteit van uw systeem te waarborgen.
Deze blog (3) maakt onderdeel uit van een reeks van 4 blogs over 'Het geheim van succesvolle software'. In blog 1 gaan we in op 'begin met het begrijpen van business drijvers'. In blog 2 gaan we in op 'hoe wij software van hoge kwaliteit leveren om de TCO te verlagen' en blog 4 over 'vanaf het begin beveiliging inbouwen'.