技术债务管理_技术债务

技术债务管理

The term “technical debt” was first coined by Ward Cunningham in 1992 and describes the effects of maintaining poor or rushed code. It views projects with a financial mindset and compares the technical things we do and don’t do with the financial concept of debt.

“技术债务”一词由Ward Cunningham于1992年首次提出,它描述了维持不良或紧急法规的后果。 它以财务思维方式查看项目,并将我们做和不做的技术工作与债务的财务概念进行比较。

On the one hand, technical debt refers to the quick and dirty shortcuts we take and the effect they have on future development. On the other hand, technical debt is also about the things that we don’t do, such as not commenting our code, not developing documentation, not doing proper testing, etc.

一方面,技术债务是指我们采取的快速而肮脏的捷径以及它们对未来发展的影响。 另一方面,技术债务也与我们不做的事情有关,例如不注释我们的代码,不开发文档,不进行适当的测试等。

Where does technical debt come from (what causes it)? Wikipedia gives a nice list of reasons and conditions that can cause technical debt. But for my money, the main reason is pressure from someone in the business to get something done and get it done quickly. It might be your boss, it might be someone else’s boss, it really doesn’t matter. The number one reason is the same reason we did stuff in junior high – somebody else thought it would be a good idea and pressured us into it.

技术债务来自何处(是什么原因造成的)? 维基百科列出了可能导致技术债务的原因和条件。 但是为了我的钱,主要原因是业务中某人施加压力,要求他们完成某件事并Swift完成。 可能是您的老板,可能是其他人的老板,这没关系。 第一个原因与我们在初中做东西的原因相同-有人认为这是一个好主意,并向我们施加压力。

In the end, it’s the quick and dirty things we do and the things we neglect that put ourselves in debt with respect to future work. A short-term fix might make it harder to do something else in the future, or it might result in extra bugs and maintenance fixes. Not having documentation makes it harder for a new developer to get acquainted with a system and results in lost productivity.

最后,是我们所做的快速而肮脏的事情以及我们忽视的事情使我们对未来的工作陷入了债务。 短期修复可能会使将来做其他事情变得更加困难,或者可能导致额外的错误和维护修复。 没有文档会使新开发人员更难于熟悉系统并导致生产力下降。

技术债务坏了吗? (Is Technical Debt Bad?)

Technical debt is a bad, bad thing… or is it? Since we’re looking at this from a financial standpoint (at least in our terminology), then let’s take it one step farther. If you talk to any financial analyst they will tell you that reducing your personal debt is probably the best thing you can do for yourself. It’s hard to argue with that advice. At the same time, however, can you really imagine modern society running without some level of debt?

技术债务是一件坏事,一件坏事……还是? 由于我们是从财务角度(至少在我们的术语中)来考虑的,所以让我们再往前走一步。 如果您与任何金融分析师交谈,他们会告诉您减少个人债务可能是您自己可以做的最好的事情。 这个建议很难争论。 但是,与此同时,您真的能想象现代社会在没有一定债务的情况下运转吗?

How many companies have zero debt? Probably none. The truth is, modern companies embrace debt as a fact of life, and most companies couldn’t exist without the ability to carry some level of debt. Obviously there is some ambiguity about debt when talking about financial systems.

多少家公司的零债务? 可能没有。 事实是,现代公司将债务视为生活的事实,而且大多数公司如果没有承担一定水平债务的能力就不可能存在。 显然,在谈论金融系统时,债务存在一些歧义。

The unstated assumption here is that while individuals may not be smart about their debt (hence the rule of thumb is that it is best not to have any), companies know how to manage a limited amount of debt intelligently. Of course, companies are just groups of people, so this probably doesn’t hold up very well.

此处未作陈述的假设是,尽管个人可能对其债务并不聪明(因此,经验法则是最好不要有债务),但公司知道如何智能地管理有限的债务。 当然,公司只是一群人,所以这可能不太理想。

But assuming some financial debt is okay, maybe even necessary to conduct business today (most companies, like most people, don’t have cash on hand to buy a new building or new machinery outright), is it also true that some amount of technical debt is acceptable, maybe even, dare we say, desirable?

但是,假设有些财务债务还可以,那么也许今天进行业务(大多数公司像大多数人一样,没有手头的现金来直接购买新建筑物或新机器),是否还存在一定数量的技术债务是可以接受的,甚至敢于我们说是可取的?

技术债务的另一种观点 (Another View of Technical Debt)

This is a very controversial point. If we recast the problem from a quality control point-of-view, then we’re asking whether it’s ever desirable to reduce the level of quality and inject a degree of scrap into our process. Put that way, the answer seems obvious. Whether or not your company (and you) pursues a zero-defect quality control policy, the idea of quality first is so ingrained in our corporate psyche that we could not sanction a process that didn’t adhere to that. That is, while we may not practice it, we’re all for it.

这是一个很有争议的观点。 如果我们从质量控制的角度重新考虑问题,那么我们在问是否有必要降低质量水平并将一定程度的废品注入我们的过程。 那样说,答案似乎显而易见。 无论您的公司(和您)是否奉行零缺陷质量控制政策,质量至上的理念在我们的企业心中根深蒂固,以至于我们无法批准不遵守该程序的流程。 也就是说,尽管我们可能不练习它,但我们全力以赴。

