Wat kost software-onderhoud?

Invoering

Softwareonderhoud is een integraal onderdeel dat volgt op de ontwikkelingsfase van software. Dit houdt in dat je zorgt voor de prestaties van de software, bugs/errors herstelt, upgrades beheert, enzovoort. Door software te onderhouden, kunt u inspelen op de behoeften van uw klant. Software die niet goed wordt onderhouden zal defect raken en blijven hangen, en uiteindelijk zullen de klanten het moeilijk vinden om toegang te krijgen tot de verschillende functies van de app. De software moet gebruiksvriendelijk, intuïtief, responsief en aanpasbaar zijn. Als dat niet zo is, gaan ze de vuilnisbak in. Als je investeert in een softwaretoepassing, moet je bereid zijn om deze regelmatig te upgraden. Het hoe en wanneer hangt af van het soort software dat je hebt en welke functies je erin geïntegreerd wilt hebben.

Voordat we ingaan op de kosten die gepaard gaan met softwareonderhoud, is het goed om de verschillende soorten onderhoud die een software nodig heeft door te nemen. Laten we die eens doornemen:

Verschillende soorten softwareonderhoud

Er zijn vier soorten softwareonderhoud

Correctief onderhoud

Door correctief onderhoud kun je eventuele fouten opsporen die gebruikers kunnen ervaren tijdens het gebruik van de app. Het richt zich dus voornamelijk op de bugs binnen de softwaretoepassing en hoe deze het ontwerp, de logica en de code beïnvloeden. Correctief onderhoud vindt plaats na de implementatie.

Adaptief onderhoud

Soms moet de software zich aanpassen aan veranderingen in de externe omgeving, zoals nieuwe besturingssystemen, softwareafhankelijkheden, verschillende hardwareplatforms en wanneer de omgeving van de software verandert. Als onderdeel van adaptief onderhoud zul je aanpassingen moeten maken, zoals het veranderen van leveranciers, het aanpassen aan overheidsbeleid of bedrijfsrollen, betalingsprocessen, etc. Met adaptief onderhoud kun je ervoor zorgen dat de software wordt aangepast aan de veranderende bedrijfsomgeving.

Preventief onderhoud

Dit klinkt waarschijnlijk vanzelfsprekend. Het doel van de software is om softwarebugs en fouten op te sporen en te corrigeren voordat ze de gebruikers bereiken. Het is als het toekomstbestendig maken van de software, zodat wanneer je de software op een bepaald moment wilt schalen, dit eenvoudig kan worden gedaan, en door de latente fouten te herstellen zodat ze niet veranderen in operationele fouten. De gebruiker kan de wijzigingen zien die in de software zijn aangebracht wanneer preventief onderhoud wordt uitgevoerd, vooral wanneer het aantal gebruikers plotseling toeneemt.

Perfectief onderhoud

Perfective Maintenance is nodig om de functionaliteit en bruikbaarheid van de software te verbeteren. Het werkt aan de huidige functies van de software, verwijdert oude en voegt nieuwe functies toe. Het werk kan dus langer duren dan verwacht en een beetje omslachtig zijn.

Veranderingen zullen zowel in de backend als in de frontend worden doorgevoerd, waarbij de veranderingen in de frontend diep gevoeld zullen worden en mogelijk niet geaccepteerd zullen worden door de gebruikers tenzij ze op de hoogte worden gehouden van wat er gebeurt.

Gebruikte tools voor softwareonderhoud

Softwareonderhoud is deels geautomatiseerd en deels handmatig. En je hebt tools om het onderhoudsproces van software te automatiseren. De kosten voor deze gereedschappen zijn natuurlijk afhankelijk van het soort gereedschap dat je gebruikt. Deze tools helpen software-ingenieurs om hun productiviteit te verhogen, nauwkeurige gegevens te verzamelen, bugs op te sporen en de software succesvol te beheren.

JIRA – Dit is een tool voor projectbeheer waarmee ontwikkelaars bugs in de software kunnen identificeren en bijhouden.

Jenkins – Dit is een open-source automatiseringsserver voor het automatiseren van verschillende softwareontwikkelingsprocessen zoals testen en implementeren.

Git – Git is een open-source versiebeheersysteem en het stelt ontwikkelaars in staat om samen te werken, wijzigingen in hun softwarecode bij te houden en zelfs terug te draaien, waardoor ze fouten en bugs makkelijker kunnen herstellen.

Selenium – Een geautomatiseerde testtool waarmee ontwikkelaars softwaretoepassingen automatisch kunnen testen.

