CCAB
Home/Posts/In between clients and users
26 September 2020 · Post

In between clients and users

The Invisible Stack: Diplomacy, Empathy, and the Politics of Building Things

Buildings from Codebar in Oslo, image from Carlo Alberto Burato

Why the Hardest Part of Delivering Software Has Nothing to Do With Code

There's a persistent myth in the technology industry that the difficult part of building applications is the building itself. The code. The architecture. The design systems and deployment pipelines and database schemas. These are the things that fill job descriptions, dominate conference talks, and consume the vast majority of billable hours. And they are genuinely hard — nobody is disputing that.

But they're not the hardest part.

The hardest part is navigating the space between what the client wants, what the user needs, and what the team knows to be right — and finding a path through that space that doesn't destroy relationships, budgets, timelines, or the product itself. The hardest part, in other words, is human.

The Triangle That Every Project Lives Inside

Every software project exists within a triangle of competing interests, whether anyone draws it on a whiteboard or not.

At one vertex: the stakeholders. The people paying for the product. They have business objectives — revenue targets, market positioning, competitive differentiation, internal politics that the development team may never fully understand. They're investing money, and they expect returns. Their patience has limits, and those limits are usually tied to quarterly reporting cycles, not user research timelines.

At another vertex: the users. The people who will actually interact with the product. They have needs, behaviors, preferences, and limitations that may or may not align with what the stakeholders imagine. They don't care about the company's revenue targets. They care about whether the thing works, whether it respects their time, whether it solves their problem without creating new ones.

At the third vertex: the team. Designers and developers who possess the technical and experiential knowledge to understand what's feasible, what's advisable, and what the consequences of various decisions will be — consequences that neither stakeholders nor users are positioned to foresee.

In the modern agile process, the product owner is supposed to mediate these competing interests. They translate business requirements into user stories, prioritize the backlog, and serve as the single point of accountability for what gets built and in what order. In theory, this structure resolves the tension. In practice, it distributes the tension more evenly without eliminating it. The designers and developers still make hundreds of decisions — about interaction patterns, technical architecture, data handling, performance trade-offs, accessibility implementation — that ripple outward in both directions. Toward the stakeholder, who sees the budget and timeline implications. Toward the user, who experiences the consequences every time they open the application.

Every one of those decisions carries political weight, whether the person making it recognizes that or not.

The User-Centered Paradox

The principle of User-Centered Design has, over the past two decades, become something close to orthodoxy in the design and development community. The idea is straightforward: design for the user first. Understand their needs through research. Validate decisions through testing. Prioritize their experience above aesthetic preference, technical convenience, or stakeholder assumption. When in doubt, ask the user.

This is sound methodology, and it produces better products. The evidence for that is overwhelming and well documented. But it introduces a tension that the methodology itself doesn't resolve: what happens when user-centered decisions conflict with stakeholder expectations?

This conflict is not hypothetical. It's the daily reality of most product teams, and it manifests in ways both dramatic and mundane.

The marketing department wants a popup newsletter signup that appears three seconds after page load, because popups convert at 3.5% and the email list is a KPI. The design team's research shows that users find the popup intrusive, that it increases bounce rate, and that the users who do sign up through the popup have significantly lower engagement than those who subscribe voluntarily. The data supports the design team. The KPI supports marketing. The product owner is caught between two valid but incompatible metrics.

The stakeholder wants the homepage redesigned to prominently feature a new product line, with above-the-fold placement, animated banners, and a promotional video that autoplays. The UX research indicates that users come to the homepage primarily to access their account dashboard, and that every element between the landing point and the dashboard login increases task-completion time and frustration. The business case for featuring the product line is clear. The user case for a clean, task-oriented homepage is equally clear. They can't both win the same pixels.

The client wants the registration form to collect twelve data points at signup — name, email, phone, company, role, company size, industry, revenue range, use case, referral source, preferred contact method, and newsletter preference — because each field feeds a lead scoring model that the sales team depends on. The design team knows from both research and industry data that every additional form field reduces completion rates. A twelve-field form will lose a significant percentage of potential users before they ever experience the product. But the sales team's pipeline depends on that data.

In each of these scenarios, the design and development team has evidence, expertise, and user research supporting their position. And in each scenario, the stakeholder has legitimate business reasons for wanting something different. The product owner can mediate, but ultimately someone has to make a case, and that case has to be persuasive not just on technical grounds but on human grounds.

