我国最大的IT项目管理门户网站,国内IT项目管理培训与咨询服务提供商

当前位置:首页 > 敏捷开发 > 正文

客官,基于TFS工具的敏捷改进进来了解一下?

2018-11-23 来源:我们的开心 孙健 王晓敏
      “春天工程”项目组是应用开发二部最早采用敏捷模式的项目组,项目组在项目推进过程中使用Scrum框架,结合“看板+站会”形式,积极探索项目推进新措施。结合TFS工具逐步实现了电子工具与物理看板的有机融合,并在过程管理、版本管理、交付质量三大方面取得了突破。
 
      物理看板作为“春天工程”项目组日常管理的核心工具,实现了从“影响地图”出发的需求研制与分析,利用“用户故事地图”将需求拆分成用户故事及任务,以两周一迭代的频度交付产品。
 
 
      截至目前,项目组已完成15轮迭代。“春天工程”团队依据自身特点,逐步摸索形成更加合理的团队组织结构,并明确了Scrum 主管、产品负责人(PO)、产品设计负责人、开发团队负责人(TL)等角色的职责定义。
 
      敏捷宣言中有这样一句话:“个体和互动高于流程和工具”。物理看板有助于团队的互动和协作,有助于褒优贬劣,营造竞争氛围。将物理看板置于工作区内,所有人高度可见,以清晰把控和推进工作进度。尤其在试点初期,项目组基于项目具体情况,对看板系统作出变化调整。项目组在敏捷试点中深刻体会到物理看板的强大优势。
 
      为进一步节约人力成本,沉淀历史数据,项目组不断摸索,结合TFS工具提供的强大功能,逐步实现了电子工具与物理看板的有机融合,在工作项、拉入请求、部署工作流等方面持续研究实践,最终通过七项措施,在过程管理、版本管理、交付质量三大方面取得了新的突破。
 
成果一:TFS工作项与物理看板相结合,使过程管理变得更加容易
 
      物理看板具有易于实施、直观灵活、沟通快捷等特点,但也存在一些不便:
      1.从物理看板上无法清晰看到用户故事与实施任务的层级对应关系
      2.已完成的需求和故事归档后,在需要复盘时查找起来比较费时
      3.过程数据的收集比较困难,需要人工整理便签并手动归档
      4.每轮迭代交付版本时,代码与故事的对应关系不够清晰
 
      为了改进上述问题,充分发挥物理看板的优势,项目组启用了TFS工作项来管理需求和用户故事,在需求、用户故事和代码间建立了清晰的关联,过程数据的收集也变得更加容易。
 
措施一:通过TFS工作项管理需求和用户故事
 
      使用TFS工作项管理需求和用户故事后,在积压工作中,可以清晰的展现需求与故事的对应关系。通过累积流图,可以清晰的统计出需求与故事的交付情况,便于及时发现问题,精准把控迭代进度。
 
 
      每日站会时,PO会根据物理看板上需求和故事的完成情况,拖动电子看板上对应工作项,及时更新工作项状态。PO只需在TFS中建立简单的查询,迭代评审回顾会时便可及时统计出迭代故事的完成情况,无需再进行人工统计。
 
      需要对用户故事复盘时,可以直接按迭代序号,查找出要复盘的需求和故事,操作简单、且清晰明了。
 
措施二:通过TFS工作项实现代码关联
 
      通过TFS工作项维护需求和用户故事以后,开发人员只需输入工作项ID选择关联工作项,便可实现用户故事和代码的关联。在构建程序版本进行分支合并时,也能够清晰地知道本次提交的代码实现了哪些需求及用户故事。
 
 
成果二:使用代码库和拉取请求,让版本管理变的清晰有效
 
      项目组前期使用git库进行代码管理,遇到以下瓶颈:
      1.因项目包含的模块众多,开发过程中测试版本的匹配相对模糊
      2.多人开发的情况下,缺乏便捷的代码评审机制,评审后难以追溯代码的修改情况
      为了解决上述瓶颈,项目组做了以下实践。
 
措施三:通过代码库拆分,实现代码隔离
 
      项目组按模块对代码库进行了拆分,将原来的一个git库拆分为17个独立的git库,实现了不同模块代码的隔离,便于各模块独立更新代码,易于版本匹配。同时,基于Master分支分离出测试分支,实现开发、测试、投产代码的全隔离。
 
 
