如何处理技术债
1.什么是技术债
代码写好就提交,意味着欠债的开始。稍微欠点儿技术债的确可以加速开发速度,但是前提是事后及时重写代码。如果只借不还,后果很危险。在不准确的代码上所花的每一分钟,都算是技术债的应付利息。不稳固、脆弱的代码实现所引发的债务负担,会使整个工程组织陷入裹足不前的艰难境地!
2.技术债的类型
- 不合适的设计,比如过度设计、业务发现大变化、抽象能力不足等
 - 缺陷
 - 手工测试过多
 - 集成和版本管理不善
 - 缺乏平台经验
 - ...
 
3.技术债的后果
- 爆发点不可预期,哪天来个p0,就可以回家了
 - 交付时间延长
 - 缺陷数量可观
 - 产品和支持成本持续上升
 - 产品萎缩
 - 可预测性较低
 - 表现越来越差
 - 挫败感四处弥漫
 - 客户满意度降低
 - ...
 
4.技术债的起源
- 如期完工的压力
 - 试图以错误的方式提高效率
 - 试图减少测试提高效率,比如单元测试、集成测试、系统测试、白盒测试、黑盒测试不足
 - 债累债
 - 人员技术水平不足
 - 业务不熟悉,设计错误
 - ...
 
5.技术在必须加以管理
- 让技术债在业务层面可见
 - 让技术债在技术层面可见
 - 统计技术债所偿还的利息,No Data No bb
 - 向团队成员普及技术债的危害
 - ...
 
6.偿还技术债
- 并非所有的技术债都应该偿还,比如:行将就木的产品、一次性原型、短命产品
 - 应用有债就还原则
 - 分期偿还技术债
 - 先偿还高息技术债
 - 一边做有客户价值的工作,一边偿还技术债
 
7.手段
熟悉系统的业务
熟悉系统的代码
挖掘系统存在的技术债
找到技术债后,做汇总,做评估,做测试
向上级反馈技术债,争取资源去消灭技术债
上线新方案,统计新方案与旧方案的对比,使得个人的价值得到更多的认可
一边做日常工作,一边做技术债的工作,千万不能忘了日常的工作重心陷入天天抱怨系统的技术债中
8.解决的技术债越多,收获越多
在工作中,认识了很多风格迥异的同事,有热衷技术的技术宅,有打酱油的A员工,有热衷架构的大牛,从个人的实践来看,解决的技术债越多,个人的架构能力、抽象能力、发现问题的能力越强,自己也从技术债中受益良多...