This is where the job description diverges from reality. The job description says "senior frontend developer" or "UX designer." The actual job requires something closer to diplomat.

The Case for Diplomacy as a Core Skill

Diplomacy, in the context of product development, isn't about being agreeable. It's not about saying yes to everything or softening bad news with corporate euphemisms. It's about the ability to translate between value systems — to make a stakeholder understand why a decision that looks like a waste of time or money from a business perspective is actually an investment in the product's long-term success.

This translation is genuinely difficult, because the value systems are genuinely different.

A designer who says "we need to spend two more sprints on accessibility compliance" is speaking in terms of user needs, ethical obligation, and technical standards. A stakeholder who hears that statement processes it as: two more sprints of cost, two more sprints of delay, two more sprints before revenue. Both interpretations are correct within their respective frames. The diplomat's job is to build a bridge between those frames.

That bridge, in practice, usually involves reframing the user-centered argument in terms the stakeholder's value system recognizes. Not because the stakeholder is wrong or shallow, but because persuasion requires meeting people where they are.

Consider accessibility. The ethical argument for accessibility is clear and sufficient on its own merits: everyone deserves equal access to digital services, full stop. But in a boardroom where the conversation is about budget allocation and ROI, the ethical argument often doesn't have the traction it deserves. The diplomatic move is to supplement the ethical argument with a business one — and fortunately, the business case for accessibility is strong.

Roughly 15 to 20 percent of the global population lives with some form of disability, whether permanent, temporary, or situational. A broken arm, a migraine, a bright outdoor environment that washes out a low-contrast interface, a noisy café that makes audio content inaudible — these are all situations where accessibility features benefit users who wouldn't traditionally identify as disabled. Designing for accessibility means designing for a fifth of your potential audience. Failing to design for accessibility means excluding them. In conversion terms, that's not an edge case; it's a market segment.

When a designer frames accessibility as "we have an ethical obligation to our users," the marketing department hears cost. When the same designer frames it as "we're currently excluding up to 20% of potential conversions, and here's the remediation plan," the marketing department hears opportunity. The substance is identical. The framing makes the difference.

Data, Privacy, and the Argument You'll Wish You'd Made Earlier

The same diplomatic skill applies to more complex and higher-stakes decisions, particularly around data collection and privacy regulation.

The instinct of most marketing and analytics teams is to collect as much data as possible. More data means better segmentation, more precise targeting, richer user profiles, more sophisticated attribution models. From a pure analytics perspective, more data is always better.

From a legal, ethical, and architectural perspective, more data is a liability.

Every piece of personal data your application collects is a piece of data that must be stored securely, processed lawfully, made available to the user upon request, and deleted when retention periods expire. Under the GDPR, under the CCPA, under the growing body of global privacy legislation, every data point carries regulatory obligations. A field that collects a user's phone number isn't just a field — it's a commitment to a chain of custody that extends from collection to deletion, potentially across years, jurisdictions, and system migrations.

The development team that argues for minimal data collection isn't being obstructionist. They're performing a risk assessment. They're architecting a system that will be easier to maintain, cheaper to audit, and less likely to generate the kind of regulatory exposure that turns a compliance review into a legal crisis.

But making this argument persuasively requires the same diplomatic translation. "We shouldn't collect data we don't need" sounds like a limitation. "Let's architect our data collection to be fully compliant from day one, so we never face a retroactive remediation project" sounds like strategic foresight. Again, the substance is the same. The framing determines whether the stakeholder sees a roadblock or a safeguard.

The teams that have these conversations early — that invest the diplomatic effort to align stakeholders on data minimization principles before the first line of code is written — almost never regret it. The teams that defer the conversation, that collect everything now and plan to sort out compliance later, almost always do.

The Limbo Between Colors and Regulations

There's a common misconception that the space between stakeholder requirements and user needs is primarily a design space — a question of colors, typography, layout, and visual hierarchy. It's understandable why people think this, because those are the most visible outputs of the design and development process. When a stakeholder reviews a prototype, they see the visual layer. When a user interacts with the product, they experience the visual layer first.