措施四:设置TFS分支策略,保证代码评审简单有效
 
      项目组在dev与rel,rel与Master分支间分别设置TFS拉取请求,在迭代中使用拉取请求的diff功能进行代码评审。代码经过评审并完成集成测试后合并至rel测试分支,进而完成部署版本的构建。
 
      以dev分支为例,当开发人员提交本地代码至dev分支时,在拉入请求中可以清晰的看到上次合并以来所有的分支提交情况。同时,拉取请求还为代码评审工作提供了清晰的对比界面,在界面中评审人员可以直接在代码中添加评审意见,并设置意见的状态。代码的作者或其他评审人员可以直接对意见进行回复。程序作者可以根据实际情况把评审问题的状态置为“已解决”、“不是问题”、“已关闭”等。
 
 
      结合TFS分支策略,强制要求代码经过评审且审阅者批准后才能完成拉取请求,进行分支合并操作,保证了代码的质量。
 
 
措施五:建立BUG分支,通过拉取请求实现问题修复
 
      在测试过程中遇到问题时,项目组会基于测试分支(rel分支)新建一个BUG分支,BUG修复完成后提交至测试分支时创建一个拉取请求,通过拉取请求将修复后的代码提交至REL分支。代码归并至rel分支后,通过diff将完成修复的代码回退至dev分支,保证各环境代码版本的准确无误。
 
成果三:利用TFS部署工作流,提高交付质量和频率
 
      在部署过程中,项目组陆续发现了以下不便:
 
      1、开发、测试和投产代码构建缺乏隔离机制,可能会将开发中未经测试的代码带入生成分支;
 
      2、项目组前期采用的是IDE手动构建WAR包,部署三个模块耗时较多,影响项目组的开发效率。
 
措施六:先隔离再归并,持续集成,实现部署过程自动化
 
      为优化部署流程,项目各模块在自己的git库中通过拉取请求将迭代完成的代码匹配成正确的版本,归并至rel分支,同时触发自动构建和自动部署,持续集成,保证了发布版本的正确性。部署过程自动化,释放了人力成本,保证了版本正确,提高了部署效率。
 
 
措施七:利用仪表盘功能,便于查看每日构建及部署完成情况
 
      项目组rel分支自动构建和部署的基础上,对dev分支配置了每日构建和部署,并在项目首页添加了构建情况一览,可以清晰的看到每日构建的完成情况。
 
 
      总结
 
      通过上述七项措施,春天工程项目组实现了需求和用户故事的的电子化跟踪,结合物理看板的使用,项目进度有了清晰的把控,度量数据的收集变得更加容易。通过代码库的拆分、需求及故事同代码的关联、TFS拉取请求及分支策略的运用,项目组建立了代码版本管理机制。通过自动构建及部署流水线的运用,提高了团队的持续集成和交付能力。
 
      项目管理办公室与应用开发二部密切协作,持续深化产品经理思维,努力实现任务驱动型团队向自组织团队转变。目前应用开发二部敏捷试点项目已推广至8个,每个项目根据自身特点,增加电子看板试点,结合影响地图、用户故事地图、TFS、AXURE等一系列方法和工具,不断探索改进,团队分工更加明确,组织结构更加合理,研发效率稳步提升。
 
 
      我们将会继续探索实践,坚持总结分享,希望所有试点团队能够少走弯路,尽快找到适合自己的敏捷模式。
分享到:

免责声明:
  1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
  2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!

more

会议活动

more

公开课

more

PMO

Copyright © 2021 IT项目管理界 版权所有 京ICP备17062359号-4 如转载本站文章,请注明原作者和原发布媒体

本着互联网分享精神,本站部分内容转载于其他网站和媒体,如稿件涉及版权等问题,请联系本站进行删除或修改处理

客服电话:010-89506650 89504891 非工作时间可联系:18701278071(微信) QQ在线:511524637

新闻与原创文章投稿:tougao#cpmta.com 客服邮箱:info#cpmta.com(请将#换成@)

IT项目管理界——我国最大的IT项目管理门户网站,隶属卓橡公司

IT项目管理界官方微信

IT项目管理界官方微信

PMO大会官方微信

PMO大会官方微信