Sinds 1993 ontwikkelt TOPdesk software voor het beheren van meldingen, en een totaaloplossing voor Enterprise Service Management. “Wij maken ticketing-software en digitaliseren bedrijfsprocessen. Dat is de meest korte en eenvoudige manier om te vertellen wat we bij TOPdesk doen”, aldus Max Veenhof, technisch consultant en inmiddels alweer negen jaar werkzaam bij hij het bedrijf.
TOPdesk bestaat uit verschillende modules. In dit artikel zoomen we in op de populaire Asset Management-module. Deze staat inmiddels als een huis, maar dat ging niet zonder slag of stoot. Max Veenhof en ontwikkelaar Viktor Tamás zetten de ontwikkeling van deze module - en alle uitdagingen die daarbij kwamen kijken - in dit artikel uiteen.
De ontwikkeling van de Asset Management-module: een lange, uitdagende reis
De huidige Asset Management-module is volgens het bedrijf betrouwbaar, robuust en makkelijk in gebruik, maar daar is wel een lange weg van vallen en opstaan aan voorafgegaan. “Je zou het onze eigen Redemption Story kunnen noemen”, lacht Veenhof: “Toen we in 2014 van on-premise naar SaaS wilden overgaan, werd er een compleet nieuwe module ontwikkeld. Dat is uiteindelijk onze succesvolle Asset Management-module geworden.”
De ontwikkeling ging zogezegd niet over een nacht ijs. Sterker nog, men schatte in dat de ontwikkeling wel twee jaar zou gaan kosten. Dat klopte, want er moest een compleet nieuw systeem vanaf scratch worden ontwikkeld. “Het probleem was dat het na die twee jaar nog slechts een minimum viable product (mvp) was”, stelt Veenhof. “We lieten het door klanten testen voor feedback, en daar kwam behoorlijk wat kritiek uit naar voren.”
In het begin waren klanten enthousiast. Het mvp oogde fraai en kende veel mogelijkheden om zelf velden toe te voegen en eigen indelingen te maken. Al snel sloeg de stemming om. Veenhof: “Temeer omdat veel klanten destijds nog prima vooruit konden met de oude configuratie: Configuratiebeheer. Bovendien miste het mvp een boel standaardfunctionaliteiten waarover men wel in Configuratiebeheer beschikte. En het mvp gaf tal van foutmeldingen. Dat was pijnlijk.”
Van interne tools naar opensource-tools
Viktor Tamás, senior solution architect en tien jaar werkzaam bij TOPdesk, was van het begin betrokken bij de module. Hij kijkt terug op de ontwikkeling ervan: “Ik heb veel code geschreven binnen de module, en code van anderen gereviewd. Tegenwoordig ben ik meer betrokken bij vergaderingen, we voeren discussies waarbij we strategische beslissingen nemen, samen met managers, architecten, ontwerpers en andere ontwikkelaars. Naarmate TOPdesk zich verder ontwikkelde, werd het een grote complexe massa code die we in software-engineering ook wel monolith noemen. "Naarmate TOPdesk zich verder ontwikkelde, werd het een grote complexe massa code die we in software-engineering ook wel monolith noemen"
Dit patroon is typerend voor de meeste IT-software, vooral ontwikkeld rond het millennium.”
Hij vervolgt: “Toen we met Asset Management begonnen, vond de ontwikkeling nog steeds in de grote centrale codebase plaats, maar we volgden een aantal regels die het mogelijk maakten om deze module in de toekomst te decomponeren tot een meer onafhankelijke (micro)service. Zo waren er strikte regels voor de communicatie met de rest van de TOPdesk-modules. Ook Asset Management heeft een enigszins onafhankelijke releasecyclus ten opzichte van het centrale product. Onze module is nog geen volledig zelfstandige dienst, maar het is wel de volgende uitdaging die op ons ligt te wachten.”
In eerdere jaren heeft TOPdesk veel tijd geïnvesteerd in het ontwikkelen van eigen oplossingen en bibliotheken. Tamas: “Toen we keken naar de functionele eisen van Asset Management bracht dat op zich al te veel risico's met zich mee. Daarom is besloten dat we in het begin geen extra risico zouden nemen door nieuwe tools en technologieën te gebruiken. We zijn dus doorgegaan met de bestaande oplossingen binnen TOPdesk. Na verloop van tijd werd echter duidelijk dat het gebruik van eigen closedsource-tools niet productief genoeg zou zijn. Als we problemen of feature requests hadden voor interne libraries, moesten we de oplossingen zelf binnen het bedrijf zoeken, waarbij we kostbare tijd van onze collega's gebruikten. Dit terwijl het in de opensource-wereld mogelijk is om de meeste oplossingen in enkele minuten op het internet te vinden. We zijn uiteindelijk overgestapt van het gebruik van interne tools naar opensource-tools.”
Dynamisch én conservatief
Uiteindelijk kwam er een nieuwe product owner, werd het ontwikkelteam flink uitgebreid en werd het leeuwendeel van de module herschreven. Alles ging terug naar de tekentafel. “Binnen een paar maanden zag je dat er al direct grote stappen werden gezet. Zaken werden professioneel aangepakt en het volwassen, volwaardige ontwikkelteam is nooit meer weggegaan”, zegt Veenhof met gepaste trots. “Terwijl het voorheen best lang duurde als er iets aan de hand was, kost het nu minder dan een week om een foutmelding of bug aan te passen; het wordt meteen opgepakt.”
Tamás vult aan: “Er waren in het begin verschillende use-cases die het systeem ‘pijn deden’ op het gebied van database-performance. We moesten dus een aantal prestatieproblemen oplossen en de databasestructuren optimaliseren. Asset Management is een zeer flexibele module met een oneindig aantal gebruiksscenario's en het is niet mogelijk om je op elke extreme voor te bereiden, zelfs niet door grondig onderzoek. Tegenwoordig monitoren we continu de performance-metriek. Als we een degradatie herkennen, lossen we het probleem proactief op door het betreffende deel van de software te optimaliseren.”
“Asset Management was de eerste module in TOPdesk die gebruik ging maken van een aantal geheel nieuwe concepten binnen TOPdesk, waardoor het noodzakelijk werd om nieuwe werkwijzen op te zetten”, vervolgt Tamás. “Een daarvan is de zogenaamde frontend-development waarbij de backend en frontend duidelijk gescheiden zijn en via REST-api's met elkaar communiceren. Vroeger, wat nu wellicht vreemd in de oren klinkt, genereerde de Java-server (op andere plaatsen PHP of .net) Javascript-code die in de browser draaide, zodat niemand HTML en Javascript hoefde te kennen. Maar Javascript-tooling en browsers zijn de laatste jaren zo verbeterd dat het de manier waarop we erover denken compleet heeft veranderd. HTML/JS-ontwikkeling is geen onnozel speeltje meer waar niemand mee wil werken, maar een zeer diepgaand vakgebied met veel mogelijkheden en uitdagingen.”
Software as a service, naadloze integratie met apps van derden, en de toekomst
Veenhof ziet dat de huidige klanten tevreden zijn en de nieuwe module hebben omarmd: “De module is flexibel en veelzijdig. Dankzij sjablonen ontwerp je iedere middelenkaart zo dat hij precies de informatie weergeeft die je nodig hebt. Daarnaast voeg je desgewenst functionaliteiten toe die het beste bij je processen passen en creëer je velden die relevant zijn voor jouw specifieke bedrijfsmiddelen.”
“De ITAM-tool van TOPdesk bevat een grafisch overzicht van alle middelen in de organisatie”, vervolgt Veenhof. “Zo is in één oogopslag te zien wie welke pc gebruikt en op welke werkplek. Dankzij de visuele weergave is het makkelijker om een impactanalyse te maken, een storing te lokaliseren en de oorzaak te achterhalen.” Ook de onderlinge relatie tussen middelen wordt in kaart gebracht. “In Asset Management registreer je eenvoudig welke middelen afhankelijk zijn van elkaar. Is er bijvoorbeeld een serverstoring? Dan is de kans groot dat gekoppelde applicaties ook niet werken. Met Asset Management zie je precies welke server niet meer werkt en welke middelen niet beschikbaar zijn.”
Als onderdeel van de TOPdesk-software is de Asset Management-module makkelijk te integreren met software van derden. Zo is hij eenvoudig te integreren met verschillende andere applicaties, zoals Nagios, LANDesk, SCOM, CCM en SAP. Sowieso staat de ondersteuning van api’s hoog in het vaandel bij TOPdesk. “Speciaal voor ontwikkelaars is er de TOPdesk Applicatie Programming Interface, te vinden op onze website”, aldus Veenhof.
Veenhof: “Stabiele integraties van tools zijn essentieel om verlies van informatie te voorkomen. "Stabiele integraties van tools zijn essentieel om verlies van informatie te voorkomen"
Bij TOPdesk weten we hoe belangrijk het is dat onze software goed samenwerkt met andere tools. Daarom hebben we de TOPdesk-api geïntroduceerd: een interface die TOPdesk openstelt en andere tools naadloos laat communiceren met anderen - zonder ingewikkeld maatwerk. Wij bieden al een aantal standaard integraties aan, zoals active directory en Microsoft Skype for Business. Dankzij de api kunnen klanten zelfstandig TOPdesk-functies uitbreiden en integraties bouwen.”
Al met al is de Asset Management-module uitgegroeid van pijnpunt tot groot succes. Veenhof: “Nieuwe klanten gebruiken de Asset Management-module direct en bestaande klanten zien we steeds vaker overstappen.” Bovendien is de module nooit af; regelmatig worden updates doorgevoerd. Zo blijft hij zich evolueren om tegemoet te komen aan de uiteenlopende behoeften van diverse klanten.
Dit artikel is geen redactioneel artikel, maar gesponsord en tot stand gekomen dankzij TOPdesk en Tweakers Partners. Dit is de afdeling binnen Tweakers die verantwoordelijk is voor commerciële samenwerkingen, winacties en Tweakers events zoals meet-ups, Developers Summit, Testfest en meer. Kijk hier voor een overzicht van alle acties en events. Mocht je ideeën met ons willen delen over deze vorm van adverteren, dan horen wij dat graag. Hierover kun je met ons in gesprek via [Discussie] Reclame algemeen].