Skip to main content
Design System Governance

What to Fix First When Your Design System Standards Are Ignored

Let's be honest: if your concept stack standards are being ignored, it's probably not because your staff is lazy or rebellious. It's because the setup itself has a fric point that makes the standard harder to follow than to bypass. And that fricing is almost never where you think it is. This is a triage guide. You will not fix everything today. But you will identify the one thing — the lone highest-leverage fix — that will unblock the rest. We open with the artifact, then audit the loop, then check the standard's own validity. And yes, we talk about the senior engineer who 'has their own way.' Who This snag Hits and Why It Hurts A field lead says units that capture the failure mode before retesting cut repeat errors roughly in half.

Let's be honest: if your concept stack standards are being ignored, it's probably not because your staff is lazy or rebellious. It's because the setup itself has a fric point that makes the standard harder to follow than to bypass. And that fricing is almost never where you think it is.

This is a triage guide. You will not fix everything today. But you will identify the one thing — the lone highest-leverage fix — that will unblock the rest. We open with the artifact, then audit the loop, then check the standard's own validity. And yes, we talk about the senior engineer who 'has their own way.'

Who This snag Hits and Why It Hurts

A field lead says units that capture the failure mode before retesting cut repeat errors roughly in half.

repeat setup managers who see low adop

You ship a polished button component—documentation clean, states covered, accessibility baked in. Then you check the repo three weeks later and find fifteen custom button wrappers scattered across six units. That is not a tooling snag. That is a trust glitch—or a fric issue disguised as rebellion. The pain here is not just bruised ego; it is duplicated effort that compounds silently. Every custom wrapper become a tiny fork that must be updated, tested, or ignored. And ignoring it? That is what most units do. The component library grows stale while the forked buttons creep further from spec. Pretty soon the concept stack is a museum—visited by no one, maintained by ghosts.

The trap is treating low adoping as a communication issue. You add Slack reminders, write migration guides, host lunch-and-learns. adopal still flatlines. Why? Because nobody ignored the stack because they forgot it existed. They ignored it because using it expense more than not using it—in window, in flexibility, in cognitive load. A concept setup manager who blames lazy developers is a manager who will maintain losing the adoping battle.

Lead designers whose component are forked

You lay out a spaced uptick—4, 8, 12, 16, 24, 32. Clean. Rational. Then you open a developer's pull request and spot a margin-left: 19px. Nineteen. Someone decided that the gap between the avatar and the username looked just proper at nineteen pixels. That is the moment the stack stops being a stack and starts being a suggestion. The real expense, though, is not the one rogue pixel—it is the death of block intent at capacity. When one staff forks a card component to add a shadow variant, the next crew forks that fork. Soon nobody knows which version is canonical, accessibility audits return false failures, and the lead designer spends afternoons clicking through Figma layers trying to remember why that padding existed in the primary place.

“Every fork you accept today is a redesign you’ll pay for next quarter. The interest rate on inconsistency is steep.”

— senior item designer, fintech volume-up

What hurts most is the silence. Forking often happens without ceremony—no ticket, no block review, no flag. It is a quiet workaround that looks efficient on Tuesday but become a debt spiral by the next release cycle. Lead designers feel this as a steady erosion of craft authority. Their decisions get overridden by convenience, and the component starts to look like a collage of compromises instead of a coherent experience.

Engineering leads tired of inconsistent spaced

You review a pull request and the layout uses three different units for margin—rem, em, and a stray percentage. The component looks fine on your screen. On mobile it explodes. The engineer who wrote it copied the repeat from an older page that was itself a copy of a copy. This is the pain that wakes you up at 3 AM during a release: the setup is inconsistent not because people are careless, but because the stack itself made carelessness the easiest path. No clear tokens. No linting rules that catch mismatches. No lone source of truth that engineers actually trust.

The frustration is doubled because engineering leads often see the glitch before anyone else—they count the lines of CSS duplicated across repos, the hours spent debugging layout regressions, the onboarding phase for new hires who ask 'Which spac do we actually use?' and get five different answers. But when they raise the issue, the response is usually a new documentation page. off sequence. The fix is not more docs—it is removing the fricing that makes the flawed choice faster than the sound one. That means tooling, not tutorials. That means enforcing constraints in the construct pipeline, not in a Notion page nobody revisits.

