一盏灯
首页文章视频生词本复习
首页文章视频生词本我的

Explaining Technical Debt to Non-Engineers

向非技术同事讲清技术债

科技互联网深度阅读中级约 4 分钟场景 · stakeholder update# 演讲展示# 管理与领导力

工程师常抱怨『业务方不批时间还债』,可问题往往出在讲法上。要让非技术同事听懂技术债,别堆术语,用一个财务比喻:借了时间的钱,以后要连本带利还。把它翻译成他们在意的语言——变慢的交付、变高的故障率、流失的工程师;给出三种应对档位而非笼统喊『要重写』;再用一次成功的偿还案例证明回报。会讲技术债,是工程师影响力的一道分水岭。

当前浏览器暂不支持语音朗读

Every engineering team hits the same wall: they know the codebase is slowing them down, but when they ask for time to fix it, the business says no. Usually the problem is not the request — it is the explanation. "We need to refactor the payment module" means nothing to a marketing director. If you cannot translate technical debt into the language of the people who control the roadmap, you will keep losing the argument, and the debt will keep growing.

每个工程团队都会撞上同一堵墙:他们清楚代码库正在拖慢自己,可一旦开口要时间去修,业务方就说不。问题通常不在这个请求本身,而在于解释。『我们需要重构支付模块』对一位市场总监来说毫无意义。如果你没法把技术债翻译成那些掌控路线图的人听得懂的语言,你就会一次次输掉这场争论,而债务会继续滚大。

Start with the metaphor that gave the concept its name: debt. When you build a feature quickly by cutting corners, you are borrowing time — you ship sooner, but you take on a loan. Like any loan, it charges interest: every future change to that shortcut-laden code takes longer and risks breaking something. A little debt, taken on purpose to hit a deadline, is smart. Debt you never repay compounds until the interest payments consume your whole budget.

从赋予这个概念名字的那个比喻讲起:债。当你为了快速上线一个功能而偷工减料时,你其实是在借时间——你更早交付了,但你背上了一笔贷款。和任何贷款一样,它要付利息:今后每一次改动那段充满捷径的代码,都会花更长时间,还有搞坏别的东西的风险。为赶一个截止日期而有意背上的一点点债,是明智的;而你从不偿还的债会利滚利,直到光是还利息就吃光你的全部预算。

Then translate the interest into things the business already cares about. Do not say "the code is messy"; say what the mess costs. Three currencies land every time: speed ("features that took two days last year now take five"), risk ("this module caused three of our last four outages"), and people ("two engineers quit partly because working in this area is miserable"). Numbers turn a vague engineering complaint into a business problem a manager can act on.

然后,把利息翻译成业务方本来就在意的东西。别说『代码很乱』;要说这个乱付出了什么代价。有三种货币每次都能打动人:速度(『去年花两天的功能,现在要花五天』)、风险(『我们最近四次故障里有三次是这个模块引起的』)和人(『两名工程师离职,部分原因就是在这块地方干活太痛苦』)。数字能把一句含糊的工程抱怨,变成一个管理者可以着手处理的业务问题。

Resist the urge to ask for a big rewrite. "We need three months to rebuild it" sounds like a bottomless pit to someone holding the budget, and rewrites often fail anyway. Offer tiers instead. Present three options with honest trade-offs: a small fix that buys six months of relief for one week of work, a medium repair, and the full rebuild — with the cost and payoff of each. Choice turns a demand into a decision the business can own, and they almost never pick "do nothing" once they see the interest.

压住想要一次大重写的冲动。『我们需要三个月把它重建』,在一个攥着预算的人听来就像一个无底洞,何况重写本身也常常失败。改为提供档位。给出三个带诚实取舍的选项:一个用一周工作换来六个月喘息的小修、一个中等程度的修复,以及彻底重建——把每一档的成本和回报都摆出来。选择权能把一个『要求』变成一个业务方可以自己拍板的『决策』,而一旦他们看清了利息,几乎从不会选『什么都不做』。

Never frame debt repayment as pure cost. Frame it as an investment with a return, and prove the return whenever you can. "After we cleaned up the checkout code last quarter, deploys that used to fail once a week now run smoothly, and the team shipped the new discount feature in four days instead of the usual two weeks." A concrete before-and-after does more to unlock next quarter's cleanup time than any amount of arguing about code quality in the abstract.

永远不要把还债说成纯粹的成本。要把它说成一笔有回报的投资,并且只要能证明就去证明回报。『上季度我们清理了结账代码之后,过去每周失败一次的部署现在跑得很顺,团队做那个新的折扣功能只花了四天,而不是往常的两周。』一个具体的前后对比,比任何抽象地争论代码质量,都更能为下季度换来清理时间。

Watch your tone, because credibility is fragile. If every conversation is a doomsday warning — "the system will collapse any day now" — people stop listening, especially when it does not collapse. Be measured and specific: describe the real cost today and the likely cost in six months, without exaggeration. Engineers who cry wolf lose the ear of the business; engineers who quantify calmly get invited into the planning room.

注意你的语气,因为可信度很脆弱。如果每次沟通都是一场末日警告——『系统随时都会崩』——人们就会不再听,尤其是在它并没有崩的时候。要克制、具体:如实描述今天的代价和六个月后可能的代价,不夸大。喊『狼来了』的工程师会失去业务方的耳朵;冷静地把代价量化的工程师,会被请进做规划的那个房间。

Learning to explain technical debt is a dividing line in an engineering career. Those who cannot make the case stay stuck maintaining code they resent, watching the debt grow while nobody funds the fix. Those who can translate it — into money, risk, and time the business understands — get the resources to keep the system healthy, and, more quietly, earn a seat where the real decisions are made. The code skill gets you in the door; the translation skill is what compounds.

学会解释技术债,是工程师职业生涯里的一道分水岭。讲不清道理的人,会一直困在维护自己厌恶的代码里,眼看着债务增长却没人为修复买单。而能把它翻译出来的人——翻译成业务方听得懂的金钱、风险和时间——会拿到让系统保持健康的资源,并且更悄然地,赢得一个真正做决策的席位。写代码的能力让你进门,翻译的能力才会产生复利。