项目经理不仅要用管理实践掌控项目,还需要通过技术实践来改变团队,从而获得更大收益。
持续集成
开发人员用1,2个小时编写一段代码,进行编译、测试、复查、构建、允许冒烟测试,再迁入到代码库中,持续集成就这么发生了。
若将任务拆分成更小的任务,持续集成可以让开发人员在一个很短的周期内马上得到工作反馈,尽早识别出项目集成的风险。
自动化冒烟测试
冒烟测试仅仅是为了验证构造出来的版本基本上没有问题。
按功能实现,而不是按架构
按架构实现会因为完成的都是部分功能,不是完整的功能,而大量项目的节奏。按功能实现只要针对某个功能的要求利用架构做好实现就好了。
在按功能实现时,要优先实现最有价值的功能,把风险最高的功能往后放一放。在实现过程中,要按照功能进行调试和测试,做到伤其十指不如段其一指!
多几只眼睛盯着产品
复查能为项目带来方方面面的好处,常见的形式包括:结对编程、伙伴复查、同行复查、走查、正式检查。
准备重构
让重构和开发同时进行,重构的成本是非常小的。如果在项目结束才重构,那代价就太高了。
通过用例、用户故事、角色和场景来定义需求
只要让大家了解需求的上下文,开发人员和测试人员就能知道如何开发和测试了。
分离需求和GUI设计
系统解决的问题通过需求得以体现,GUI是引导用户使用系统以解决他们的问题,两者分离开有助于保持项目的节奏。
尽可能使用低保真度的原型
铭记在心
- 项目经理可以建议团队成员采用上述实践,但不能强制;
- 如果只能选择一个技术实践,推荐“持续集成”;
- 采纳和调整技术实践要有助于保持项目节奏,允许项目提高启动和结束的速度;