Voor veel organisaties is het lastig om alle changes bij te houden, zowel op technisch vlak als op UX-gebied. Frontend-developer Ryan Kool en UX-designer Chris van Schayk van de Landelijke Eenheid vertellen tijdens de Developers Summit (2 t/m 5 juni) over Blauwdruk. Dit is een designsysteem dat het werk van developers en UX-designers in hun organisatie op één lijn houdt en versnelt.
Ryan Kool is als frontend-developer verantwoordelijk voor de software-architectuur van Blauwdruk, een nieuw technisch designsysteem voor de politie. In een team van zes mensen is hij zowel lead developer als architect. Sinds een jaar is hij bij de politie gedetacheerd. Aanvankelijk werkte hij volledig aan RAPP, een systeem waarmee politieagenten met een mobiele applicatie tijdens hun dienst meldingen kunnen doorgeven. In dit project trof hij UX-designer Chris van Schayk. “Hij vertelde dat binnen de politieorganisatie grote behoefte bestond aan stroomlijning van de gebruikservaring en het gebruiksgemak.”
UX als doelstelling, maar ook technische efficiëntie
Behalve een gebruikersgerichte doelstelling (UX) zagen Chris en Ryan mogelijkheden om zaken technisch efficiënter aan te pakken. “Wat dat betreft sloot het verhaal van Chris goed aan bij wat ik zelf ook had gemerkt”, vertelt Ryan. “We hebben bij de politie meer dan tachtig ontwikkelteams waarvan er zo’n vijftien betrokken zijn bij het RAPP-project. De onderlinge communicatie is best goed, maar je kunt niet uitsluiten dat er dubbel werk wordt verricht of dat iets er nét even anders uit komt te zien dan eigenlijk de bedoeling was. Chris was daarom al begonnen met de aanzet tot een designsysteem, met een library voor herbruikbare componenten.”
Blauwdruk is ontstaan vanuit het idee om alle technische changes bij te houden op één plek waar ook de ontwikkelingen rond UX staan. Dit zorgt voor consistentie in het ontwikkelproces, met componenten die generiek toepasbaar zijn. “Je hoeft hierdoor maar één keer de kwaliteit te waarborgen en één keer te distribueren, waarna alle teams het systeem kunnen afnemen.” Deze centrale plek is ingericht met Nexus als private repository.
Inner sourced opensource-project
Inmiddels is Ryan als lead developer het grootste deel van zijn tijd bezig met het ontwikkelen van componenten voor project Blauwdruk. “Tegelijkertijd ben ik ook betrokken bij het RAPP-project en andere teams, vooral om te testen of de componenten werken zoals bedoeld.” Hij ziet dat steeds meer teams nieuwe componenten aan de library toevoegen en ook gebruiken. “Wanneer een team iets nodig heeft dat nog niet in de library staat, denk bijvoorbeeld aan een dropdown-menu, kan het dat in principe zelf bouwen. Dit is een soort distributed way of working waarbij ons team zorgt voor de kwaliteitscontrole en het publiceren in de library. Zo groeit Blauwdruk steeds meer uit tot een inner sourced opensource-project waarmee iedereen in de organisatie wel iets kan.”
Na ongeveer een jaar is het project al ver gevorderd. In dat jaar moest het team her en der lastige keuzes maken. Ryan: “We zijn begonnen met bouwen in Angular Material, omdat het RAPP-project - waar de focus op lag - daarmee werkte. We moesten snel componenten opleveren en zorgen dat het project werd versneld. De eerste driekwart jaar hebben we daar heel intensief aan gewerkt, met als resultaat een volwaardige library.” Bij het bouwen in Angular kwam het team ook een technische bottleneck tegen, vertelt hij. “Niet alle projecten bij de politie die met Angular zijn geschreven maken gebruik van dezelfde versie. Ze werken daardoor niet allemaal goed samen met de Angular-versie die we in de library gebruiken.”
Van Angular naar StencilJS
Om het incompatibiliteitsprobleem op te lossen, besloot het team over te stappen op het ontwikkelen van webcomponenten met StencilJS. “Daarmee ben je niet afhankelijk van het Angular-framework en kun je gemakkelijk werken met html en Javascript. Het maakt daardoor niet uit als de politie in de toekomst met bijvoorbeeld React of een andere taal wil werken; de libary is er compatibel mee. Een nadeel is dat de library minder compleet is dan wat al in Angular is te vinden, dus we moeten zelf meer bijbouwen. Daar zijn we inmiddels mee begonnen.”
De reacties die het Blauwdruk-team uit de rest van de organisatie krijgt zijn positief, vertelt Ryan. “Wat ons helpt is dat we de volledige support van het management hebben gekregen. Daardoor kunnen we dit fulltime doen en hebben we in ons team een tester, een scrum-master en behalve onszelf nog twee developers. Veel teams zijn inmiddels actief aangehaakt en zijn er heel blij mee, want het neemt ze veel werk uit handen. Projecten lopen makkelijker door Blauwdruk en daarvoor is het echt een soort kickstart, helemaal nu de bottleneck met Angular er niet meer in zit en er minder afhankelijkheden zijn. De library is daardoor een stuk makkelijker te gebruiken. Van politieagenten krijgen we inmiddels te horen dat de UX van hun apps een stuk consistenter is.”
Tweakers Developers Summit
In bijna elke organisatie kan het niveau van development groeien door goed na te denken over een designsysteem. Een van de inspirators van Ryan is de Amerikaan Brad Frost, die een boek schreef over atomic design. “Hij legt uit hoe je development in stukjes kunt knippen en hoe dat op de lange termijn veel tijdbesparing en kwaliteit oplevert. Niet alleen zorgt een goed designsysteem ervoor dat de hoeveelheid frustratie afneemt, het leidt ook tot minder fouten en zorgt voor meer consistentie in je projecten. Dat is precies waar we naartoe willen voor onze eindgebruikers: een standaardmanier van werken aanbieden die onze operatie zo goed mogelijk ondersteunt.”
In de frontend-track van de Tweakers Developers Summit zullen Ryan en Chris verschillende aspecten van het project toelichten. “We zullen natuurlijk vertellen waar de noodzaak voor Blauwdruk vandaan kwam en hoe het project is ontstaan. Verder willen we de voor- en nadelen van onze keuzes op technisch gebied uitleggen, waaronder die voor Angular, StencilJS en Storybook. Daarbij vertellen we over onze ervaringen, wat we zijn tegengekomen en waarover we enthousiast of juist minder enthousiast zijn.”
Meer weten over de Developers Summit? Kijk hier voor alle informatie over het event.
Meer informatie over de politie vind je hier.
Dit artikel is geen redactioneel artikel, maar een advertorial en tot stand gekomen dankzij de politie 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].