http://www.zentao.net/dynamic/80027.html

作者:李士心

来源:https://www.zhihu.com/question/21518108/answer/96043412

全面采用禅道的敏捷开发模式进行整个软件开发生命周期的管理,需求->设计->编码->测试->交付这四个阶段全部用禅道对应的功能进行规范化管理。

岗位划分:
1、项目经理
2、技术经理
3、测试经理
4、高级程序员(一般担任开发小组长)
5、程序员
6、前端工程师
以上2、4、5、6属于开发组,3属于测试组

具体开发工作流程如下:
1、与甲方做需求前期讨论
负责人:项目经理
参与者:技术经理、测试经理及其它有必要参与的人员

外部需求讨论阶段不需要进禅道,用excel格式的会议纪要、邮件等进行沟通

2、与甲方一起确定需要进行开发的需求及优先级
负责人:项目经理
参与者:技术经理

把最终确定的需求,细化之后把细化的需求录入到禅道并设定好优先级,优先级为1的为下一个版本要实现的需求,这里要注意一定是细化的需求,比如:原始需求是“支持多城市,定于4月15日上线区内其他4个城市”,从这个需求细化出来的应该是具体到页面的需求,如:多城市_修改订单列表页面使之支持多城市...
确定下一次发版后要完成的需求后,项目组内部开全会通报所有需求,测试经理开始准备测试用例

3、确定好将要发版的组件版本
负责人:项目经理
每一次发版的版本号规范如下:
1)版本号第二位加1,第三位为0,如:V2.2.0
2)在正式发版之后如果有小改,则第三位递增,如:V2.2.1,V2.2.2...
一般来说,按两周发布一个版本的周期发版
在项目-版本中定义好版本,并把版本与需求关联起来(一个需求可以和多个版本关联,比如:需求002:订单列表页支持多城市的不同操作员只能看到本城市的订单,此需求牵涉到:订单中心组件V2.2.0、商品中心组件V2.2.0、微商城/PC商城组件V2.2.0这几个版本,都要关联上)

这里要注意的是,要分组件定义版本,要求所有组件的版本号都保持一致,举例如下:
1)微商城/PC商城组件V2.2.0
2)订单中心组件V2.2.0
3)商品中心组件V2.2.0
4)门店系统组件V2.2.0
5)呼叫中心组件V2.2.0
6)门店APP组件V2.2.0
在项目-版本-查看bug,可查看此版本下的bug的清单

4、根据需求细化并分配开发任务
负责人:技术经理
禅道路径“项目-任务”,做开发任务分配的时候,一般来说都会从一个需求分出多个开发任务,任务是最原子的事务,一个任务只能是一个执行人,如:
需求为:修改XXX页面使之支持不同城市的操作员只能显示本城市的信息
分配出3个任务:
1)修改XXX页面使之支持不同城市的操作员只能显示本城市的信息-详细设计
2)修改XXX页面使之支持不同城市的操作员只能显示本城市的信息-后端编码
3)修改XXX页面使之支持不同城市的操作员只能显示本城市的信息-前端编码

5、根据开发需求做设计文档
负责人:分配了任务的开发组相应人员
监督人:技术经理
根据情况安排编码程序员做设计文档(没有太大难度的功能)或者是由高级程序员或技术经理做设计文档(有一定难度的功能),统一放到SVN。
文档标题格式:设计文档_需求ID_需求标题,如:设计文档_需求001_修改XXX页面使之支持不同城市的操作员只能显示本城市的信息

6、编码阶段
负责人:分配了任务的开发组相应人员
监督人:技术经理、开发小组长
1)程序员根据禅道上的任务按计划编码和做单元测试
2)程序员每天早上要自己去开启分配给自己的任务,任务完成后点击“完成”
这里要特别强调: 采用禅道来分配任务并不是说不需要当面沟通,当面沟通依然是最重要的
禅道可与SVN集成,使得技术经理可以直接在禅道上review代码(社区版无此功能)
3)技术经理负责每天的代码review和解决技术难题
4)项目经理负责每天监控开发进度,发现情况及时沟通处理,项目经理根据任务的完成情况,及时修改需求的进度,使得甲方能及时了解进度情况,需求的进度统一写在备注”,格式如下:
研发完毕时间:2016-04-08晚上7点
测试完毕时间:2016-04-19晚上7点
发布上线时间:2016-04-20凌晨2点

