Software die uitgebreid kan worden
De prijs van functie nummer twintig wordt bepaald door keuzes die u bij functie nummer twee maakt. Meestal in het datamodel.
8 min lezen
Performance
Bijna elke website is snel bij oplevering en traag een jaar later. Een performance-budget doorbreekt dat patroon — mits het overschrijden ervan daadwerkelijk iets doet.
Bijna elke website is snel op de dag van oplevering. Een jaar later niet meer. Er is een meetscript bijgekomen, een chatwidget, een derde lettertype en een carrousel met ongecomprimeerde foto's. Niemand heeft één grote fout gemaakt; iedereen heeft een kleine gemaakt.
Een performance-budget is het gereedschap dat dat patroon doorbreekt. Het is geen meting achteraf, maar een afspraak vooraf: dit zijn de grenzen, en een wijziging die eroverheen gaat komt er niet in. Hieronder staat hoe u zo'n budget vastlegt, waarom het meestal alsnog verwatert, en wat er nodig is om het wel te laten houden.
Een budget is een klein aantal getallen waar iedereen op het project van weet. Niet twintig metrics uit een rapport, maar de handvol die het verschil maken tussen een pagina die reageert en een pagina die traag aanvoelt. In de regel leggen we er vier vast:
De precieze getallen zijn minder belangrijk dan het feit dat ze bestaan en ergens staan opgeschreven. Een budget dat alleen in het hoofd van één ontwikkelaar zit, is geen budget.
Performance verslechtert zelden door één beslissing. Het gebeurt door twintig redelijke beslissingen die stuk voor stuk verdedigbaar waren. Marketing wil een heatmap. Sales wil een chatwidget. Een ontwikkelaar pakt een bibliotheek van 90 kB voor een datumkiezer die met 3 kB ook had gekund.
Het punt is niet dat die keuzes verkeerd zijn. Het punt is dat niemand op het moment van kiezen de optelsom zag. Zonder meting op het moment van wijzigen blijft de rekening onzichtbaar tot de site merkbaar traag is — en dan is terugdraaien duur geworden.
Een budget werkt alleen als overschrijden gevolgen heeft. Niet een waarschuwing die iedereen wegklikt, maar een build die faalt. Vier stappen zijn genoeg:
Deze vier stappen kosten samen minder dan een dag inrichten. Het rendement is dat een probleem zichtbaar wordt op het moment dat het ontstaat, in plaats van maanden later in een rapportage.
Een budget dat nooit mag wijken, wordt op een gegeven moment genegeerd. Er zijn functies die hun gewicht waard zijn: een kaart, een editor, een videospeler. De vraag is niet of iets zwaar mag zijn, maar of het zwaar moet zijn op elke pagina, voor elke bezoeker, meteen bij het laden.
De juiste vraag is zelden 'is dit te zwaar', maar 'wie betaalt hiervoor, en wanneer'.
Meestal is het antwoord dat de functie pas geladen hoeft te worden wanneer iemand hem gebruikt. Een kaart die pas laadt bij het openen van dat tabblad kost de overige bezoekers niets. Zo blijft het budget intact zonder dat er functionaliteit sneuvelt.
Leg vier getallen vast, meet ze bij elke wijziging, laat de build falen bij overschrijding en verhoog de grenzen alleen bewust. Dat is het hele mechanisme. Het moeilijke eraan is niet technisch — het is de afspraak volhouden op de dag dat er haast is.
Waar dit op aansluit
Dit artikel komt voort uit het werk dat we doen. Hieronder staat waar dat concreet over gaat.
Verder lezen
De prijs van functie nummer twintig wordt bepaald door keuzes die u bij functie nummer twee maakt. Meestal in het datamodel.
8 min lezen
Elke API valt een keer uit. Het verschil tussen een korte hapering en een dag handmatig herstel zit in drie dingen die u vooraf inbouwt.
7 min lezen
Volgende stap
Eén gesprek van dertig minuten is meestal genoeg om te bepalen wat u nodig heeft, wat het ongeveer kost en hoe lang het duurt. Daar zit u nergens aan vast.