Een prestatiebudget is een reeks expliciete limieten voor de kenmerken die bepalen hoe snel een pagina laadt en reageert. Deze limieten worden vooraf afgesproken en tijdens het ontwikkelingsproces gehandhaafd. Budgetten worden doorgaans uitgedrukt als drempelwaarden voor statistieken zoals Largest Contentful Paint, voor hoeveelheden zoals de totale JavaScript-grootte, of voor regels zoals het aantal toegestane verzoeken van derden.
Het probleem dat wordt aangepakt, is eerder regressie dan optimalisatie. Websites worden niet traag door één enkele beslissing; ze worden steeds zwaarder door vele, op zichzelf redelijke toevoegingen, die elk te klein zijn om problemen te veroorzaken. Een nieuwe functie, een extra tracking-script, een grotere hero-afbeelding, een ander lettertype en een upgrade van de componentenbibliotheek voegen elk een fractie van een seconde toe, en na twee jaar is de site aanzienlijk trager zonder aanwijsbare oorzaak. Een budget zorgt ervoor dat elke toevoeging tegen een limiet aanloopt.
Budgetten werken omdat ze een abstracte voorkeur voor snelheid omzetten in een beperking waarmee rekening moet worden gehouden op het moment dat een beslissing wordt genomen. Zonder budget vindt de discussie over de kosten van een script pas achteraf plaats, of helemaal niet, en heeft de persoon die de toevoeging voorstelt geen reden om die te overwegen. Met een budget betekent het toevoegen van iets dat je binnen de limiet blijft of expliciet iets anders verwijdert, wat sowieso de afweging is die zou moeten plaatsvinden.
Het vaststellen van de cijfers vereist bewijs in plaats van ambities. Nuttige referentiepunten zijn onder andere de huidige prestaties, zodat het budget verslechtering voorkomt; concurrentiemetingen, zodat het doel de markt weerspiegelt waarin de site concurreert; en de drempelwaarden die gekoppeld zijn aan de statistieken die van belang zijn voor zoekmachineoptimalisatie en gebruikerservaring. Budgetten die zijn vastgesteld op niveaus die de site momenteel niet kan halen, zijn nuttig als streefwaarden, maar moeten worden onderscheiden van limieten die worden opgelegd aan nieuw werk, anders mislukt elke build en wordt de controle uitgeschakeld.
Handhaving in geautomatiseerde tools is wat een budget onderscheidt van een document. Het integreren van de controle in de build-pipeline, zodat een wijziging die de limiet overschrijdt mislukt of expliciete goedkeuring vereist, is het mechanisme dat dit gedrag teweegbrengt. Budgetten die in een specificatie zijn vastgelegd en periodiek worden gecontroleerd door een betrokken engineer, worden routinematig overschreden, omdat tegen de tijd dat iemand het opmerkt, het werk al is opgeleverd en de kosten van het terugdraaien hoger zijn dan de kosten van acceptatie.
De granulariteit moet aansluiten bij de manier waarop de website is opgebouwd. Verschillende templates hebben verschillende kenmerken, en een enkel budget voor de hele website kan een eenvoudige pagina onnodig beperken of een interactieve pagina ongecontroleerd laten uitbreiden. Door budgetten per template in te stellen, met de strengste limieten voor de belangrijkste pagina's zoals landingspagina's en afrekenpagina's, wordt de beperking gericht op de plekken waar het er het meest toe doet.
Uitzonderingen vereisen een vastgestelde procedure in plaats van dat ze verboden of informeel zijn. Legitieme gevallen doen zich voor wanneer een functionaliteit daadwerkelijk extra gewicht rechtvaardigt, en een budget zonder uitzonderingsmogelijkheid wordt omzeild of blokkeert waardevol werk. Door te eisen dat een uitzondering wordt aangevraagd, goedgekeurd door iemand die verantwoordelijk is voor de uitvoering, en vastgelegd met een vervaldatum, blijft het mechanisme geloofwaardig en worden legitieme gevallen toch mogelijk gemaakt.
Omdat budgetten de besluitvorming binnen engineering, ontwerp en marketing beperken, is overeenstemming nodig die verder reikt dan het team dat de prestaties meet. In de praktijk worden de grenzen gesteld door webprestaties werk, handhaving is ingebouwd in het proces door productontwikkelingEn de commerciële onderbouwing voor de beperking wordt doorgaans gegeven door de prestaties te koppelen aan de conversie met behulp van de analyse die wordt bijgehouden via Data analytics.