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完成之后,项目经理就要开始和甲方一起沟通下一次发版的需求了,然后是技术经理从需求分配任务,开始新一次发版之旅。这就是螺旋状上升的敏捷迭代开发之路。
相关推荐
它融合了敏捷开发理念,涵盖了产品管理、项目管理、质量管理、文档管理、bug跟踪、需求管理、任务管理、缺陷管理等多个方面,帮助团队在软件开发过程中实现流程化、规范化操作。 1. **产品管理**:禅道提供了产品...
1. 敏捷开发:禅道支持敏捷开发流程,如Scrum和Kanban,提供看板管理,让团队可以直观地跟踪任务进度,及时调整工作流。 2. 需求管理:系统内建需求管理模块,便于收集、整理和跟踪项目的业务需求,确保产品开发...
《禅道使用说明》 ...总的来说,禅道提供了一站式的解决方案,覆盖了从需求分析到产品发布的全过程,帮助团队规范化流程,提升开发效率。理解和掌握禅道的各项功能,对于提升团队的项目管理能力至关重要。
作为一款管理软件,禅道以敏捷开发理念为基础,帮助团队实现从需求分析到产品发布全过程的透明化和规范化管理。 1. **项目管理**:禅道提供了全面的项目管理功能,包括项目创建、项目进度跟踪、里程碑设定以及资源...
同时,禅道支持敏捷开发模式,如Scrum和Kanban,适应不同团队的工作节奏。项目看板功能让团队成员能清晰地了解任务状态,提高协作效率。 质量管理是禅道的另一亮点。它提供了测试用例管理、缺陷跟踪和质量报告等...
### 知识点一:禅道项目管理软件概述 ...通过以上详尽的操作指南,产品经理、项目经理、开发与测试团队以及系统管理员能够充分利用禅道的各项功能,提高工作效率,实现项目管理的标准化和规范化。
【禅道项目管理软件】是国产的开源项目管理工具,...禅道项目管理软件提供了一套全面的工具,帮助企业或团队高效地进行项目管理,从需求收集到产品发布,每个环节都得到了充分考虑和覆盖,使得项目管理更加规范和有序。
2. **项目管理**:在项目管理模块,禅道支持敏捷开发方法,如Scrum和Kanban,帮助团队规划迭代,跟踪任务进度,管理燃尽图,以及进行日常站立会议。同时,它还提供了甘特图视图,方便项目经理对项目整体进度一目了然...
此外,禅道还支持敏捷开发模式,如Scrum或Kanban,适应不同团队的工作风格。 质量管理方面,禅道内置了缺陷跟踪系统,支持测试用例管理,确保产品质量。测试人员可以记录和追踪问题,开发人员则能及时修复并验证,...
它支持敏捷开发方法,如Scrum和Kanban,帮助团队制定项目计划,分配任务,跟踪进度,并进行迭代管理。同时,禅道还提供甘特图,以便直观地展示项目状态和时间线,让管理者能实时了解项目的健康状况。 三、质量管理 ...
无论是在敏捷开发还是瀑布模型中,禅道都能提供有力的支持,助力企业在激烈的市场竞争中赢得先机。通过深入理解和充分利用这款软件,企业可以实现更加精细化、高效化的项目管理,从而提升整体业务效能。
禅道内置了缺陷跟踪系统,支持敏捷开发的持续集成和自动化测试,使得团队能及时发现并修复问题,提高软件质量。同时,它还提供了测试用例管理、测试计划等功能,确保测试过程的规范化和高效性。 四、文档管理 良好...
它将传统的瀑布模型和敏捷开发理念相结合,既满足了大型企业对于规范流程的需求,也适应了小型团队快速迭代的特点。 二、禅道的主要模块 1. 需求管理:禅道允许用户清晰地定义和组织项目需求,支持需求变更控制,...
禅道的主要功能包括需求管理、任务管理、缺陷管理、文档管理、测试用例管理、版本管理、发布管理等,满足了敏捷开发团队的全方位需求。 在zentaoPHP框架2.3版本中,我们可以期待以下关键改进: 1. 性能优化:版本...
开发禅道插件需要理解禅道的API接口和开发规范,开发者通过编写C#代码实现特定功能,并打包成禅道可识别的扩展包。安装插件时,需将扩展包上传到禅道服务器,然后在后台管理中启用,即可供团队成员使用。 6. **...
WSS 基于PMI(项目管理协会)的全球项目管理标准,注重规范化、易用性和视觉效果。其主要功能包括项目管理、任务管理、工时管理、工作日志管理等,旨在提升项目管理的专业性和效率。 5. 昊美量化管理系统 昊美量化...
它支持多种版本控制系统,如Scrum和敏捷开发方法,可以在不同平台和数据库上运行,适合对开源解决方案有需求的团队。 3. **禅道**(分免费版和收费版) 禅道是一款国产的优秀开源项目管理软件,集成了产品管理、...