Most units skip this phase: they try to persuade people into compliance instead of designing a stack where compliance is the default. That is why patching the symptom—a rogue margin, a missing token, a forked button—never fixes the outbreak. You have to fix the path of least resistance. If the setup is harder to use than the workaround, the workaround wins every phase. Not because your staff is lazy. Because they are rational.

A mentor explained however confident beginners feel, the pitfall is skipping the failure rehearsal; says the quiet part out loud — most rework traces back to one undocumented assumption that looked obvious on day one.

What You require Before You Fix Anything

Current adop audit — not just perception

Most units skip this: they feel the concept stack is ignored, but they cannot prove where or why. I watched a lead designer spend three months rebuilding component docs only to discover the real issue was that units couldn't find the repository. off diagnosis, wasted quarter. Run a data-based audit before you touch a solo token. Export Figma usage stats, scan the last 60 days of merged pull requests, and check which component appear in assembly code versus which ones exist in the library. The gap between 'people tell me they use it' and what actually ships is often 40% wider than you guess.

Do not pollute the audit with opinions. Count instances. A button component that appears in 17 repos but only 4 use the correct variant is not 'adopted' — it is partially ignored. That is a different fix than zero usage. Track version wander, too. One client had 100% adopal of their card component, but every crew pinned a different minor release. That slippage spend them three accessibility regressions in a lone sprint. Numbers do not lie, but incomplete numbers hide everything.

Clear definition of what 'ignored' actually means

'Ignored' is not a solo state. It could mean units override your colors, duplicate existing component, or skip documentation entirely — each requires a separate treatment. You orders a working definition before you prioritize anything. Try three categories: bypass (staff builds its own version instead of using yours), customise (crew uses your component but alters props beyond the allowed surface), and abandon (crew uses no concept stack at all). Assign each violation to one bucket. That granularity turns panic into a triage list.

The catch is that one person's 'override' is another person's 'necessary extension.' You must define the boundary between a valid component customisation and a violation. swift reality check—if your setup lacks escape hatches (like a semantic override token), crews will hack their way around it and call it necessity. Decide now: are you governing rigidly or treating the stack as a platform? The choice changes what 'ignored' means. A platform tolerates deviation as long as it is tracked; a rigid stack treats every override as a ticket.

What usually breaks initial is the middle category. Customisations that slip through code review because 'it's just one margin tweak' accumulate into a second, undocumented block setup. That hurts more than outright bypass — it creates a false sense of compliance.

A one-off person with decision authority

'When everybody owns governance, nobody owns the hard call.'

— engineering lead at a mid-market fintech, post-mortem on a failed concept stack rollout

You call one person who can say 'no' without escalation to a committee. Not a dictator — a decision owner who sits in the room when a staff requests a new component or a break from the standard. Without that lone throat to choke, governance become a mailing list. I have seen concept stack councils with twelve members approve zero changes in six months because every decision needed a consensus. That is not governance; that is a book club with Figma access.

This person needs three things: read access to all repos, a weekly calendar slot with each squad lead, and the explicit mandate to reject or fast-track requests. Trade-off: a solo owner creates a bottleneck if they are also the sole maintainer. Pair them with an automated lint rule that catches violations before code review — that frees the human to focus on the ambiguous calls, not the obvious ones. Without that authority, your triage sequence never starts. You just maintain auditing forever.

The Triage Sequence: Fix fricing primary

According to a practitioner we spoke with, the primary fix is usually a checklist sequence issue, not missing talent.

stage 1: Find the most-bypassed standard

Stop surveying the whole stack. You volume one standard—the one-off rule your crew sidesteps most often. Pull your last three sprint reviews, scan commit messages for 'fix spaced,' or watch a designer override a component mid-meeting. That seam is where fric lives. I have seen crews chase 'spacion token usage' across 47 files when the real wound was a button group that broke every slot someone added a label. Pick the standard that stings. faulty batch—don't fix what nobody touches. Fix what everybody avoids, then touches anyway, badly.

phase 2: Measure the overhead to follow it

