【Scrum】敏捷软件开发——个体(4)
2023-02-08 本文已影响0人
NumLock
九、技术实践
追求技术进步
1、测试驱动开发(TDD)
传统开发和测试驱动开发2、重构
重构是指改变代码的结构,而不是代码的行为,需要定期对代码进行清理,避免代码腐烂
3、集体所有权
指所有的开发人员共同负责开发过程中的所有产出内容,特别是代码和自动化测试
确保开发人员不会变得太专以至于只能在某一方面作出贡献
确保没有一个地方变得太错综复杂以至于只有一个开发人员可以明白和完成其工作
4、持续集成
指尽可能快地将新开发和修改过的代码集成到一个应用程序中,然后测试这个应用程序,确保没有任何东西被破坏,而不是可能过了几天甚至几周才提交代码
持续集成通常借助于一个工具或者脚本来实现,不允许手动实现
冒烟测试是在每次代码检入的时候运行,包括当前里程碑(Sprint)的所有测试脚本和过去里程碑的部分脚本
全量回归每隔一个小时运行一次,包括所有的脚本——一般不采用
5、结对编程
指两个开发人员一起写代码,这是一个很好的写代码的方式,结对会花费更多的人时,但总时间更少
Brooks定律——给延期软件项目增加人手,会使其进一步延期
设计:有意的而又是涌现式的
1、习惯于不做大型设计
在过去,做大型的前期设计完全可能节省时间和金钱,但是,Scrum使用优秀的技术实践,通过更频繁地修改应用程序,他们可以用更低的成本适应客户的需要
2、引导设计
Scrum团队可以影响事项的工作顺序,特别是在新项目的早期,团队成员要鼓励PO选择可以那些能最大化知识并排除技术不确定性或风险的事项
技术实践的改进并不是可有可无的
技术实践在应用中可能不总是100%的需要
持续集成只是每日构建的自然延伸,它是对敏捷团队的最低要求
结合使用这些实践可以制造出质量高、缺陷少的产品
敏捷编程为变更而做设计,它的目标是设计出能接受变更、甚至期望变更的程序。理想情况下,敏捷编程允许以简单的、局部的方式来适应变更,以避免或大大减少重大重构,重新测试和系统构建