7、编码完成,提交集成测试
1)技术经理自测后认为可以提交集成测试后, 在禅道路径“项目-版本”里,提交测试
2)技术经理把代码部署到测试服务器上
3)测试经理安排测试并提交bug(提交bug的时候,属于这次发版要修正的bug,严重程度设为1,其他不属于这次发版的bug,设为2或3)
4)如果测试进入收尾阶段,即将定版的,技术经理把当前提交测试的代码在SVN上打一个对应版本的Branch分支(名称格式:V2.2.0_Testing),修改bug的人员集中在几个核心程序员上,减少引发新bug的几率,在通知核心程序员switch到此Branch后,立即修改SVN上的权限设置从Trunk上删除核心程序员的读写权限避免人为错误,其他程序员在Trunk分支上继续后续的开发
注意:
1)测试-bug中提交bug的时候,务必要选择对应的版本号
2)每次技术经理更新文件到测试服务器,都要在钉群里通告大家,并附上此次更新修复的bug清单

8、测试完成,发版前的最后审核
在测试经理回归完所有1级bug,认为可上线后
1)测试经理报告项目经理可以发版了
2)项目经理自己要再做一次测试,确保品质
3)项目经理测试后也认为没问题了,提交给甲方进行发版前的验收测试(如果有必要的,也可让甲方在阶段7参与测试)

9、甲方确认可以发版,正式发版
在甲方进行验收测试认为可以发版后,
1)测试经理,进禅道路径“测试-版本”,修改已测试好的版本,设为“已完成”
2)技术经理把此次发版需要更新的代码、数据库SQL脚本打包出来
3)项目经理从禅道的项目-需求列表里导出(复制出)此次发版关联的需求为Excel文件,此文件就是提供给甲方的changelog文档
4)项目经理向甲方提供changelog文档,并让甲方签署上线确认书
5)技术经理把将要发版的文件小心谨慎地发布到生产服务器上
6)项目经理在禅道“产品-发布”中设定与项目-版本相同的发布,备注好发版时间和发版内容,并把版本和发布一对一关联起来
7)技术经理在发版第二天,在SVN上从Branch里导出一个Tag,名称格式:V2.2.0_Release

10、版本维护阶段
在发版之后,一般来说,还是会发现一些之前没注意到的Bug需要修改,因此,在下一次大版本发版之前,需要继续维护当前版本,具体做法如下:
1)技术经理从之前发版的Tag下的Release导出一个Branch,如:V2.2.0_Fixbug
2)测试经理根据客户处反馈的情况,继续发bug到禅道上,严重程度为1,版本号为V2.2.0
3)技术经理安排相关人员在V2.2.0_Fixbug分支下修改bug(一般来说,只安排专职负责旧版本维护的程序员去处理这些bug,最好是技术经理自己负责处理),这里要注意SVN的权限,此Fixbug分支只给具体修改的程序员分配读写权限
4)测试经理安排做回归测试
5)2、3、4步骤循环进行,直到认为可以发版了,则确定版本号,比如为:V2.2.1,并从V2.2.0_Fixbug导出一个Tag为V2.2.1_Release,由技术经理更新的生产服务器上(发版前也要导出修改的bug清单给甲方确认)
以上2、3、4、5步骤迭代循环,直到停止维护此版本

11、停止维护老版本
在新版本即将发布前夕,一般是5天内,则停止老版本的维护
1)技术经理在告知相关程序员把本地的工作目录switch到Trunk后,关闭svn上的老版本Branch的程序员读写权限
2)项目经理关闭老版本的发布,禅道路径“产品-发布”,设置此版本对应的发布为“停止维护”(这个步骤不能忘记,否则在bug里边选择版本的时候,没有被停止维护的发布对应的版本会一直显示出来)

这里要特别注意的是: 不是说这一次发版完成了才开始新的一次发版之旅,一般来说,在步骤2完成之后,项目经理就要开始和甲方一起沟通下一次发版的需求了,然后是技术经理从需求分配任务,开始新一次发版之旅。这就是螺旋状上升的敏捷迭代开发之路。

