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