Software op maat risicovol? Niet als je zo te werk gaat

Maatwerk software heeft een imago, in dit geval niet één om trots op te zijn. Veel projecten gingen in het verleden namelijk mis. Waar lag dit aan? Men ging bijvoorbeeld ruimschoots over het budget. Qua tijd, geld of beide. Dat is al vervelend genoeg, maar in veel gevallen was het eindresultaat ook nog eens ontoereikend. Met ontevreden eindgebruikers als gevolg en een overduidelijk mislukt project. Wij geloven niet alleen dat software op maat succesvol kan zijn, en binnen budget kan worden opgeleverd, maar zorgen er dagelijks voor dat we dit inzichtelijk maken. Hoe doen we dat? En wat is er positief veranderd sinds de probleemjaren van softwareontwikkeling?

Software ontwikkelen als techneut of bedrijfskundige?

Software werd oorspronkelijk door programmeurs geprogrammeerd. Dat gebeurt nog steeds voor specifieke toepassingen, maar is niet meer de enige mogelijkheid. Inmiddels zijn er low-code platformen zoals Mendix. Deze platformen zijn technisch volwassen en breed inzetbaar, voor het ontwikkelen van allerlei soorten applicaties. Belangrijk verschil: programmeren is code schrijven en die code begrijpt eigenlijk alleen een programmeur. Met applicatieplatforms zoals Mendix werkt de ‘bouwer’ modellen uit, in de vorm van bijvoorbeeld procesmodellen (denk aan flowcharts) en datamodellen. Modellen zijn in tegenstelling tot code door een breder publiek te begrijpen. Dit maakt de communicatie tussen de bouwer en de eindgebruiker een stuk gemakkelijker. En omdat je software modelleert in plaats van programmeert, hoeft de bouwer geen ‘rastechneut’ te zijn. Onze consultants hebben bijvoorbeeld een bedrijfskundige achtergrond. Zij dagen je uit op procesniveau én bouwen de software. Tel daarbij op dat een applicatieplatform allerlei bouwstenen biedt om die software mee te bouwen, en je ontwikkelt circa. 10x sneller dan wanneer je programmeert. Er is dus veel veranderd op technologisch vlak.

Maatwerk software: draagvlak bij eindgebruikers

Een belangrijke factor in softwareprojecten is draagvlak binnen de organisatie. Het is immers niet de nieuwe software die het verschil gaat maken, maar het gebruik ervan. Er moet dus draagvlak zijn onder de eindgebruikers. Dat creëer je door de gebruikers vanaf het begin te betrekken bij het project. Zo maken wij onze visuele ontwerpen aan de hand van workshops met de eindgebruikers. Hierdoor bepalen zij wat ze nodig hebben, zien wat ze gaan krijgen en weten wij precies wat we samen met hen moeten bouwen. Dit proces maken wij eerst visueel, lees hierover in Visualisatie en ontwerp. Twee handen op één buik en ontdek wat wij anders doen dan anderen. Tijdens het bouwen van de applicatie blijven de eindgebruikers vervolgens betrokken, zodat wij precies kunnen bouwen waar zij behoefte aan hebben.

Maatwerk software: flexibiliteit omarmen

Maar alleen technologie en draagvlak maken toch niet het verschil? Klopt. Het betrekken van eindgebruikers is onderdeel van agile methodes zoals SCRUM. Maar deze methodes doen veel meer. Het grootste verschil is dat software traditioneel volgens het watervalmodel werd ontwikkeld. Hierin worden een aantal stappen doorlopen om naar het eindproduct te werken. Denk aan analyse, ontwerp, implementatie, testen en onderhoud. De doorlooptijd daarvan is lang (maanden tot jaren). Grootste probleem: deze methode is absoluut niet flexibel want er wordt precies gebouwd wat er ontworpen is. Er is geen ruimte voor voortschrijdend inzicht of aanpassing aan veranderende omstandigheden. Verandering is een gegeven, dus dat zorgt voor problemen. Agile ontwikkelmethodes omarmen verandering. In periodes van enkele weken worden bruikbare stukjes software ontwikkeld en wordt gaandeweg het eindresultaat gerealiseerd. Zo kunnen de eindgebruikers snel feedback leveren en kan worden bijgestuurd waar nodig.

Maatwerk software: onze succesformule

De grootste problemen op het gebied van maatwerk kwamen in het verleden neer op een erg lange doorlooptijd. Er werd geen draagvlak gecreëerd waarbij ontwikkelaars en eindgebruikers elkaar moeilijk begrepen. Met de komst van applicatieplatforms en agile methodes zoals SCRUM zijn die problemen opgelost. Maatwerk software kan nu in hoog tempo worden gebouwd, terwijl het proces flexibel genoeg is om verandering te omarmen. Vanaf het begin worden eindgebruikers betrokken in het project, omdat zij er uiteindelijk mee gaan werken. 

Slimme technologie en processen zijn fantastisch, maar echte waarde ontstaat pas wanneer de mens centraal wordt gezet.