Frontend engineering has grown up. We’ve moved past make it look good - now we’re building products that are secure, accessible, scalable, and maintainable. But here’s the trap: most teams still operate on assumptions.
The truth? Without measurement, these are just stories we tell ourselves.
A few months ago, I rediscovered the work of Capers Jones, a pioneer in software metrics and quality. His research showed that successful engineering teams don’t guess - they measure, prevent, design, and experiment. This post reimagines those timeless ideas for today’s frontend world - where we move fast, but must still build things that last.
Be data-driven, prevention-focused, future-minded, and evidence-based. That’s how great frontend teams build software that lasts.
You can’t manage what you can’t measure.
– Capers Jones
Frontend teams often celebrate shipping speed but rarely quantify it.
Jones’ decades of research proved that the best-performing teams track predictive metrics - not vanity numbers like commit count or story points, but ones that reveal delivery health and system quality.
Example: Our PRs once averaged 2.7 days to merge. Once we exposed that metric publicly, the team introduced draft PRs, PR reviews just after stand-up, and small batch merges. Within two months, median time dropped to 1.2 days - no politics, no nagging, just visibility.
Key takeaway:
Metrics are not for management; they’re for craftsmanship. They help engineers see what’s really happening - and improve with intent.
Fixing a bug after release can cost up to 100x more than preventing it. Jones proved this long before CI existed - and the principle holds stronger than ever in frontend.
Key takeaway:
Preventing defects isn’t ceremony - it’s leverage. The less time you spend fixing, the more you spend creating.
Maintenance is where the real cost lies.
– paraphrasing Jones
Jones found that 60–80% of software cost happens after release. Frontend engineers know this pain: outdated libraries, unclear components, cryptic prop types. Designing for tomorrow is how we avoid that slow decay.
Example – Component Library Refactor At one company, we inherited a 3-year-old codebase with inconsistent patterns and missing docs. We reorganised by domain, split into multiple logical URL paths added Storybook stories for each important flow. Onboarding new engineers dropped significantly, stakeholders and cross-teams were very happy as they know where to look for how the page looks and what is the URL - simply by investing in clarity.
Key takeaway:
Write code like you’ll maintain it forever. Because you probably will.
Frontend is notorious for cargo-cult adoption: “we use X because everyone does.”
Jones’ philosophy was the opposite - treat every change as an experiment, collect data, and learn empirically.
Before adopting a tool or process, ask:
Run a trial in one service for a few sprints. Measure before and after. Decide based on evidence, not hype.
Experiment Template
| Field | Description |
|---|---|
| Hypothesis | What do we expect to change? (e.g. “Switching to Vite will reduce build time by 40%.”) |
| Baseline Metrics | Current state - build time, bundle size, DX survey score, incident rate |
| Target Metrics | What success looks like |
| Scope | One service or module for 2–4 sprints |
| Duration | Set timeframe for measurement |
| Data Collection | CI logs, monitoring, surveys |
| Decision Criteria | Define adoption plan / adjust / rollback conditions |
| Documentation | Log results for future decisions / Create an architecture decision record document |
Example:
Key takeaway:
Pragmatism is seniority. Measure before adopting. Prove before scaling.
| Principle | Why It Matters | Modern Practice |
|---|---|---|
| Measure What Matters | Data reveals bottlenecks | Instrument CI/CD, build dashboards |
| Prevent, Don’t Just Detect | Early fixes cost less | Linting, visual & a11y tests pre-merge |
| Design for the Long Term | Maintenance dominates cost | Modular architecture, clarity, docs |
| Be Evidence-Based | Avoid hype & waste | Run experiments, decide with data |
Frontend engineering today demands the same rigour as any mature discipline. The lessons are old but evergreen:
That’s the philosophy Capers Jones championed - and it still defines what separates teams that ship quickly from teams that sustain excellence.
Quality isn’t expensive.
Guessing is.
Sun, 10 August 2025
React Hooks: A Practical Guide for Real-World Frontend Development
React hooks simplify state and side-effect management, but they're also easy to misuse. Here's a practical guide to mastering hooks in real-world projects, without falling into common traps.
Mon, 4 August 2025
When DRY Goes Wrong: The Case Against Early Abstractions
Premature abstractions can do more harm than good. Learn when repetition is better and how to know when to abstract safely.
Sat, 19 April 2025
How To Actually Test Your Frontend Code
Writing tests on the frontend that matter is hard. What exactly to test can feel a bit mysterious and can lead to bad practices of either test the wrong things or testing less critical stuff on the page
Subscribe to get updates on new blog posts, useful frontend tips and ideas you can apply in your own work.