M+P als partner bij softwareontwikkeling – de ervaringen van ProRail
Zijn wij geluid- en trillingadviseurs die de taal van het programmeren spreken? Of zijn we programmeurs die ook verstand hebben van geluid en trillingen? Van welke kant je hier ook tegenaan kijkt, de combinatie van beide competenties heeft absoluut een meerwaarde. En omdat M+P daarnaast ook een gedegen kennis heeft van het operationele traject, kunnen onze klanten erop vertrouwen dat alles van begin tot eind goed geregeld is. De recente ervaringen van ProRail zijn hiervan een goed voorbeeld.
Verstand van geluid, development én van operations
Dat M+P haar domeinkennis van geluid en trillingen heeft aangevuld met kennis van software en operations, blijkt voor menig opdrachtgever een goede combinatie. Eentje die onder softwareontwikkelaars niet gebruikelijk is, maar die een belangrijke meerwaarde biedt. Zo ook voor ProRail, waarvoor we de software voor het Geluidregister hebben gebouwd. Met dit systeem kan ProRail de geluidcapaciteit van het complete Nederlandse spoorwegnet managen. Onlangs zijn alle geluidgegevens van het Nederlandse spoor beschikbaar gekomen in het nieuwe Cvgg, de Centrale voorziening geluidgegevens.
Met ProRail samenwerken aan een complexe klus
Het platform voor het Geluidregister is op basis van afzonderlijke componenten volledig geautomatiseerd gebouwd en uitgerold. Ard Kuijpers is in de rol van architect verantwoordelijk voor het softwareontwerp. De ervaringen van ProRail met het ontwerp en de samenwerking zijn positief. Nico Mans, ICT Productbeheerder & Product Owner bij ProRail, verwoordt het als volgt:
“Het is ons goed bevallen om deze complexe klus samen op te pakken. We merken heel sterk dat de medewerkers van M+P zowel verstand van programmeren als van geluid hebben en dat ze inhoudelijk begrijpen wat het doel van het Geluidregister is. Sommige berekeningen kosten ontzettend veel tijd, maar ze zorgen voor goede oplossingen, in dit geval schaalbaarheid. Met hun kennis van IT verloopt het uitrollen van de software vlot, ook al hebben we heel wat baanbrekend werk moeten verzetten om dingen voor elkaar te krijgen. We moesten in het proces namelijk rekeninghouden met ons oude computersysteem. Inmiddels zijn alle verbindingen gelegd tussen de Cloud en de oude systemen die bij ProRail draaiden. En omdat het bewezen goed werkt, zijn er na de oplevering nog wat extra zaken aan het proces toegevoegd. Dat wij met een half woord fijn kunnen samenwerken, komt omdat de medewerkers van M+P de taal begrijpen die wij gebruiken. Als er een probleem is, dan wordt de urgentie begrepen en gevoeld. En dan worden snel stappen gezet. En omdat zij onze taal zelf ook spreken, komen ze op eigen initiatief met nieuwe ideeën en met oplossingen die ProRail echt nodig heeft. Niet om daar extra aan te kunnen verdienen, maar omdat het echt werkbare oplossingen zijn. Daar word ik blij van.”
Speelveld van softwaregebruik is veranderd
We zien dat de klantbehoefte waar het software betreft in de loop der jaren sterk is geëvalueerd. Vroeger had een persoon of organisatie een programma nodig voor rekenintensieve processen en bouwde iemand met verstand van software een applicatie, bestaande uit één component, die vervolgens op de computer van die organisatie werd geïnstalleerd. Als een onderdeel niet goed werkte, moest het hele programma worden vervangen. Waren er grote rekenklussen, dan ontstonden er wachtrijen. Deze werkwijze is nu niet meer toereikend. Tegenwoordig draait de software in de Cloud. Er moeten meerdere mensen gebruik van kunnen maken en het moet 24 uur op 7, 365 dagen per jaar te gebruiken zijn. Zijn er grote rekenklussen, dan schaal je tijdelijk op door computercapaciteit in te huren. Heb je even wat minder capaciteit nodig, dan moet je ook weer kunnen afschalen. Het voordeel is dat je die maximale capaciteit niet meer zelf in huis hoeft te hebben.
M+P gaat voorop: onze applicaties zijn flexibel, net zoals onze mensen
Het mag duidelijk zijn dat de verandering van speelveld ook voor de geluidwereld geldt. Omdat M+P graag het voortouw neemt bij nieuwe ontwikkelingen, zien we dit als een mooie uitdaging voor onze pioniersgeest. Domeinkennis en kennis van programmeertaal is niet genoeg. We moeten onze software ook betrouwbaar (altijd bereikbaar) én schaalbaar kunnen uitrollen.
Development and Operations
Senior adviseur Erik van Gils heeft zich ontwikkeld tot expert op het gebied van DevOps – Development and Operations. Dit is de term voor een nieuwe werkwijze binnen softwareontwikkeling, waarbij development en operations als één team samenwerken. Het stukje ‘Dev’ van DevOps zit hem vooral in het ontwerpen van software op flexibiliteit. De vaak complexe software splitsen we op in losse componenten die een deel van het rekenproces uitvoeren. Het zijn autonome bouwstenen, die gemakkelijk uit te wisselen zijn. Per processtap kunnen we bepalen hoeveel computerkracht ervoor nodig is. Wil je één bouwsteentje aanpassen, bijvoorbeeld de component die de geluidoverdracht tussen bron en ontvanger berekent, dan haal je het er tussenuit, ontwikkelt het opnieuw, en plaatst het dan terug tussen de andere bouwsteentjes. Het is een manier van werken die een snelle reactie op nieuwe ontwikkelingen mogelijk maakt.
Het stukje ‘Ops’ gaat meer over de uitvoering in de Cloud en continue bereikbaarheid voor iedereen. Bij het ontwerp van een programma houden we er rekening mee dat het aan schaalbaarheid en betrouwbaarheid voldoet: meerdere bouwsteentjes kunnen parallel naast elkaar draaien en taken uitvoeren. En als er eentje uitvalt blijft het hele systeem gewoon doordraaien. Hebben we bijvoorbeeld op een bepaald moment veel meetsystemen buiten staan die 24/7 data doorsturen, dan zorgt het systeem er autonoom voor dat de capaciteit uitbreidt om de meetdata te verwerken.
CI/CD - Continuous Integration/Continuous Deployment - is het onderdeel van DevOps dat ervoor zorgt dat bij een wijziging in de software allereerst automatisch wordt gecheckt of er door de wijziging niet iets anders kapot kan gaan. Als alle vinkjes op groen staan en de nieuwe component is goedgekeurd, dan wordt die vervolgens automatisch uitgerold in het draaiende systeem van de klant. Op deze manier kunnen delen van de software worden vernieuwd terwijl het hele systeem gewoon blijft doorwerken en de klant er eigenlijk niets van merkt.
Op zoek naar interactie en de echte vraag achter een probleem
We zijn er trots op dat we alles, van begin tot eind van een project, zelf in huis hebben. Zowel softwareontwikkeling, als het stuk operations. Onze achtergrond als adviseurs speelt in ons voordeel als we op zoek gaan naar de echte vragen achter de opdracht van een klant. We zoeken interactie op, zowel met de opdrachtgever als met de eindgebruikers. Door het organiseren van een sessie tijdens een testfase wordt bijvoorbeeld direct duidelijk wat de eindgebruikers nodig hebben, zonder dat hun woorden zoekraken tijdens een vertaalslag. Zo bouwen we software waar behoefte aan is. Reproduceerbaar, flexibel, schaalbaar en betrouwbaar.