第 18 节 开发就像借贷:必须偿还的技术债(第1页)

大家有没有发现这样一个问题,其实很多的创业者是不了解技术的。他们很不理解技术小伙伴为什么每隔一段时间,就要花费大量的精力对已有的代码进行重构更新。在他们看来这完全是耗时耗力,影响业务进展的无用功。为了帮助大家了解技术小伙伴,这么做的原因,我将为大家讲解什么是技术债,公司为什么要偿还技术债,以及技术债是如何产生的,我们要如何减少技术债的产生。

下面,我们先来说说什么是技术债?

技术债一词是由「沃德·坎宁安」先生于 1992 年提出,用来形容技术的复杂性及不严谨性。他将第一次发布代码,比作借了一笔借贷。只有通过不断重写代码来偿还债务,小额负债便可以提高开发速度。但久未偿还债务会引发产品崩坏等危险。复用马马虎虎的代码,类似于负债的利息。而整个公司有可能因为松散的实现,不完全的面向对象的设计,或其他诸如此类的负债,而陷入窘境。

通过「沃德·坎宁安」先生的描述,我们能够知道技术债是我们在软件架构或代码编写过程中有意无意地犯下的错误。但随着时间的累积,这种错误会越来越多,就像背负了很多债务一样。然而最让我们头痛的是,无论你拥有多么优秀的团队,你都无法逃脱背负技术债务的命运。哪怕是微软的 offers 团队,面对技术债的产生也是无可奈何的。所以说「技术债是一定会产生的,并且还是是必须要偿还的!」

当我们知道技术债的产生是一种必然结果时,我们再说说它的危害。其实技术债的危害主要是使技术陷入技术债务的恶性循环之中:

当技术团队没有及时偿还技术债务时,技术债会随着时间的推移,不断降低技术团队的开发效率,使得每增加一个功能都困难重重,进而延误业务的进展。这是因为技术债会使得整体代码出现难以处理的问题。为此,开发人员不得不拿出更多的时间来修复这些问题。

而随着业务进展的延误,业务方一定会对技术小伙伴们有强烈的不满与抱怨,这会使得技术小伙伴们产出巨大的压力和挫败感。并使团队陷入无休止的争吵之中,而争吵和指责会让团队成员相互推卸责任,让成员们不敢接受技术升级,并让成员们变得更加保守不愿意偿还技术债务。

这又会进一步加大技术的落后,并使团队的技术水平不断下降。而技术水平的下降,又会进一步影响业务的进展。从而使得整个产品技术进入一个恶性的循环之中,直至产品宣告死亡。

由此可见技术
(本章节未完结,点击下一页翻页继续阅读)