Team Foundation Server 2010内置两个过程模板,虽然有TFS过程帮助文档,但微软并没有提供我们最需要的实践指南,示例等。我们一直用"MSF for Agile Software Development v5.0",长期以来我们尽量适应这个模板,把它当成标准来用。但是渐渐的我们发现这个过程模板跟我们实际的开发工作并不吻合,一方面这个模板毕竟是舶来之品,跟中国式的软件特点有很大的差异;另一方面软件过程持续改进是恒定的规律,现阶段的工作特点需要跟现状相符的过程模板,而不是一步到位。
首先启动Visual Studio 2010,打开"团队\团队项目集合设置\过程模板管理器",下载"MSF for Agile Software Development v5.0"到本地文件夹。
然后下载:Team Foundation Server Power Tools ,安装完成后,在visual studio里执行"工具\Process Editor\Process Templates\Open Process Template",打开刚下载的"MSF for Agile Software Development v5.0"进行修改。
团队项目的第一个阶段是"迭代 1","迭代 n"等随项目的进展动态添加。另外,这里增加一个特殊的迭代:"积压"(Backlog),未计划的,不明确,不紧急的工作项暂时放到"积压"里,随着项目的进展情况以及客户的要求,"积压"里的工作项才会安排到"迭代 n"里。
新增三个组:Developers (开发者),Support (技术支持),Testers (测试员)
敏捷过程模板默认生成的团队查询如下图所示,看起来比较复杂,我们一边用一边定制新的查询,来来回回用了两年,最后总结了最常用的查询,那些不常用的查询狠狠心都删除了。
图 1 修改前 图 2 修改后
3.1修改查询
3.2 我的所有工作
这个查询体现的是个人关注,是项目成员工作的入口,把所有项目中指派给他的用户情景,任务,问题,Bug显示在一个表格里,使得他可以快速简便的查看自己的任务情况,比如:新任务,未完成的任务,优先级高的任务等等。实践发现,这种方式比让他去各个项目里去查找"我的任务","我的Bug"等要有效的多,特别是对于多项目并行开发以及跨部门协作的情况。
3.3 所有工作
这个查询体现的是项目关注,关注项目的全部工作项以及工作项之间的父子关系。
4 工作项(Work Item)
4.1 默认工作项(Default Work Items)
TFS2010支持工作项的层次结构,这样当工作项特别多的时候就不像TFS2008那么乱了。于是每一个新的团队项目里都要手工创建完全相同的顶层摘要任务,重复工作又来了,消灭重复劳动,提高自动化水平是我们义不容辞的责任,那就直接在默认工作项里添加吧。一点小遗憾是不能建立父子关系,只能在创建团队项目后手工完成。
4.2 工作项类型(Work Item Type)
本来不想定制工作项类型,无奈敏捷过程模板不支持"开始日期"和"完成日期",如果想要设置工作项的"完成日期",还要用Office Project打开tfs才能修改"完成日期"。这也太不敏捷了,打开"Type Definitions"编辑任务,添加上"开始日期"和"完成日期"。
预览一下看看效果,看起来还挺合适的嘛!自从把这两个字段放出来,舒适度提高20%。
最后,把修改完的过程模板改名为:"MSF for Agile Software Development v5.1",再次打开过程模板管理器,上载到服务器。