No matter what we say about quality when we sit in our wing-back chairs at the club, we all practice a flexible attitude towards quality just like we practice a flexible attitude toward debt. When we need to buy something that we think will make the business more successful but we don’t have enough cash in our wallets, we go into debt. When the pressure is on and we need to get something done quickly to make someone happy or to keep our job, we cut corners and cross our fingers.

无论我们坐在俱乐部的后排椅子上怎么说,我们都会对质量采取灵活的态度,就像对待债务一样采取灵活的态度。 当我们需要购买一些我们认为可以使业务更成功但又没有足够现金的钱包时,就会背上债务。 当压力增大时,我们需要Swift做些事情以使某人感到高兴或保持我们的工作,我们偷工减料,用手指交叉。

The truth is, no matter what your commitment to quality as an individual or an organization may be, you are going to have technical debt just as surely as you are going to have financial debt. The question is, how are you going to handle that debt?

事实是,无论您个人或组织对质量的承诺是什么,您肯定都会像承担财务债务一样承担技术债务。 问题是,您将如何处理该债务?

处理您的技术债务 (Dealing with Your Technical Debt)

First, don’t ignore it. The worst thing you can do with financial debt is to ignore it, just keep making the minimum payments month after month, and pretending there’s no problem. Just as you’ll end up paying more (probably much more) in the end financially, technical debt that is ignored is the gift that keeps on giving. The problems it causes, the workarounds you have to do, etc. all just keep on coming back. You must recognize that you have debt, recognize that although you may have done it for a positive reason, keeping it around like Scabbers the rat is not a good idea. One of your goals IS (not ‘should be’) to eliminate it, hopefully sooner not later.

首先,不要忽略它。 对于金融债务,最糟糕的事情就是忽略它,只需要一个月接一个月进行最低还款,然后假装没有问题。 就像您最终会在财务上付出更多(可能更多)一样,被忽略的技术债务就是不断赠予的礼物。 它引起的问题,您必须执行的解决方法等等,所有这些都只会继续出现。 您必须认识到自己有债务,要认识到尽管您可能出于积极的理由而这样做,但像Scabbers一样将其保持在老鼠的周围并不是一个好主意。 消除它的目标之一是(不是“应该”),希望早日消除。

Second, triage your debt. If you have five credit cards, you’ll want to pay off the ones that will give you the most bang for your buck. Sometimes this can be based on the interest rate. Sometimes this can be based on the balance on the card. What you need is a way to quantify the cost of this debt on a monthly basis and then hit the big boys first. The same is true for technical debt; you have to find a way to put a value on it. Maybe you can monetize it, or maybe just assign it a nuisance value from 1 to 10. Then you can whittle away at the debt, either taking the big hassles first or maybe knocking off the little guys first so you can focus.

第二,分清债务。 如果您有五张信用卡,则需要还清那些可以最大程度地赚钱的信用卡。 有时,这可以基于利率。 有时这可以基于卡上的余额。 您需要的是一种每月量化此债务成本,然后首先打击大男孩的方法。 技术债务也是如此; 您必须找到一种在其上赋予价值的方法。 也许您可以将其货币化,或者只是将其讨厌的值分配为1到10。然后您可以减少债务,要么先解决大麻烦,要么先剔除小家伙,以便专注。

Third, and this is the most important in my mind, impose a debt ceiling and schedule regular time to work it off. Once you start incurring financial debt, it’s very easy to continue to pile on additional debt, and so people will often impose (or have it imposed) a maximum amount that they can borrow. Similarly, once you start creating technical debt, you need to find a way to limit how much of it you have.

第三,这对我来说是最重要的,它设置了债务上限并安排了定期的工作时间。 一旦开始产生金融债务,就很容易继续增加其他债务,因此人们通常会施加(或强加)他们可以借入的最大金额。 同样,一旦开始产生技术债务,就需要找到一种方法来限制所欠的债务。

Keeping a log of how much time and effort it would be required to eliminate the debt that you currently have can put things into perspective. At the same time, build debt-reduction time into your schedule. This does two things: it helps you find the time to reduce your debt, and it says to the company that eliminating technical debt (much of which was incurred because somebody wanted something fast) is a very real task and one that consumes resources that could otherwise be spent on developing new functionality. When others understand this, they may be less inclined to pressure you to incur debt in the future.

记录一下消除当前所欠债务所需的时间和精力,这可以使您了解情况。 同时,将减债时间纳入您的计划中。 这有两件事:它可以帮助您找到减少债务的时间,并且向公司表示,消除技术债务(其中很多是由于有人急需某些东西而引起的)是一项非常现实的任务,并且消耗了可能否则将花费在开发新功能上。 当其他人理解这一点时,他们可能不太会向您施加压力,要求您将来承担债务。

总而言之... (And in Conclusion…)

We are all in some level of technical debt; you’re not going to avoid it. But you can live with it, and control it rather than it controlling you. See it, quantify it, and regularly work on it. Yeah, that’s the ticket!

我们都处于某种程度的技术债务之中; 您不会避免它。 但是您可以忍受它,并控制它,而不是控制您。 对其进行查看,量化并定期进行处理。 是的,那是票!

Haven’t heard enough about technical debt? Here are a few more articles (there are a million) you might find interesting:

对技术债务了解得还不够? 您可能会发现以下几篇有趣的文章(一百万篇):

翻译自: https://www.sitepoint.com/technical-debt/

技术债务管理

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值