But the actual decision space is far broader and far more consequential. It includes the technology stack (which determines performance characteristics, maintenance costs, and the available talent pool). It includes the data architecture (which determines what the system can and can't do with user information, and what regulatory exposure the company carries). It includes the authentication model, the error handling strategy, the logging infrastructure, the third-party integrations, the analytics implementation, the caching strategy, and dozens of other decisions that are invisible to both stakeholders and users but profoundly affect both.

Every one of these decisions exists in the same limbo — the space where technical knowledge, user needs, business requirements, regulatory constraints, and budget realities all intersect. Navigating that space requires not just technical skill but judgment, and judgment requires understanding all the forces in play, not just the ones visible in Figma or a sprint board.

Designers and developers who treat their work as purely technical — who see their job as implementing requirements and solving engineering problems — will consistently produce worse outcomes than those who understand the full context of their decisions. Not because the technical work is unimportant, but because technical decisions made in a vacuum are disconnected from the reasons those decisions matter.

Trust as Infrastructure

All of this leads to a principle that is rarely discussed in technical contexts but is arguably the most important factor in whether a project succeeds or fails: trust.

Trust between the stakeholders and the development team functions like infrastructure. When it's solid, everything built on top of it performs better. Decisions are made faster because stakeholders don't need to review and approve every technical choice. Disagreements are resolved constructively because both sides assume good faith. Risky but correct decisions — investing in accessibility, reducing data collection, pushing back on a feature that would degrade performance — are accepted because the stakeholder trusts that the team's judgment is informed and well intentioned.

When trust is absent, the same decisions become battles. Every recommendation is questioned. Every estimate is challenged. Every suggestion to invest time in something that doesn't produce immediately visible output — refactoring, performance optimization, accessibility remediation, security hardening — is met with suspicion. The team becomes defensive. The stakeholder becomes controlling. The product suffers because nobody can make decisions efficiently, and the decisions that do get made are driven by politics rather than evidence.

Trust is built through the accumulated weight of demonstrated competence, transparent communication, and delivered results. It's built by explaining decisions in terms the stakeholder understands, not in jargon designed to end the conversation. It's built by being honest when things go wrong and specific about how they'll be fixed. It's built by occasionally saying "you're right, we should do it your way" when the stakeholder's instinct is genuinely better, because trust is eroded just as quickly by a team that never concedes as by one that always does.

And trust has a direct, measurable effect on product quality. When stakeholders are confident in the team's expertise and judgment, they give the team room to make the right decisions — the decisions that prioritize user experience over internal politics, that invest in long-term quality over short-term velocity, that say no to the feature that would compromise performance and yes to the sprint of accessibility work that won't produce a single new screen but will make every existing screen usable by a significantly larger audience.

When that trust is present and that room exists, the product gets better. Not incrementally, but categorically. The anxiety of the marketing department — will this convert? will this perform? will this justify the investment? — diminishes because the team has demonstrated, through a track record of good decisions, that user-centered design and business success are not in conflict. They're the same thing, viewed from different angles.

The Closest We Get to Perfect

There is no perfect product. Perfection implies a state of equilibrium where every stakeholder interest is fully served, every user need is fully met, every technical constraint is elegantly resolved, and every regulatory requirement is effortlessly satisfied. That equilibrium doesn't exist because the interests are genuinely in tension, and tension, by definition, means something has to give.

But the closest we get — the products that work well, that users appreciate, that businesses profit from, that teams are proud of — share a common characteristic. They were built by teams who understood that their job was not just to write code or push pixels but to navigate a complex human system. Teams who treated diplomacy as a core skill, not a soft skill. Teams who invested in trust the way they invested in infrastructure — deliberately, consistently, with the understanding that it would pay compound returns.

The conclusion is simple, even if the execution never is: empathy and diplomacy are not supplementary skills for designers and developers. They're not nice-to-haves on a résumé or soft competencies to mention in a performance review. They are the connective tissue between technical capability and product success. Without them, even the most talented team builds the wrong thing, or builds the right thing that nobody wanted, or builds something excellent that never ships because the stakeholder lost confidence and pulled the funding.

The code matters. The design matters. The stack matters. But the human layer — the ability to understand what everyone in the room actually needs, and to find a path that serves those needs without betraying anyone's trust — that's what determines whether any of the rest of it matters at all.

Photo by Carlo Alberto Burato