SonarQube – Dit is een goed hulpmiddel om de kwaliteit van de code regel voor regel te meten om te zien of aan de vereiste kwaliteitsnormen wordt voldaan.

Splunk – Een realtime tool waarmee je problemen en bugs kunt opsporen en analyseren, zodat problemen sneller kunnen worden opgelost.

De kosten van softwareonderhoud

Nu je de verschillende soorten onderhoud kent die nodig zijn voor software, is het gemakkelijker om de andere factoren die de onderhoudskosten beïnvloeden door te nemen.

Laten we die factoren eens bekijken:

Mensen inhuren voor softwareonderhoud

Je hebt de juiste mensen in het team nodig om het werk succesvol af te ronden. Het team neemt een aanzienlijk deel van de uitgaven voor softwareonderhoud voor zijn rekening. Je moet die mensen betalen, dus de kosten bestaan voornamelijk uit salaris, overheadkosten, vergoedingen, enz. De belangrijkste mensen die je nodig hebt in het team zijn:

Ontwikkelaars – Om defecten op te sporen en te herstellen, upgrades uit te voeren en de software te verbeteren. Het salaris of het uurloon hangt af van het vaardigheidsniveau van de ontwikkelaar en van waar je hem inhuurt. Als je op zoek bent naar uitstekend werk tegen voordelige tarieven, dan huur je in bij de Tier 1- en Tier 2-steden in India.

Systeembeheerders – Je hebt systeembeheerders nodig om het hardware-aspect, de infrastructuur en de uitrol van het werk te beheren.

QA Team – Het is belangrijk om een Quality Assurance team te hebben omdat zij de gemaakte wijzigingen valideren en ervoor zorgen dat de software optimaal werkt met de nieuwe wijzigingen. Er zullen QA arbeidskosten zijn, vooral voor uitgebreide regressietests.

Verschillende tools en infrastructuur gebruiken

Er zijn ook kosten verbonden aan de verschillende tools en infrastructuur. Bekijk de verschillende soorten tools die je nodig hebt voor softwareonderhoud.

Versiebeheersystemen zoals Git, SVN, etc.

  • Testtools voor prestatietesten, geautomatiseerd testen, enzovoort.
  • Monitoringtools om bugs op te sporen en te verhelpen, zoals Jira of Bugzilla.
  • Beveiliging en conformiteit van de software. Het is noodzakelijk om de veiligheid en compliance van de softwaretoepassingen te garanderen. Je moet dus regelmatig beveiligingsaudits uitvoeren om de potentiële zwakke plekken in de beveiliging te identificeren en aan te pakken, en nalevingsaudits om te controleren of de nieuwe upgrades kunnen voldoen aan de wettelijke vereisten.
  • Het verkrijgen van licenties en ondersteuning is een andere factor. Je moet rekening houden met de licentie- en supportkosten, die meestal door derden worden gedaan. Er zijn softwarelicenties en ondersteuningscontracten met softwareleveranciers voor technische ondersteuning, en dat kan kosten met zich meebrengen.

Factoren die de onderhoudskosten van software beïnvloeden

Je moet ook rekening houden met bepaalde factoren die de onderhoudskosten van software beïnvloeden. Daar zijn ze:

  1. Ouderdom van de software; het zou duur zijn om legacysystemen te onderhouden
  2. Complexiteit van de software; complexe software met ingewikkelde onderlinge afhankelijkheden kan duurder zijn om te onderhouden
  3. Schaalbaarheid; niet schaalbare apps vereisen mogelijk constante aanpassingen
  4. Kwaliteit van ontwikkeling; apps van hoge kwaliteit met schone, onderhoudbare code hebben lagere onderhoudskosten
  5. De frequentie van updates; hoe hoger de frequentie van upgrades, hoe hoger de kosten.

Conclusie

Naast de factoren die we hierboven hebben genoemd, brengt de app hosting server ook kosten met zich mee. Dit kan variëren van $70 tot $400, afhankelijk van het soort software dat je gebruikt. De maandelijkse onderhoudskosten voor de software kunnen op basisniveau $5000 bedragen en afhankelijk van de vereisten hoger uitvallen.

Interessante links:

Wat is softwareonderhoud precies?

Prijzen van softwareonderhoud

Foto’s: Canvas


De auteur: Sascha Thattil werkt bij Software-Developer-India.com, een onderdeel van de YUHIRO Group. YUHIRO is een Duits-Indiase onderneming die programmeurs levert aan IT-bedrijven, agentschappen en IT-afdelingen.

Geef een reactie

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.