美文网首页
技术负债与破产

技术负债与破产

作者: 爪哇 | 来源:发表于2017-02-04 11:32 被阅读0次

技术负债(Technical Debt),也叫设计负债(Code debt)代码负债(code debt) 是用来描述,在软件开发过程中,为了满足超量的开发需求,使用临时简便的解决方法,取代全面解决方案,所带来的问题

与金融负债一样,技术负债也会产生和积累利息,导致后继的开发和变更更加困难。没有偿还的技术负载会增加“软件熵(Software entorpy)"

技术负载的产生

技术负债产生的原因包括以下方面(看看我们中几枪):

  1. 业务压力
    为了满足业务的快速要求,在必要的修改并没有完成时就匆匆发布,这些未完成的修改形成技术负债。
  2. 缺少过程和理解
    业务人员不清楚不理解技术负债的概念,在决策时不考虑其带来的影响。
  3. 模块之间解耦不够
    功能没有模块化,软件柔性不够,不足适应业务变化的要求。
  4. 缺少配套的测试
    导致鼓励快速而风险很大的“创可贴”式的BUG修复。
  5. 缺少文档
    只有代码没有必要的支撑文档。
  6. 缺少协作
    组织中的知识共享和业务效率低,或者初级开发者缺少必要的指导
  7. 并行开发
    同时在并行的多个分支最终需要进行合并,如果过多的修改在独立进行,可能会形成技术负债。
  8. 重构延迟
    在开发的过程中,某些部分的代码会变得难以控制,这时候就需要进行重构,以适应将来的需求变化。重构越是推迟,这些已有的代码被使用的越多,形成的技术负债就越多,直到重构完成。
  9. 不遵循标准
    忽略已有的业界标准、框架和技术。最终都会需要与现有的系统进行整合,越早做,影响越小。
  10. 缺少技能
    有时,开发者确实只是不知道如何编写优雅的代码。
  11. 缺失所有者(Lack of ownership)
    在软件外包时会发生,有时需要对外包出去的代码重构。
  12. 技术领导能力差
    糟糕的命令传达下去只会增加技术负载,而不是减少。
  13. 最后时刻的变更(Last minute specification changes)
    这些变更有可能影响到整个项目,但却没有时间或预算进行确认。

技术负债的类型

FolwerTechnicalDebtQuadrant 一文中,根据“鲁莽-谨慎”和“故意-无意”两个维度对技术负载进行了分类:

  1. 鲁莽而故意的技术负债
    团队没有时间做设计,仅给出一个匆忙做出的方案,缺乏对质量的预见;
  2. 谨慎而故意的技术负债
    尽管有很多已知的缺陷,但团队必须现在就交付,同时对造成的后果心中有数;
  3. 鲁莽而无意的技术负债
    团队压根就不知道基本的设计原则,更不用说故意引入了;
  4. 谨慎而无意的技术负债
    那些拥有优秀设计师的团队很容易遇到这种情况。他们交付的方案具有商业价值,但在完成方案后才明白什么才是最好的方案。

技术负债的偿还

技术负债必须及时偿还。一个有能力的技术团队应该承担更多的第二种(谨慎而故意)类型的技术负载,并且非常清楚自己的偿还能力。这些行动包括:

  1. 对技术架构重新的梳理
    对于没有及时进行模块划分的功能进行梳理,使之符合整体的设计原则;
  2. 对关键代码的重构
    对即将失去控制的模块代码重构,以适应未来需求的变化;
  3. 新技术的引入
    采用更加适合的技术取代临时的解决方案
  4. 补充文档
    对缺失的必要的支持文档进行补充完善
  5. 加强测试
    对于未能覆盖的功能补充测试
  6. 加强人员培训
    提升人员的开发能力,包括补充人员。注意,给一个交付压力巨大的团队增加新人,是在火上浇油,是在增加技术负债而不是减少技术负债。
  7. 提升技术管理能力
    对有问题的技术决策和管理流程进行优化,提升开发的纪律

技术负债的后果

技术负载并不是一件坏事,事实上,适度的技术负债是快速推动业务发展的保障。就如同金融行业鼓励大家使用信用卡一样,适度的技术负债是信誉和技术能力的体现。一个成熟的团队能够非常清楚自己的技术负债,并且具有很强的偿还能力,可以很快从巨大的交付压力中恢复。但一个新的团队,盲目的增加技术负债是非常危险的一件事情。缺少经验和能力,无法准确评估自己的债务和偿还能力,很容易导致失控。

如同金融负债一样,技术负债会产生利息,并且这个利息会越滚越多,甚至最后都无法计算其带来的影响。将承担着技术负债的代码发布到生产系统,就是提升负债的利率。

技术负债是造成发布延期,项目进度失控的一个重要原因。当发现延期越来越多,质量越来越不可控,就意味着技术负债已经带来很大影响。开发人员花的大量工作是在偿还技术负债带来的利息,而不是有效生产。

一味要求技术团队赶进度,都是2,3天之后就要求功能上线,是在透支使用技术团队。长此以往,将会导致技术团队破产。轻则系统失控,任何一点小的功能都会导致无可预知的问题,质量无法保障,运营成本剧增。重则丧失品牌信誉,甚至导致法律纠纷,错失市场机会。

相关文章

  • 技术负债与破产

    技术负债(Technical Debt),也叫设计负债(Code debt)或 代码负债(code debt) 是...

  • 个人申请破产深圳试行,意味着什么

    企业申请破产可以理解,经营不下去负债太多无力偿还申请破产无可厚非,个人怎么破产? 如果个人可以申请破产在我们国家未...

  • 负债

    这几年因为买房和老公生意破产家里有了负债,最近发现身边负债的朋友还挺多的,不过有的是良性负债,有的是恶性负债,今天...

  • 对技术负债,技术和业务权衡和重构,重写,升级的一些看法

    技术负债 在技术圈,有一个债务术语叫【技术负债】或者【技术债务】。【技术负债】带来的显性和隐性成本是非常高的。 显...

  • 企业破产法律制度

    破产法律制度概述 破产与破产法的概念与特征破产法的立法宗旨与调整作用破产法的适用范围 破产申请与受理 破产原因破产...

  • 技术负债

    短期加速了软件开发,但是在未来给自己带来了额外的负担,这种技术负债的情况比比皆是,今天来说说技术负债的问题。 1....

  • 【财务思维】高负债不等于高风险

    负债率是预测破产风险的重要指标之一。 中国上市公司平均资产负债率在42%左右,但并不是高负债等于高风险,也要看企业...

  • D23 财务结构-那根棒子越高越好,以长支长

    1. 负债占资产比率-那根棒子 棒子位置高低体现了公司负债占资产比率,是否会有破产危险 表现出股东的偏好,是否对这...

  • 财务结构小结

    财务结构是考察一家公司是否存在破产危机的指标。在资产负债表中,资产=负债+所有者权益,将负债和所有者权益一分...

  • 五月每周末钢琴音乐会, 破产姐妹也发福利!

    Hi,大家,我们是来自武汉的破产姐妹。 至于是如何破产的,大概是两姐妹刚买了房和车…… 但很显然,负债累累的两姐妹...

网友评论

      本文标题:技术负债与破产

      本文链接:https://www.haomeiwen.com/subject/iapjittx.html