首先定义技术债,它包括低级技术债、不可避免的技术债和策略性技术债。如今,技术债既指我们有意选择的捷径,又指许多损害软件系统的不良实践。
技术债是可以消除的,只要能够提供适当的培训,能够更好地理解技术实践的运用,能够做出合理的业务决策。因其产生时不可靠且频繁偶发的本质,我把这种债务成为“低级技术债”,其他称呼还有:草率的技术债,无心技术债或混乱。
还有一种不可避免技术债,通常无法预测,也无法预防,受影响而必须做的改动就是不可避免技术债。
最后一种技术债是策略性的技术债。这种债务可以作为一种工具,帮助组织从经济角度更好地权衡重要的决策。
技术债的后果
技术债的起因
不可避免的技术债是不管采取什么预防措施,都会积累。低级技术债是团队成员、组织及或过程不成熟所造成的。策略性技术债则是在债务累计收益大大超过债务成本时可能选择承担的债务。
如期完工的压力
试图以错误的方式提高速率
误区:减少测试可以提高速率
债累债
技术债必须加以管理
没有哪个产品能做到“无债一身轻”,不建议努力达到无债状态,但应该尽量少欠技术债,使其不至于明显影响后续产品的开发。技术债的管理要求综合考虑技术和业务因素,因此离不开技术人员和业务人员的参与。
管理应计技术债
使用良好的技术实践
使用强完成定义
正确理解技术债经济
让技术债可见
让技术债在业务层面可见
让技术债在技术层面可见
偿还技术债
并非所有技术债都应该偿还
行将就木的产品
一次性原型
短命产品应用童子军规则(有债就还)
分期偿还技术债
先偿还高息技术债
一边做有客户价值的工作,一边偿还技术债
第12章 Scrum团队结构
Scrum团队是Scrum组织的重要资产。以下讨论几种组建Scrum团队的不同方式。