全面使用禅道做敏捷开发的规范化管理分享相关推荐

  1. 使用禅道进行敏捷项目管理

    目录 1. 安装和启动禅道 2.敏捷开发流程 (转自禅道官网) 1) 收集需求 2)发布计划会议:确定每个迭代要完成的功能列表 3)迭代计划会议:对迭代内的需求进行任务分解,并指派到人 4)成员按任务 ...

  2. 关于禅道二次开发的分享

    关于禅道二次开发的分享 作者:轻易科技知行研发部 - 王想 为适应公司内部使用禅道平台,我参与的团队在现有版本上进行了二次开发. 首先,感谢开发禅道平台的原创团队. 因公司需要,本人学习了禅道的框架及 ...

  3. 【禅道使用】使用禅道做需求、任务管理、项目或产品的可视化管理

    本篇文章主要补充说明了,产品经理或项目经理在使用禅道的过程中,进行需求管理或项目管理容易混淆的地方. 同时介绍了新版禅道中强大的统计报表工具,可以非常方便的让使用者进行项目或产品的禅道可视化管理与禅道 ...

  4. 敏捷团队如何在 PingCode 这类敏捷开发工具中管理 Scrum 开发管理流程

    在本教程中,我们将在 PingCode 中介绍如何使用 Scrum 项目.创建产品待办列表和规划迭代.举行 Scrum 会议等详细流程.准备工作:已创建 PingCode 软件帐户 [免费注册通道] ...

  5. 禅道----基于敏捷思想的项目管理工具

    •禅道简介 •禅道最早在2004年发布,是国内较早的开源项目管理软件.它集产品管理.项目管理.质量管理.文档管理. 组织管理和事务管理于一体,覆盖了项目管理的核心流程,是一款较专业的研发项目管理软件. ...

  6. 禅道二次开发发送邮件功能

    2019独角兽企业重金招聘Python工程师标准>>> 禅道默认在BUG和任务 修改,指派 的时候会发送邮件给默认的接收人 但是其他模块就没有对应的开发配置.如果有发信的需求,就要手 ...

  7. 禅道 php api,禅道 Rest API 开发

    在老的 PHP 系统中使用 PHP 5.3以后的库 所谓老的系统,是指没有使用PHP 5.3以上命名空间(namespace)特性编码的系统. 但是,只要你的系统运行在 PHP 5.3及以上的环境,在 ...

  8. 禅道 Rest API 开发

    在老的 PHP 系统中使用 PHP 5.3以后的库 所谓老的系统,是指没有使用PHP 5.3以上命名空间(namespace)特性编码的系统. 但是,只要你的系统运行在 PHP 5.3及以上的环境,在 ...

  9. jsp做看板_如何使用看板做敏捷开发

    在软件开发实践和互联网的发展中,一直有新的工作方法论不断涌出,有不少的先行者在积极地探索着.敏捷方法和精益方法正是近十几年来,从这波潮流中涌现的最精彩夺目的两项成果.敏捷方法和精益方法的大伞,覆盖多种 ...

最新文章

  1. 中兴智能视觉大数据公交车专用道移动智能电子警察系统功能、特点及优势详细介绍...
  2. Java实现结构体,让字节流封送简单起来
  3. javascript必须知道的知识要点(一)
  4. JavaScript可否多线程? 深入理解JavaScript定时机制
  5. linux 版本的scipy,linux安装scipy
  6. 移动端页面弹幕小Demo实例说明
  7. 福建首个区块链赋能教育信息化项目上线
  8. 图灵奖公布 | 高性能计算先驱、为超算铺平道路的Jack Dongarra获奖
  9. 从一张表里选择一列加入到另一张表_将Excel多个文件汇总到一张表
  10. (转载)tomcat5下jsp出现getOutputStream() has already been called for this
  11. git branch -M main时报错
  12. 深入理解jQuery插件开发(讲解jQuery开发的好文)
  13. Excavator(挖掘机)-Java RMI
  14. 您对超人搜索有什么建议?
  15. 《强悍》小妹妹买裤子砍价的全过程!
  16. PCB设计学习笔记(五)做个Mini小车
  17. PHP代码审计系列(一) 基础:方法、思路、流程
  18. 网易云课堂(页面布局)
  19. 弧度与角度的转换公式推导
  20. 数学归纳法:为什么假设可以作为证明的条件?

热门文章

  1. c# 网口相机可以通过_双网口硬盘录像机怎么设置?录像机连接GB28181公安专网步骤指导...
  2. PCL之ubuntu安装CloudCompare
  3. ERROR: Could not install packages due to an EnvironmentError: [Errno 13] 权限不够的解决办法
  4. 提交数据网页设计_数据化时代,爬虫工程师才是真正“扛把子”
  5. 【自由随想录(三)】
  6. altium designer快捷键大全
  7. linux gulp安装教程,Linux环境NodeJS安装及Gulp安装
  8. HTML5的新的结构元素介绍
  9. 【数据结构笔记46】Sort with Swap(0,*)只允许交换0的排序
  10. 永川机器人五小区_永川清掏化粪池报价---蚂众蚁