跳至主要內容

禅道

程序员李某某大约 7 分钟

禅道

安装

docker run \
--name zentao \
-p 1888:80 \
-v /data/zentao:/data \
-e MYSQL_INTERNAL=true \
-d easysoft/zentao:latest

使用手册

管理员相关

用户及权限管理

后台 -> 人员管理 -> 部门 ---- 添加部门信息 -> 用户 ---- 添加用户信息 -> 权限 ---- 创建分组,添加用户以维护权限

项目/产品

项目集:一组相互关联,且被协调管理的项目集合,处于最高层级,属于战略层面的概念。它可以进行多层级的项目管理,帮助管理者站在宏观的视角去制定战略方向和分配资源。同时它支持分层授权,项目集及下面的子项目集、项目互相之间都可以通过权限进行隔离。一般由项目集经理或者项目经理 或者业务线的负责人创建,用于制定公司的战略目标、优先级和资源分配。

理解:

  • 项目集:禅道
  • 子项目集、产品线:web端,客户端
  • 产品:开源版、企业版属于属于web端这个产品线或子项目集的产品

模块

  • 模块:拆分模块

需求

需求:业务需求、用户需求、研发需求

  • 业务需求、用户需求只是需求的来源不同,管理上基本相同,需要先拆分为研发需求才能关联计划与执行
  • 不评审需求:禅道后台、自定义、研发需求、评审流程做下设置
  • 阶段:在创建任务的时候,仔细设置任务的类型,比如设计,开发,测试。禅道的程序会自动根据不同类型任务的变化来自动计算研发需求的研发阶段,其规则如下:
    • 如果研发需求没有关联到项目,也没有关联到计划,则需求的研发阶段是"未开始"。
    • 如果研发需求关联到了计划,还没有关联到项目中,则需求的研发阶段是"已计划"。
    • 如果研发需求关联到了项目中,但还没有开始任何任务,则需求的研发阶段是"研发立项"。
    • 如果研发需求关联到了项目中,且进行了任务分解:
      • 如果有一个设计任务进行中,并且所有的开发/测试任务还没有开始,研发阶段为“设计中”
      • 如果有所有的设计任务已完成,并且所有的开发/测试任务还没有开始,研发阶段为“设计完毕”
      • 如果有一个开发任务进行中,并且所有的测试任务还没有开始,研发阶段为“研发中”。
      • 如果所有的开发任务已经完成,并且所有的测试任务还没有开始,则为“研发完毕”。
      • 如果有一个测试任务进行中,则视为“测试中”。
      • 如果所有的测试任务已经结束,但还有一些开发任务没有结束,则视为"测试中"。
      • 如果所有的测试任务已经结束,并且所有的开发任务已经结束,则视为"测试完毕"
    • "验收"阶段是需要产品经理手工来进行确认的,确认后阶段改为“已验收”或“验收失败”。
    • 产品→发布中关联研发需求并且发布状态变为已发布后,需求的研发阶段是“已发布”。
    • 研发需求手动关闭后,需求的研发阶段是“已关闭”。
  • 业务需求/用户需求/父研发需求的阶段不允许手动修改,禅道的程序会自动根据需求及子需求阶段的变化来自动计算需求的研发阶段,其规则如下:
    1. 如果业务需求/用户需求/父研发需求没有关联到路标/立项/计划/项目,且子需求均未关联到计划/项目中,则需求的研发阶段是"未开始"。
    2. 如果业务需求/用户需求/父研发需求关联到了路标,还没有关联到立项/计划/项目中,且子需求均未关联到计划/项目中,则需求的研发阶段是"已设路标"。(IPD版本)
    3. 如果业务需求/用户需求/父研发需求关联到了立项,还没有关联到计划/项目中,且子需求均未关联到计划/项目中,则需求的研发阶段是"已设路标"。(IPD版本)
    4. 如果业务需求/用户需求/父研发需求或子需求关联到了计划,且需求与子需求没有关联到项目中,则需求的研发阶段是"已计划"。
    5. 如果业务需求/用户需求/父研发需求或子需求关联到了项目,且子需求还没有开始任何任务,则需求的研发阶段是"研发立项"。
    6. 如果有一个子需求开始了任务,则业务需求/用户需求/父研发需求研发阶段变为"研发中"。
    7. 如果有一个子需求关联到发布或者完成关闭,则业务需求/用户需求/父研发需求研发阶段变为"交付中"。
    8. 如果所有的子需求均关联到发布或者完成关闭,则业务需求/用户需求/父研发需求研发阶段变为"已交付"。
    9. 业务需求/用户需求/父研发需求手动关闭后,需求的研发阶段是“已关闭”。

计划

  • 计划:可以理解为产品的发布计划。一般一个计划会对应一个执行迭代
  • 创建了计划去管理需求

项目

可直接创建项目关联项目集,也可在项目集中创建项目

  • 关联产品
  • 关联计划

创建完成后,设置团队,创建迭代

迭代

创建迭代、执行

任务

在每个执行下面创建任务 ----- 排期

多分支、多平台:是针对于产品的,不是对于需求的,只是概念上不同,使用上没区别

  • 多分支可以适用于同一款产品不同客户的定制场景,

  • 多平台可以适用于同一款软件不同平台的场景,比如Windows、Mac、Android

  • 通用功能可以归属主干

白名单、干系人

  • 白名单主要是权限控制,在私有项目中对他人添加访问权
  • 干系人是对项目相关方的管理

敏捷开发及scrum简介

瀑布:基本流程是需求-> 设计->开发->测试,适合中规中矩,需求变化不大的项目

敏捷:瀑布管理方法失败率较大,尤其是需求反复变化的项目,将项目分为若干个迭代

scrum:是敏捷开发的一种,由product owner(产品经理)、scrum master(项目经理)和team(研发团队)组成

  • 产品经理负责用户故事,制定发布计划,对产品负责
  • 项目经理负责召开各种会议,协调项目,为研发团队服务
  • 研发团队由各种技能人员组成,通过紧密协同,完成每一次迭代的目标,交付产品

迭代:与瀑布不同,scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4周,人员一般在10人一下。

scrum的基本流程:

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

产品经理

创建产品

上次编辑于:
贡献者: 李元昊