De situatie
Protomation is een softwareontwikkelbedrijf dat Operator Training Simulatoren (OTS) ontwikkelt voor de procesindustrie. Met de software van Protomation worden proces engineers getraind in het opereren van een fabriek, zoals een piloot wordt opgeleid met behulp van een flightsimulator.
Bij fabrieken wordt software vaak aangestuurd door een Distributed Control System, een eigen systeem dat gebruikt wordt om processen te volgen, sturen en controleren. De OTS-oplossingen van Protomation moeten hier naadloos op aansluiten. Om deze reden maakt Protomation gebruik van klassieke desktopapplicaties in plaats van webapplicaties, zodat de fabrieksomgeving zo goed als mogelijk wordt nagebootst.
Vorig jaar is Protomation onderdeel geworden van Stamicarbon, licenser van veel fabrieken in de kunstmestindustrie. Zij levert naast haar technieken ook de OTS-oplossingen van Protomation.
De uitdaging
Nick van Ast, Manager van Software en IT bij Protomation, vertelt: “Wij hebben altijd met een redelijk klein team op traditionele wijze aan onze software gewerkt. We gebruikten Git voor version control, maar we hadden CI/CD niet ingericht, waardoor het uitrollen van een nieuwe versie van Proces Studio, het platform voor onze simulatoren, een tijdrovend proces was.
Na de overname door Stamicarbon werd ons team groter. We ontwikkelden sneller, dus we waren in staat om vaker releases doen. Zo ontstond de wens en kans om een professionaliseringsslag te maken op de ontwikkelstraat.
Wij zijn zelf Microsoft Silver Partner en tevreden gebruiker van Visual Studio, naast diverse andere Microsoft-tooling. Door deelname aan evenementen van Microsoft kregen we een zeer goede indruk van Azure DevOps. Om onze kennis over Azure DevOps te vergroten, namen we deel aan een workshop van Intercept. Door deze workshop en de consultancy-mogelijkheden besloten we dat Intercept voor ons de partij is om mee samen te werken.”
De oplossing
Op locatie in Sittard hebben we samen met het ontwikkelteam van Protomation een inventarisatie gemaakt van de huidige structuur van de applicaties en de aanwezige afhankelijkheden. Protomation maakt logischerwijs gebruik van desktopapplicaties die gebaseerd zijn op C++, maar de eisen voor een C++-applicatie zijn anders dan voor een .net-applicatie. Om de gewenste omgeving goed in kaart te brengen hebben we hier in het voortraject veel aandacht aan besteed.
Daarnaast is er een plan gemaakt voor de technische migratie. Op deze manier kon het migratietraject voor de verschillende projecten in de juiste volgorde worden uitgevoerd. Betabit is aangehaakt voor het procesmatige traject; zij onderzochten met Protomation de beste manier om (samen) te werken in de nieuwe omgeving.
Om draagvlak te creëren bij het ontwikkelteam hebben we de migratie onderverdeeld in een aantal projecten. Stap voor stap hebben we zo de hele ontwikkelstraat overgeheveld naar Azure DevOps, zodat het team van Protomation aangehaakt bleef.
Protomation wenste een kickstart. We hebben daarom bewust het aantal consultancy-uren laag gehouden en ervoor gezorgd dat Protomation op zeer korte termijn zelf aan de slag kon met de omgeving.
Het resultaat
- Door de integratie van Azure DevOps kan Protomation nu geautomatiseerd en sneller nieuwe versies deployen. Voorheen deed Protomation dit handmatig. Het klaarmaken van de software voor deployment bestond daardoor uit behoorlijk wat stappen die elke keer doorlopen moesten worden. En dat is een foutgevoeliger en tijdrovender proces.
- Samen met Protomation is de beste manier onderzocht om Azure DevOps toe te passen, zonder dat het frictie oplevert voor de ontwikkelaars tijdens de lokale ontwikkelcyclus.
- Er is een drietal Azure Pipelines opgeleverd, waarmee de software compleet geautomatiseerd gebouwd en verpakt kan worden.
- Tijdens de kickstart hebben we de belangrijkste elementen geautomatiseerd. We hebben er samen met Betabit voor gezorgd dat Protomation nu zelfstandig aan de slag kan met Azure DevOps.