查看原文
其他

#VSTS定制#全新的模版定制能力

2015-12-17 徐磊 DevOps

在应用生命周期管理(ALM)领域中,存在各种不同的管理模型,如:传统的瀑布(waterfall)模型,CMMI模型以及最近一些年开始流行的敏捷模型,Scrum模型,kanban等等。每个不同的管理模型都有一些固定的流程,角色,活动和内容模版等内容,在ALM工具中,一般会使用不同的“过程模版”来提供给团队使用,在团队创建项目的时候可以选择某个特定的模版来支持自己的应用开发过程。但实际情况是,每个团队的真实操作场景都不一样,大家都有不同的说法,不同的工作流和不同的工作习惯,比如:我曾经和一个大型开发团队聊了一个小时它们的“项目”流程,最后发现他们所说的“项目”实际是一个个的条目化需求。这种情况下,团队往往会要求在自己的模版中进行修改,以便大家可以按照自己的习惯来进行操作。也许你觉得:让他们改变一下习惯,把原来叫做“项目”的东西改叫“需求”不就完了,其实事情真的没有那么简单,让一个人改变习惯尚且需要时日,让100个人改变习惯那就是个大工程了(甚至可以上升到“组织变革”的层面了)。而且,工具永远应该是人的辅助,所以多数情况下我们需要工具来适应人,而不能被工具绑架。


在TFS/VSTS中,默认提供了3种不同的过程模版,分别是:CMMI,敏捷和Scrum。

很多团队在开始的时候都很迷惑,我到底该选择哪个模版,我现在想做敏捷,但是公司的规范是cmmi;我们有一点Scrum,但不是很规范;到底咋办?我的回答是:模版只是一个起点,一开始的时候先按模版推荐的流程操作,熟练以后慢慢引入自己的实践,这个时候你就需要对这些模版进行定制。


不过说实话,在TFS 2013及以前的版本中的模版定制真心不是件容易的事情,且不说你需要懂得这些模型的各种细节,就是搞定那些复杂的xml和工作流就够你受的。所以,模版定制改进一直是微软TFS的UserVoice上呼声最高的几个feature之一,我们等待了快10年了,现在终于来了。


添加字段

添加字段一直都是我所有客户中最需要的,基本上每个开始使用tfs的用户都会问:我要在这个需求工作项的页面上添加一个“预期完成时间”该怎么办,我之前的回答是这样的:
1. 用Visual Studio下载当前项目的过程模版
2. 安装TFS Power Tools
3. 用TFS Power Tools打开下载的模版
4. 找到你的需求工作项类型,在里面添加字段;哦,别忘了还要添加到页面的布局里面,这个xml应该这么写…
5. 上传到项目中

基本上我还没说完,人家就睡着了 zzz


好吧,看看现在怎么做

  1. 随便打开一个你要添加字段的工作项,点击右上角的…,选择“定制”

  2. 在后台的“过程定制”中点击“新字段”,并填写字段名称和类型

  3. 切换到“布局”,选择显示的位置

  4. 回到原来的工作项页面,刷新页面,搞定

是不是很简单,以后你不用找我这个顾问了,自己搞定吧!(看来我要失业了)


模版的继承关系

看了上面的演示你会觉得很简单,对吧。要实现这个看似简单的功能,tfs后台的改动可不小。首先一个问题,如果我添加了字段,但是希望新创建的项目也可以使用这个字段怎么做,如果我希望在一个项目中的修改可以让其他部分项目使用,另外一部分项目不使用怎么办?

在 TFS 2013及之前版本中,项目模版是存储在项目级数据中的,所以对于一个项目的定制不会影响其他项目的模版,这样带来的好处是不同的项目可以使用不同的流程。不过有些企业希望统一所有的项目流程,在这种架构下就比较麻烦了,你必须一个个项目的更新模版。


新的模版定制功能中考虑到了这个问题,增加了模版继承机制。你可以从内置的Agile/CMMI/Scrum模版中选择一个创建子模版:
– 父模版的改动会自动影响子模版的项目,
– 子模版的改动不会影响父模版,
– 支持父子模版的切换,你可以把使用子模版的项目再切换回父模版;如果之前有些字段中有数据的话,这些数据仍然可以在工作项的历史纪录中找到


下图是后台的“模版定制”界面,你可以看到模版间的继承关系以及每个模版的版本和影响的项目数量。


选择模版后,我们可以将已有的项目迁移到有继承关系的子模版上


也可以对每个模版设置不同的权限,允许部分用户使用特定的模版,或者干脆停用

其他模版定制能力

当然,在工作项中添加字段只是最简单的场景,我们还需要修改字段的内容,比如:添加下拉菜单;修改工作流程,创建全新的工作项类型等等。这些内容在后续的TFS/VSTS更新中会以2-3周的迭代速度按照以下优先级提供

1. 添加字段修改布局(已经发布)
2. 添加下拉菜单和identity字段
3. 修改工作流
4. 添加新的工作项类型
5. 在字段上添加验证规则
6. 导入/导出定制过程模版

这些功能会首先提供给在线版vsts,按照企业版tfs每3个月一次更新速度,如果你自己部署了tfs,也可以更新到你的环境中。


参考:

ALM 博客:Adding a custom field to a work item
http://blogs.msdn.com/b/visualstudioalm/archive/2015/12/10/adding-a-custom-field-to-a-work-item.aspx

ALM博客:Visual Studio Online Process Customization – Update
http://blogs.msdn.com/b/visualstudioalm/archive/2015/07/27/visual-studio-online-process-customization-update.aspx

VSTS在线版
https://www.visualstudio.com

企业版Team Foundation Server下载
https://www.visualstudio.com/products/tfs-overview-vs


请关注微信公众号 devopshub,获取更多关于DevOps研发运维一体化的信息

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存