目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出、评审、设计以及实现的流程。基于这套流程,在许多的流程细节中,需要平台尽可能化的实现规则的自动化,把流程目标的支撑元数据落实到平台自动过程中的各类中间数据中。让平台按业务规则产生各类的在没有平台支持过程中很难产生的研发过程数据,同时提高研发全周期中各项工作过程及成果的量化和可视化,及早发现周期过程中存在的问题、偏离和风险,并进行规划和设计纠正、修正偏离和化解风险。研发平台也最大化地在基础设施上为软件研发干系人提供支持,扩大成员之间的沟通的途径,激发人员沟通的初始意念,真正的使团队协作发挥出效率和效力。
客户的研发平台基础软件使用的是微软的TFS2013,SqlServer2014,SharePoint2013等软件产品集合,其中需求数据主要是基于TFS的需求等相关工作项作为载体的。
为了落实上述的客户需求,用来几个迭代,开发了一个TFS服务端的扩展插件,验证和实现了客户质量管理部设计的流程,并精化了流程中的瑕疵。通过在预生产环境中的验证,并灰度发布到生产环境中,下一步将全部应用到生产环境中。
下面记录了一个层级需求在创建和更新过程中,自动化修改相关需求的层级属性的功能在TFS中的实现开发过程。
程序主要是基于TFS服务端类库中提供的ISubscriber接口规范实现的,该模式目前支持对最新TFS2017产品仍然支持。
http://www.almguide.com/2011/12/tfs-server-side-event-handlers/
1, 首先创建一个C#的类库项目,并引用如下图中的DLL文件,其中的部分文件只有在安装了TFS的服务器的文件系统中才可以找到。
2, 实现TFS ISubscriber接口。
3, 实现相关的工作项级联更新相关业务逻辑。
4, 部署编译好的类库文件,并进行调试
把生成的DLL文件,拷贝到TFS插件文件夹中,拷贝后,TFS服务会自动重启,并把DLL定义中实现的ISubscriber实现规则进行应用。
DLL的调试,需要使用附加调试的方式,把项目附加到TFS服务器上的w3wp.exe进程上,附加后,修改工作项,就可以看到命中断点,方便调试。