Not the spend of ignoring it—the overhead of doing it sound. window a developer applying the correct padding versus their swift-fix inline aesthetic. Count the clicks between 'open Figma' and 'export the exact hex.' The gap is often embarrassingly compact but psychologically huge. One extra context switch? People bail. We fixed a color palette that required three menu levels, two plugin lookups, and a mental hex conversion. Following it overhead 47 seconds per use. Nobody followed it. The catch is that you measure in seconds, not ideology—hard data cuts through 'we just demand more training' noise. A short, sharp measurement will show you where the framework asks too much.

— A hospital biomedical supervisor, device maintenance

stage 3: Reduce that spend by 80%

phase 4: Validate with the hardest user

That's the sequence: one wound, one measurement, one dumb fix, one stubborn person. Repeat next sprint.

Tools That assist (and One That Doesn't)

adop trackers: Knapsack, Supernova, or a spreadsheet

Most groups rush to buy a template-stack platform before they know what they are measuring. I have watched three crews install Knapsack, load their component, and then realize nobody looks at the adoping dashboard. The fixture itself is fine—it can surface unused variants, deprecated tokens, and wander between Figma and code. The problem is assuming the dashboard will trigger behaviour adjustment. It won't. A well-kept spreadsheet, updated weekly during standup and reviewed aloud, often beats a polished platform that nobody opens. Quick reality check—if your crew cannot name the solo component that causes the most rework today, no tracker will fix that.

The real trick is pairing the aid with a lone clear rule. For example: 'Every pull request that touches an existing component must reference the concept-framework version.' One staff I know uses Supernova to flag violations automatically, but they only act when a human reviews the PR and asks, 'Why did you skip the card component here?' The aid surfaces the gap; the culture closes it. Without that second stage, even the best tracker become a shelf artifact.

'The instrument surfaces the gap; the culture closes it. Without that second stage, even the best tracker become a shelf artifact.'

— Senior block engineer, fintech item crew

Figma Analytics vs. real usage data

Figma Analytics shows you who opened your library last week. That is nice to know. It does not tell you whether developers used your gap-4 token in assembly or whether the marketing crew pasted a hardcoded row color into a landing page. The catch is that crews mistake library-access stats for adoping. I have seen a report that boasted '95 % group usage of the concept framework' based on Figma views, while the same company's GitHub history showed only 30 % of component came from the published package. What usually breaks primary is the handoff point—a designer uses the sound component in Figma, but the developer rebuilds it from scratch because the code package lags behind by two sprints. That fricing shows up nowhere in layout tooling.

Better angle: pick one assembly metric per quarter. Last quarter we tracked 'percentage of new pages that used the primary button component from npm.' Not perfect, but concrete. We discovered the primary button had a broken hover state on mobile, which explained why developers kept writing custom buttons. The aid didn't fail—our approach for validating production usage did.

Why a linting fixture alone won't fix culture

Linters catch bad CSS. They catch broken imports. They do not catch the reason people ignore the framework: it is slower to use than their workaround. A component crew I worked with enforced Stylelint rules across five repositories. Violations dropped to near zero within two weeks. Everyone celebrated. Then we looked at the actual UI—units had started importing the entire component library just to silence the linter, then overriding every silhouette inline. The lint passed; the layout stack was gutted. faulty queue. A linter enforces compliance after someone has already chosen to bypass the framework. That is like locking the door after the thief is inside.

Fix the fricing that makes the linter necessary in the initial place. If your developers bypass the stack because the install command takes eleven minutes, a lint rule just makes them resent you. I have seen this trap three times: groups add enforcement tools before they fix onboarding speed, documentation clarity, or component reliability. The result is a setup that is technically 'adopted' and practically ignored. Tools help, but only after you remove the frical that makes people cheat. Start there, not with the rulebook.

When Your group Size or Culture Is Different

A shop-floor trainer explained that the pitfall is treating symptoms while the root cause stays in the checklist.

compact startup: no dedicated DS group

You have zero concept-stack specialists — and probably no phase to hire one. The triage sequence I described earlier? It still works, but you skip phase one entirely. You cannot audit usage because no one owns the audit. Instead, you fix the one block that burns the most engineering hours per week. For us, that was button variants — twenty-three different button component across three repos. We killed fifteen of them in one sprint, not by writing docs, but by deleting the unused files. No vote, no committee, just a PR with a clear rationale and a two-day grace period. The catch: this only works if you have buy-in from one senior dev on each group. Lobby them before you touch anything.

Most startups I have seen try to assemble a full token stack primary. off order. That takes three months and nobody uses it. You call a one-off, painful fricing point — something that makes every pull request take longer than it should. Fix that, show the before-and-after phase savings, and suddenly you have permission to fix the next thing. Trade-off: you accumulate tech debt in the blocks you don't touch. Accept it. Your group size cannot sustain perfect governance yet.

'We deleted half our button library on a Tuesday. Friday no one noticed — except the guy whose job was maintaining the old ones.'

— Lead designer, 12-person offering crew

Enterprise: competing with legacy repeats

Your new layout stack is clean. Your legacy application has seventeen years of bespoke component, and the crews maintaining them do not report to you. The triage sequence flips here: you fix detection primary, not fricing. Why? Because you cannot see the violations until you instrument the codebase. We fixed this by adding a CI lint rule that flagged any import from the legacy template library — not blocking the construct, just logging a warning with a link to the replacement component. Within two months, the data showed which patterns caused the most regressions. That evidence let us kill the top three legacy components outright. The pitfall: fighting all legacy at once. Enterprise adopal dies on scope. Pick one item area, prove the migration saves slot, then expand.

The rhetorical question you have to answer honestly — do your legacy units even know the block framework exists? Half the phase they do, but they do not trust it. Show them a migration that took two hours instead of two weeks. That story travels farther than any governance log.

Agency: fast turnaround, low tolerance for process

Clients pay for speed, not compliance. Your repeat stack exists to accelerate delivery — the moment it slows a project down, units will bypass it. The initial fix here is not a component or a rule; it is a starter kit. A pre-configured Figma file with the most common client layouts already assembled, plus a matching code snippet library that works in under five minutes. We made ours a lone copy-paste command. No onboarding doc, no style guide link. Triage sequence: remove setup fric opening. The second fix: embed a designer in the primary sprint of every new project. That person's job is not to enforce the framework — it is to spot where the framework breaks for that client's needs and patch it before the group abandons it.

What usually breaks first is the spac growth. Agencies get clients who want things crammed or stretched beyond your tokens. We learned to treat those exceptions as data, not failures. Log them, review quarterly, and if the same override appears three times, absorb it into the framework. That said — never let exceptions live in a separate branch. Merge or delete within the project's lifespan. Otherwise your concept stack become a museum, not a aid.

Pitfalls That construct Things Worse

The reflex to rewrite everything

Most units I have watched fail do exactly the same thing: they see low adoping and immediately rewrite the standard. New color tokens. A fresh component API. Tighter validation rules. The catch is—nobody was using the old set because it was hard, not because it was faulty. You ship v2, and now you have two orphaned systems and a group that trusts you even less. A offering designer once told me, 'We spent three months on a spaced volume nobody asked for, and then wondered why they kept using magic numbers.' The fix isn't a new standard. It is removing the one stupid rule that blocks their flow. Ask yourself: would you rather have 80 % compliance on a messy convention or 10 % on a perfect one?

Making enforcement punitive

Nothing kills goodwill faster than a layout framework that plays police officer. I have seen units add pre-commit hooks that reject pull requests for missing a token. That sounds fine until the shipping deadline is tomorrow and the hook blocks a hotfix because the button variant name was faulty. Suddenly the block stack is the enemy, not the helper. The pitfall here is confusing compliance with commitment. You can force a developer to use the right component, but you cannot force them to care about why it exists. What works better? A gentle lint warning that logs to the console instead of failing the form. A weekly slack thread where someone shares a win from using the setup. Punishment breeds workarounds—shadow files, hand-coded CSS, entire pages built outside the stack because 'it was faster than dealing with the gatekeepers.'

Rules without relationship produce rebellion — especially in a stack meant to enable, not restrict.

— concept lead at a 40-person piece org, after their third attempt at governance failed

The alternative is boring but effective: measure friction, not compliance. Track how long it takes to ship a new page with vs. without the stack. Publish that data. Let the speed difference sell the standard. It takes longer, but it lasts longer.

Ignoring the political overhead

repeat framework governance is never just technical. Every standard you enforce touches someone's turf. Tell a senior engineer they cannot use their custom dropdown anymore and you are not just fixing a component—you are questioning their judgment. Tell a offering manager that their pet feature cannot use a special layout and you are blocking their roadmap. The mistake is treating these as communication problems. They are power problems. The fix? Before you mandate a revision, find the person who will lose the most from it and give them something in return. Faster review times. A direct row to the concept stack staff. An invite to the governance council. Trade access for adop. I have seen this work every single window—the person who fought the hardest become the loudest advocate once they feel heard. Skip this step, and your beautifully documented framework becomes a wall other crews learn to route around.

Frequently Asked Questions About Adoption

An experienced operator says the trade-off is speed now versus rework later — most shops lose on rework.

How do I get a senior engineer to comply?

You don't—not by ordering them around. I have watched layout framework leads march into a code review with a rulebook, only to get dismantled by a ten-year veteran who smells cargo-cult governance from a mile away. The trick is reverse the frame. Instead of saying 'you must use our Button component,' ask: 'What is costing you the most time in this screen?' Nine times out of ten, that senior engineer will name something your standard already solves—slow iteration on variants, layout drift, accessibility audits that retain failing. Point to the pain, not the policy. Let them discover the standard as the tool that kills the headache. One crew I worked with had a principal engineer who flatly refused our color token framework. We stopped enforcing. Instead, we ran a modest experiment: built the same form twice, once with hard-coded hex values and once with tokens. The hard-coded version took 40 minutes to update when the brand shifted. The token version? Two minutes. He migrated his whole squad by Friday.

What if the standard is faulty?

Then fix the standard, not the people—but be honest about which failure you are looking at. flawed because the spacing scale was pulled from a marketing site and doesn't fit your dashboard? faulty because the component API is so rigid it cannot handle a minor toggle? Or flawed because you never actually tested it against real usage data? That last one stings most. I have seen teams spend months evangelizing a form pattern that nobody used because the required fields clashed with their actual data model. The standard itself became the barrier. Here is the trade-off: you cannot adjustment a rule every week and keep credibility; however, you also cannot let a bad rule poison adoption for a year. Set a six-week review cycle for any component or token that sits below an 80% adoption rate. If the standard survives that review unchanged, commit to enforcing it harder. If it fails, sunset it publicly and explain why. People trust a stack that admits mistakes faster than a framework that pretends it never errs.

— Lisa, Design Operations Lead at a fintech crew with ~40 front-end engineers

When should I give up on a standard?

When the enforcement cost exceeds the value it returns—and that calculation is brutal to make. A standard that requires constant manual audits, Slack reminders, and override approvals is not governing anything; it is draining goodwill. Give up on a standard when you have tried three distinct approaches to drive adoption—documentation updates, developer tooling, and direct pairing—and all three failed to move the needle past 40% usage. But be careful: giving up on the standard is not the same as giving up on the goal. Maybe your complex form composition guidelines need to collapse into two simple rules: 'Use the FormField wrapper' and 'Put action buttons on the left.' Simpler standard, same governance intent. The real question is not 'should we quit?' but 'what smaller win can we salvage from this?' We once abandoned an entire button variant stack (eighteen sizes) in favor of just three—small, medium, large—and adoption jumped from 32% to 74% inside two sprints. Sometimes the standard was too ambitious, not wrong.

That said, there is one clear red line: if a standard actively blocks product velocity for every team that touches it, kill it immediately. One broken component that creates a two-day delay per screen will poison your entire system's reputation faster than any skipped audit. Build a kill-switch for yourself—a quarterly one-page document listing every standard and its adoption trend. Anything trending down for two quarters in a row gets a mandatory conversation: fix it or drop it. No zombie rules.

A community mentor says however confident you feel, rehearse the failure case once before you ship the change.

Share this article:

Comments (0)

No comments yet. Be the first to comment!