对于微软在采用PCM过程中的一些具体实践,有很多的经验值得其他软件公司去参考和借鉴,我们在参会中,发现有六个值得我们推荐学习的微软奥秘。
每日编译(Daily Build)
在软件开发中的一个普遍现象是:每一个模块运行都没有问题,一旦集成在一起就会出现各种各样的问题。PCM的一个经验是在项目开发过程中,几乎每天都将所有的代码集成在一起编译成一个可以执行的系统,这样可以避免在项目的后期出现不可挽回的错误。通过每日编译,还可以解决很多问题,如:产品偏流客户的期望、项目经理和团队成员不了解项目的整体进度、测试人员无法编译源代码等。
三国会议(Bug Triage)
在项目的稳定期内,修复发现的错误往往会导致更加严重的错误出现。为了将这种风险减到最少,PCM 将程序经理、开发人员和测试人员三方代表结合在一起,共同讨论和评估每一个Bug,排定Bug的优先级,决定哪些Bug可以修复,哪些Bug延后修复,从而做出更加合理的判断。
作战室会议(War Meeting)
通常每个项目团队都会有一个专门的作战室(War Room)。作战室也就是产品开发管理中心,产品开发组成员经常在这里会面,根据项目的进展情况在里面会晤。War meeting 一般发生在软件发布之前。这时召开的会议一般都需要整个团队所有人都来参加,产生的决定都是非常谨慎的。由于产品要开始发行了,发生的Bug 要不要修改,这些都是非常关键的,需要集中资源进行研究决定。
结对测试工程师(Buddy Tester)
在软件开发过程中,每一个开发人员都会有一个测试人员专门测试他开发的软件模块,这样就可以及时地在代码集成之前就发现一些错误,而且当错误出现时,可以更加容易地界定错误的范围。
功能团队(Feature Team)
阶段性的目标(Milestone)