Vertrouwen terugkrijgen in je software

SmartFile had al waardevolle software, maar de technische basis bemoeilijkte verdere ontwikkeling. Samen verbeterden we de codebase, de tests en het uitrolproces, zodat het team met meer vertrouwen nieuwe functies kon toevoegen.

Technieken
Ruby on Rails
Infra
CI/CD, Automated testing
Expertise
Backend, DevOps

Opdrachtgever

SmartFile
Branche
Zorg
Locatie
Utrecht

Team

Martijn

Smartfile is een alles-in-1 softwarepakket voor fysiotherapeuten met enorm veel functionaliteiten. Gebruikers kunnen hun klantenbestanden bijhouden, patiëntendossiers ordenen, afspraken beheren en ook nog de administratie bijhouden. Een stevig pakket dat zowat elke kant van de praktijkvoering dekt.

SmartFile

De situatie

Een product dat werkte, maar te kwetsbaar was geworden

Smartfile breidde de applicatie steeds uit op basis van vragen uit de markt. Het aantal functies groeide, terwijl de onderliggende techniek minder betrouwbaar werd. Vooral bij het toevoegen van nieuwe functies nam het risico op fouten toe.

En dat raakt niet alleen de ontwikkelaars. Als software gevoelige gegevens verwerkt, is een gebrek aan vertrouwen meteen een risico voor het bedrijf zelf. De angst dat een kleine wijziging iets vernielt of data uitlekt, remt iedere volgende stap die je eigenlijk moet zetten om te groeien.

Bij Smartfile speelde vooral de toegang tot patiëntgegevens een rol. Een fout in de Woordenboek · In het kortautorisatieAutorisatie is het bepalen en afdwingen welke gegevens en functies een gebruiker, apparaat of applicatie mag benaderen.Lees meer zou ertoe kunnen leiden dat een behandelaar dossiers ziet waarvoor die geen toegang heeft. Zorgen over zulke fouten maakten het team terughoudend om de applicatie uit te breiden.

De vraag achter de vraag

Een betrouwbare basis voor nieuwe functies

Smartfile vroeg om hulp bij het toevoegen van functies. Daarvoor moesten eerst de autorisatie, de tests en het releaseproces worden verbeterd, zodat het team met meer vertrouwen wijzigingen kon doorvoeren.

Plan van aanpak

De fundering opnieuw leggen

De technische basis van de applicatie is opnieuw geschreven. Bij de autorisatie krijgt een gebruiker standaard geen toegang tot gegevens, tenzij die daar expliciet toestemming voor heeft. Dat verkleint de kans op onbedoelde toegang tot patiëntgegevens. Met deze basis kan het developmentteam van Smartfile met meer vertrouwen nieuwe functies toevoegen.

Telkens wanneer er nieuwe code bijkomt moet je de hele software opnieuw testen. Dat is een intensieve, tijdrovende klus, dus we zijn overgegaan op geautomatiseerde tests. Om dat voor elkaar te krijgen moesten we eerst netjes inventariseren wat er allemaal al aan functionaliteiten in zat. Bouwt Smartfile in de toekomst iets nieuws, dan laat de server direct al die automatische tests lopen. Nieuwe code steeds testen zorgt dat je constant in de gaten houdt of de applicatie blijft functioneren na je laatste aanpassingen.

Daarnaast hebben we het uitrolproces aangepakt en vergaand geautomatiseerd. Bij een standaard Woordenboek · In het kortdeploymentEen deployment is het proces waarmee een gekozen versie van software in een doelomgeving wordt geïnstalleerd en gestart, zodat die daar getest of gebruikt kan worden.Lees meer doorloop je al snel zo'n acht stappen in een vaste volgorde. Automatisering zet software online binnen een paar minuten. Met een tweede omgeving kun je zero Woordenboek · In het kortdowntimeDowntime is de periode waarin software, een systeem of een online dienst niet beschikbaar is of essentiële functies niet bruikbaar zijn.Lees meer deployen en direct Woordenboek · In het kortrollbackEen rollback is het terugdraaien van een wijziging, zodat software, configuratie of gegevens terugkeren naar een eerdere toestand. Teams gebruiken dit wanneer een wijziging fouten of andere ongewenste gevolgen veroorzaakt.Lees meer als iets misgaat.

Wat we toevoegen

  • Een stabiele basis Met een sterke autorisatiebasis is er minder kans op fouten rond toegang tot gevoelige patiëntinformatie.

  • Geautomatiseerde tests Elke codewijziging triggert tests, waardoor je sneller ziet wat een wijziging losmaakt en minder handmatig hoeft te controleren.

  • Geautomatiseerde deployment Minder handmatige stappen, minder foutkans in het releaseproces en de mogelijkheid tot rollbacks.

Kwaliteit en continuïteit

Releases die je kunt vertrouwen

Tests en geautomatiseerde deployment maken Woordenboek · In het kortreleaseEen release is een herkenbare versie van software die is klaargemaakt om beschikbaar te stellen aan gebruikers. Zo'n versie bundelt een of meer gecontroleerde wijzigingen.Lees meer voorspelbaarder. Het team kan wijzigingen controleren en opleveren via een vaste werkwijze, met minder handmatige stappen.

Resultaat

Klaar om weer te bouwen

Fundering verbeterd, testaanpak en deployment anders neergezet, en eindelijk werd nieuwe functionaliteit toevoegen weer werkbaar. De applicatie is stabieler geworden, de ontwikkelsnelheid nam toe en het team bij Smartfile kreeg de veilige basis terug om vooruit te bouwen.

Voor het team was het belangrijk dat het wijzigingen kon doorvoeren met vertrouwen in de omgang met patiëntgegevens.

Key takeaways

  • Vertrouwen in je eigen software is een harde voorwaarde voor groei, zeker bij patiëntgegevens.

  • Autorisatie werkt beter als je expliciet rechten geeft in plaats van impliciet alles open te zetten.

  • Tests en geautomatiseerde deployment maken releases voorspelbaar en nemen angst weg bij live zetten.

CONTACT

Neem contact met ons op

Heb je een vraag of wil je sparren over je software? Laat je gegevens achter, dan nemen we snel contact met je op.