• 敏捷开发工具禅道

    2018-11-12 10:03:57
    敏捷开发,之前一直关注这方面的内容,因为现在的公司是个小型团队,也是刚成立不久的公司...最近,BOSS推荐了一个敏捷开发工具禅道。 首先,附上一些禅道界面。 目前,使用的开源版,而且更多的功能仍需后续...

    敏捷开发,之前一直关注这方面的内容,因为现在的公司是个小型团队,也是刚成立不久的公司,没有完善的体系和开发流程,无疑,敏捷开发为最适合当前使用的开发理论和方法。
    之前看了很多敏捷开发方法论等知识,都觉得是无从下手,如之前的领歌当时觉得不错,就一直尝试多种敏捷开发工具的使用。
    最近,BOSS推荐了一个敏捷开发工具,禅道。


    首先,附上一些禅道界面。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    目前,使用的开源版,而且更多的功能仍需后续的学习和使用。

    展开全文
  • 禅道简介 •禅道最早在2004年发布,是国内较早的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、 组织管理和事务管理...•禅道管理思想则是基于国际流行的敏捷项目管理方法——Scrum,它规定...

    •禅道简介

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

    禅和道是中国文化中极具代表意义的两个字,希望通过这两个字来传达对管理的理解和思考,其网站zentao即是禅道的英文

    禅道的管理思想则是基于国际流行的敏捷项目管理方法——Scrum,它规定了核心的管理框架,具体细节由团队自行扩充

    •最大的优势是企业可基于开源代码进行定制开发,这点比Atlassian公司的Jira要好

    除了开源版,还有专业版、企业版、集团版,功能更强大,收费相比Jira便宜,且售后服务要方便,界面也更符合中国人的习惯

    •禅道和Scrum的关系:

    •基于Scrum模式的禅道项目管理:

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

    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完成之后,项目经理就要开始和甲方一起沟通下一次发版的需求了,然后是技术经理从需求分配任务,开始新一次发版之旅。这就是螺旋状上升的敏捷迭代开发之路。

    展开全文
  • 推荐一个项目管理工具,落地基于Scrum的敏捷开发! 作为一个开发人员,我们也该懂一些项目管理的知识,今天我们来讲一个基于Scrum的项目管理工具禅道。本文将从禅道的安装部署开始讲起,然后讲讲Scrum的核心概念,...

    推荐一个项目管理工具,落地基于Scrum的敏捷开发!

    作为一个开发人员,我们也该懂一些项目管理的知识,今天我们来讲一个基于Scrum的项目管理工具禅道。本文将从禅道的安装部署开始讲起,然后讲讲Scrum的核心概念,最后通过禅道的一套操作来实践下Scrum的开发流程。

    禅道简介

    禅道由青岛易软天创网络科技有限公司开发,国产开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。禅道项目管理软件的主要管理思想基于国际流行的敏捷项目管理方法—Scrum。Scrum方法注重实效,操作性强,非常适合软件研发项目的快速迭代开发。禅道在遵循其管理方式基础上,结合国内研发现状,整合了Bug管理,测试用例管理,发布管理,文档管理等功能,完整的覆盖了软件研发项目的整个生命周期。

    安装及部署

    禅道的安装方式有很多,这里我们使用它在Docker环境下的安装方式。

    • 下载禅道的Docker镜像:
    docker pull idoop/zentao:latestCopy to clipboardErrorCopied
    • 在Docker容器中运行禅道:
    docker run -d -p 80:80 -p 4306:3306 --name zentao-server \
            -e ADMINER_USER="admin" -e ADMINER_PASSWD="123456" \
            -e BIND_ADDRESS="false" \
            -v /mydata/zbox/:/opt/zbox/ \
            --add-host smtp.exmail.qq.com:163.177.90.125 \
            -d idoop/zentao:latestCopy to clipboardErrorCopied
    • 启动参数说明:

      • ADMINER_USER:管理员账号;
      • ADMINER_PASSWD:管理员密码;
      • BIND_ADDRESS:若设置参数为"false",禅道数据库启动后允许远程访问,选填;
      • SMTP_HOST:设置smtp服务IP和主机名,用于解决无法发送邮件的问题。
    • 安装成功后,访问该地址即可登录禅道系统,登录用户名和密码为admin:123456http://192.168.6.132/

    Scrum的核心概念

    敏捷开发的产生

    我们比较熟知的软件项目管理方法是瀑布,其基本流程是需求->设计->开发->测试。基本假设只要每个环节都做正确,那么终得到的结果也是正确的。但从总体来讲,瀑布项目失败率比较高。国外的软件先行者们针对瀑布开发中暴露出来的问题进行了一系列的探索、思考和总结,最终提出了敏捷开发的概念。敏捷开发有很多种方式,其中Scrum是比较流行的一种。

    Scrum中的角色

    Scrum是由产品经理(product owner)、项目经理(scrum master)和研发团队(dev team)组成的。

    • 其中产品经理负责整理用户故事(user story),定义其商业价值,对其进行排序,制定发布计划,对产品负责;
    • 项目经理负责召开各种会议,协调项目,为研发团队服务;
    • 研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。

    这里我们讲下什么是用户故事:所谓用户故事,就是来描述一件事情,作为什么用户,希望如何,这样做的目的或者价值何在,这样有用户角色,有行为,也有目的和价值所在,非常方便与团队成员进行沟通。

    Scrum中的迭代开发

    与瀑布不同,Scrum将产品的开发分解为若干个小迭代(sprint),其周期从1周到4周不等,但不会超过4周。 参与的团队成员一般是5到9人,每期迭代要完成的用户故事是固定的,每次迭代会产生一定的交付。

    Scrum的基本流程

    Scrum的基本流程如上图所示:

    • 产品经理负责整理用户故事,形成左侧的产品订单(product backlog);
    • 发布计划会议:项目经理负责讲解用户故事,对其进行估算和排序,发布计划会议的产出就是制定出这一期迭代要完成的用户故事列表,即迭代订单(sprint backlog);
    • 迭代计划会议:项目团队对每一个用户故事进行任务分解,分解的标准是完成该用户故事的所有任务,最终每个任务都有明确的负责人,并完成工时的初估计;
    • 每日例会:每天项目经理召集站立会议,团队成员回答昨天做了什么,今天计划做什么,遇到了什么问题;
    • 演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由产品经理整理,形成新的用户故事;
    • 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果。

    禅道使用

    接下来我们将按角色来讲讲如何使用禅道来实现基于Scrum的项目管理。

    管理员

    禅道安装成功之后,管理员的第一件要做的事情就是设置部门结构,并添加用户账号。

    • 通过组织->用户->维护部门可以为企业添加部门结构:

    • 通过组织->用户->添加用户可以为企业添加用户:

    • 注意添加用户是需要添加职位和权限分组的:

    • 这里我们添加了产品经理、项目经理、研发主管、测试主管四个账号以便下面使用。

    产品经理

    产品经理对于公司来讲,至关重要。只有做出好的产品或者服务出来,才能赢得市场,谋求发展和生存。 下面我们用产品经理的账号登录,来演示下产品经理在敏捷开发中所要做的事情。

    • 通过产品左上角的下拉菜单可以添加产品:

    • 添加产品时需要完善相关信息:

    • 添加完产品后产品经理可以通过产品->需求->维护模块来创建产品的模块:

    • 在相应模块中通过产品->需求->提需求可以创建需求:

    • 之后可以完善需求的信息并进行创建:

    • 创建完需求后还需要对需求进行评审操作,只有评审通过的需求才会由项目经理进行任务分解,从而转为为开发任务指派给开发团队:

    • 评审时选择评审结果为确认通过后该需求就会被激活了:

    • 当然产品经理也可以对当前的需求进行变更操作,但是变更完的需求需要开发团队确认后才能进行后续开发;

    • 产品经理还可以创建计划,规定需求的完成时间:

    • 完善计划信息时,主要是要完善计划的开始和截止时间:

    • 可以通过关联需求,指定此次产品计划需要完成的需求:

    项目经理

    项目经理主要负责管理开发团队,将产品经理的需求讲解给开发团队听,确定项目要完成的需求列表,对需求进行任务分解并指派给开发团队,以及各种会议的组织。下面我们用项目经理的账号登录,来演示下项目经理在敏捷开发中所要做的事情。

    • 在禅道中项目其实对应的是敏捷开发里面的迭代的概念,项目经理首先需要创建一个项目:

    • 创建时需要完善项目信息,设定项目开发时间以及关联相关产品与计划:

    • 接下来项目经理要做的就是创建项目团队,可以通过项目->团队->团队管理来为项目团队添加成员:

    • 项目团队组建完毕之后,项目经理通过关联产品即可将项目和产品进行关联:

    • 然后通过关联需求即可确定当前项目要做的需求,可以选择关联需求或按计划关联需求:

    • 需求确定之后,项目中几个关键的因素都有了:周期确定、资源确定、需求确定。下面项目经理要做的事情就是为每一个需求做任务分解:

    • 任务分解时需要完善任务详情,明确任务的执行时间:

    • 这里把商品管理功能这个需求分解为了商品列表、添加商品和编辑商品三个任务并指派给了开发人员。

    开发团队

    项目的任务分解完毕之后,开发团队成员需要领取自己的任务,开始每天的开发。除了日常的编码工作之外,还应当每天花点时间在禅道里面更新下任务的状态以及消耗情况。下面我们用开发人员的账号登录,来演示下开发人员在敏捷开发中所要做的事情。

    • 首先开发人员需要找到自己需要完成的任务,从项目->任务中可以查看到指派给自己的任务:

    • 开发人员开始做任务时点击开始按钮,完成任务时点击完成按钮:

    • 任务开始时需要填写自己的预计剩余时间,最初预计工时可以在编辑任务里设置:

    • 任务完成时需要填写自己的本次消耗时间:

    • 物理介质的看板比较直观,是Scrum标准的管理工具,禅道里面也有一个电子看板:

    • 当项目的任务都完成以后,开发人员可以创建版本:

    • 完善完版本信息后即可创建版本:

    • 有了版本以后,才可以根据当前版本创建测试单:

    • 创建测试单需要完善版本、负责人、名称等信息:

    测试团队

    测试团队是项目质量的保证,测试团队主要负责对项目的版本进行测试,提出Bug指派给开发人员,开发人员解决Bug后对Bug进行验证并关闭。下面我们用测试人员的账号登录,来演示下测试人员在敏捷开发中所要做的事情。

    • 测试人员开始测试时,需要把测试单状态设置为进行中:

    • 测试人员可以在测试->Bug中提出测试过程中发现的Bug:

    • 需要完善BUG信息并指派给相应开发人员:

    • 当开发人员解决完Bug后可以把Bug标记为已经解决:

    • 此时该Bug会自动指派给测试人员,测试人员确认已经解决后可以关闭该问题,如未解决,可以激活该问题。

    总结

    我们通过在禅道里面的一系列操作完整地演示了一套基于Scrum敏捷开发流程,其实所有角色的职责可以用下图来概况。

    展开全文
  • 禅道官方部署及使用帮助文档,全文PDF,便于收藏、查阅。从部署到使用详细说明禅道系统,非常适合敏捷开发团队进行项目跟踪管理
  • 以下是我在一个长期项目研发过程中采用敏捷思想进行项目开发管理的成功实践,供大家参考   一、项目背景 1、这是一个长期维护,需要不断扩展功能的O2O平台,系统本身包含多达13个子系统,且还在不断增加...
    以下是我在一个长期项目研发过程中采用敏捷思想进行项目开发管理的成功实践,供大家参考
     
    一、项目背景    
    1、这是一个长期维护,需要不断扩展功能的O2O平台,系统本身包含多达13个子系统,且还在不断增加中
    2、系统采用了“组件化架构”,各个组件之间实现了脱藕,可以各自单独扩展
    3、开发资源严重匮乏,程序员严重不足,且其中能独立工作的程序员比例很低
     
    二、敏捷开发实践
    1、每一次版本迭代都包括:需求->设计->编码->测试->交付这四个阶段
    2、用禅道对开发全过程进行规范化管理
    3、每一次版本迭代的周期是2周
    4、采用SVN把所有文档也管理起来
     
    岗位划分:
    1、产品/项目经理PM(Product/Project Manager )
    2、技术经理TM(Technical Manager )
    3、测试经理QM(Quality Manager )
    4、高级程序员(一般担任开发小组长)MC(Master Coder)
    5、程序员GC(General Coder)
    6、前端工程师FE(Front Engineer)
    7、测试员QE(Quality Engineer)
    以上2、4、5、6属于开发组,3、7属于测试组
     
    禅道使用的几个小技巧:
    -- 禅道里的“项目”是指一个产品生命周期中对某一个阶段性的工作的定义。 我的做法是把一个大版本定义为一个项目,V2.0是一个项目,V3.0就是另一个新项目
    -- 版本的定义在细节上如果能注意的话,会让程序员、测试员在使用过程中更加顺畅,举个例子:目前上线正常运行的是“XXXXX系统V2.0.0”版,正在开发,即将上线的是“XXXXX系统V2.0.1”版,那么在集成测试阶段,就应该编辑一下这两个版本的名称,改为:“XXXXX系统V2.0.0(当前版本)”,“XXXXX系统V2.0.1(即将上线)”,使得测试员、程序员在处理bug时选择版本的时候不用再动脑去想
    -- 在禅道里配置好异步自动发提醒邮件,实现“工作追人”
     
    具体开发工作流程如下:
     
    1、需求讨论
    采用静态原型法与甲方做需求前期讨论
    负责人:产品/项目经理
    参与者:技术经理、测试经理及前端工程师、高级程序员

    外部需求讨论阶段不需要进禅道,用excel格式的会议纪要、邮件等进行沟通,在需求相对比较明晰之后,安排前端工程师制作静态原型,静态原型可以用Mockplus、墨刀、Axure等快速原型工具来制作,以静态原型+说明文档的方式来与甲方进行反复的沟通确认,直至最终确定需求
     
    2、需求确认
    与甲方一起确定下一次发版需要进行开发的需求及优先级
    负责人:产品/项目经理
    参与者:技术经理、测试经理、高级程序员
    把最终确定的下一次发版的需求细化,并把细化的需求录入到禅道并设定好优先级为3(在后续过程中,甲方极有可能会临时提出紧急需求,那些需求可以相应设置优先级为2或1),这里要注意一定是细化的需求,比如:原始需求是“支持多城市,定于4月15日上线区内其他4个城市”,从这个需求细化出来的应该是具体到页面的需求,如:多城市_修改订单列表页面使之支持多城市...
    确定下一次发版后要完成的需求后,项目组内部开全会通报所有需求,测试经理开始准备测试用例
     
    3、分配任务
    根据需求细化并分配开发任务
    负责人:技术经理
    禅道路径“项目-任务”,做开发任务分配的时候,一般来说都会从一个需求分出多个开发任务,分配任务的时候一定要设定起始时间(设定起始时间其实就是设定了“工作计划”),任务是最原子的事务,一个任务只能指派一个执行人,如:
    需求为:修改XXX页面使之支持不同城市的操作员只能显示本城市的信息
    分配出3个任务:
    1)修改XXX页面使之支持不同城市的操作员只能显示本城市的信息-详细设计
    2)修改XXX页面使之支持不同城市的操作员只能显示本城市的信息-后端编码
    3)修改XXX页面使之支持不同城市的操作员只能显示本城市的信息-前端编码
     
    4、详细设计
    根据开发需求做设计文档
    负责人:分配了任务的开发组相应人员
    监督人:技术经理
    根据情况安排编码程序员做设计文档(没有太大难度的功能)或者是由高级程序员或技术经理做设计文档(有一定难度的功能),统一放到SVN/Git,如果是那种很简单的算法设计,可直接放到禅道-任务的备注。
    文档标题格式:设计文档_需求ID_需求标题,如:设计文档_需求001_修改XXX页面使之支持不同城市的操作员只能显示本城市的信息
     
    5、编码及单元测试
    负责人:分配了任务的开发组相应人员
    监督人:技术经理、开发小组长
    1)程序员根据禅道上的任务按计划编码和做单元测试
    2)程序员每天早上上禅道去“开启”分配给自己的任务,任务完成后点击“完成”
    这里要特别强调: 采用禅道来分配任务并不是说不需要当面沟通,当面沟通依然是最重要的
    禅道可与SVN/Git集成,使得技术经理可以直接在禅道上review代码(社区版无此功能)
    3)技术经理负责每天的代码review和解决技术难题
    4)产品/项目经理负责每天监控开发进度,发现情况及时沟通处理,产品/项目经理根据任务的完成情况,及时修改需求的进度,使得甲方能及时了解进度情况,需求的进度统一写在备注”,格式如下:
    研发完毕时间:2016-04-08晚上7点
    测试完毕时间:2016-04-19晚上7点
    发布上线时间:2016-04-20凌晨2点

    特别注意:数据库变更的脚本,要统一放到SVN/Git的“开发文档-版本目录”下,如:\01开发文档\V2.2.0 ,命名格式:脚本文件_V2.2.0.txt,这个脚本文件由技术经理进行维护

     
    6、版本定义
    在即将提交集成测试前,设置好各个组件的版本
    负责人:产品/项目经理
    每一次发版的版本号规范如下:
    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的清单
     
    7、集成测试
    编码完成,提交集成测试
    1)技术经理自测后认为可以提交集成测试后,   在禅道路径“项目-版本”里,提交测试
    2)技术经理把代码部署到测试服务器上
    3)测试经理安排测试并提交bug(提交bug的时候,属于这次发版要修正的bug,严重程度设为1,其他不属于这次发版的bug,设为2或3,每次提交bug,都要设置“抄送人”为项目组管理层,使得管理层的每一个人都能了解测试的进度)
    4)如果测试进入收尾阶段,即将定版的,技术经理把当前提交测试的代码在SVN上打一个对应版本的Branch分支(名称格式:V2.2.0_Testing),修改bug的人员集中在几个核心程序员上,减少引发新bug的几率,在通知核心程序员switch到此Branch后,立即修改SVN上的权限设置从Trunk上删除核心程序员的读写权限避免人为错误,其他程序员在Trunk分支上继续后续的开发
    注意:
    1)测试-bug中提交bug的时候,务必要选择对应的版本号
    2)每次技术经理更新文件到测试服务器,都要在钉群里通告大家,并附上此次更新修复的bug清单
     
    8、验收测试
    集成测试完成,进行发版前的最后审核和验收测试,注意 :这里都是针对7所分出来的那个用于此次发版的Branch分支(如:V2.2.0_Testing)
    在测试经理回归完所有1级bug,认为可上线后
    1)测试经理报告产品/项目经理可以发版了
    2)产品/项目经理自己要再做一次测试,确保品质
    3)产品/项目经理测试后也认为没问题了,提交给甲方进行发版前的验收测试(如果有必要的,也可让甲方在阶段7参与测试)
     
    9、发版上线
    甲方确认可以发版,正式发版,注意 :这里都是针对7所分出来的那个用于此次发版的Branch分支(如:V2.2.0_Testing)
    在甲方进行验收测试认为可以发版后,
    发版当天:
    1)测试经理,进禅道路径“测试-版本”,修改已测试好的版本,设为“已完成”
    2)技术经理把此次发版需要更新的代码、数据库SQL脚本打包出来
    3)产品/项目经理从禅道的项目-需求列表里导出(复制出)此次发版关联的需求为Excel文件,此文件就是提供给甲方的发版说明(changelog)文档,每次发版都在原文档前部增加新一个版本的内容
    4)产品/项目经理向甲方提供changelog文档,并让甲方签署上线确认书
    5)技术经理把将要发版的文件小心谨慎地发布到生产服务器上
    6)产品/项目经理在禅道“产品-发布”中设定与项目-版本相同的发布,备注好发版时间和发版内容,并把版本和发布一对一关联起来
    发版第二、三天:
    1)技术经理在发版第二天,在SVN上从Branch里导出一个Tag,名称格式:V2.2.0_Release
    2)技术经理在发版第二天,整理禅道-任务,属于本次发版已完成的任务,全部做关闭处理,之前计划要做,但未完成的,可关联到下一个版本
    3)产品/项目经理在技术经理完成2)之后,对相应的本版本的需求,做关闭处理
     
    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完成之后,产品/项目经理就要开始和甲方一起沟通下一次发版的需求了,然后是技术经理从需求分配任务,程序员开始熟悉任务需要用到的技术,测试组开始熟悉具体的业务流程和细节,从而开始新一次发版之旅。这就是螺旋状上升的敏捷迭代开发之路。。。。。。。
     
    PS:配套此开发流程的还有对应各个岗位的“岗位作业书”,更进一步细化每个岗位的具体工作内容,我将在后续博文中放出
     
    欢迎各位同好一起探讨敏捷开发的实践方法,大家好,才是真的好^_^
    有兴趣共同探讨的请加Scrum干货Q群:302304689

      

    展开全文
  • 敏捷开发中,我最推荐的工具禅道; 敏捷开中主要角色如下,技术管理这块 有些公司叫 项目管理,有些叫研发经理,有些叫技术经理; ok 不管叫什么,他的职能是协调管理,懂技术;我们推荐这个 技术经理 角色...
  • 测试管理工具是在指在软件开发过程中,对测试需求、计划、用例和实施过程进行管理、对软件缺陷进行跟踪处理的工具。通过使用测试管理工具,测试人员或开发人员可以更方便地记录和监控每个测试活动、阶段的结果,找出...
  • 突然想起以前博客中伙伴们搭建过一个叫禅道的项目管理的工具,觉得挺好用,这里就顺便重新搭建一个,并且做一个记录,大概介绍一下禅道管理工具。 一:禅道  禅道项目管理软件集产品管理、项目管理、质量管理、...
  • 原文地址:https://www.zhihu.com/question/54626462管理工具:1.需求管理工具confluence 是一个基于...2.基于敏捷管理的sprint、backlog、开发task、bug管理工具jira 是一个基于java的issue(问题、事项)管理器,...
  • 测试管理工具-禅道

    2020-06-03 10:41:38
    在实习工作中,有用过禅道,...如果您现在的团队是 采用敏捷开发的话,那么可以对应到product owner, scrum master和team(dev and tester)。这几种角色之间紧 紧围绕产品的需求展开协作,取得成果。禅道核心的管理
  • 无论你是Scrum大师或者是刚刚尝试敏捷开发的新手,JIRA Agile都能够帮助你在整个发布过程中管理待办事项(backlog)、计划冲刺(sprint)并且监测项目进度。 Backlog 任务 通过快速创建用户故事来建立一个产品Backlog。...
  • 关于敏捷开发的实际应用,现在无外乎有以下几种常见的情形: 很多团队想使用敏捷开发工具,但不...有的团队已经应用了一些敏捷开发工具的实践,然而效果不理想,不知道是敏捷开发工具的问题,还是自己实践方式不...
  • 在一项调查中,有 71% 的组织表示他们在开发过程中会用到敏捷方法。 此外,用敏捷方法管理项目比传统方法管理项目成功率高 28%。 在这次工具推荐中,我们从一些比较受欢迎的开源项目管理工具中摘取了支持敏捷的几...
  • 作为一个开发人员,我们也该懂一些项目管理的知识,今天我们来讲一个基于Scrum的项目管理工具禅道。本文将从禅道的安装部署开始讲起,然后讲讲Scrum的核心概念,最后通过禅道的一套操作来实...
  • 没有用专门的敏捷工具,主要是redmine + 白板:redmine用于记录故事和bug,白板记录本次迭代的故事和燃尽图 http://tech2ipo.com/64195Asana(项目管理)+HackPad(会议与头脑风暴)+OneDrive(文件分享)+Google ...
  • 项目管理中使用禅道

    2015-09-19 21:52:33
    P2:禅道管理的大致工作流程  看完这两张图大概就明白的不少,如果曾经的软件开发靠是文档推动的,禅道就是在文档推动的机制上,强化了开发过程的时间管理。此外,禅道还集成了SVN版本控制功能,当然这个是付费...
  • 什么是敏捷开发

    2019-10-31 15:50:18
    本篇分享的是:【什么是敏捷开发 】 目录: 1.几种开发方法 1.1瀑布式开发 1.2迭代式开发 1.3螺旋式开发 2.敏捷开发 2.1 敏捷开发的诞生 2.2敏捷开发宣言 2.3 敏捷开发 3.敏捷开发方法 ...
  • 禅道是易软天创出品的一款项目管理软件,集产品管理、项目管理、测试管理、文档管理、组织管理于一体,覆盖了项目管理和测试管理的核心流程。 华为软件开发云 (DevCloud )是集华为研发实践、前沿研发理念、...
  • 最近老大们一直在说现在公司用的bug管理工具不好用,打算用禅道来进行管理,于是百度了一下,发现搭建禅道还是so easy的。 首先简单介绍一下禅道禅道是一个开源的项目管理软件,用来记录软件项目的开发过程、bug...
1 2 3 4 5 ... 20
收藏数 861
精华内容 344