禅道

禅道

陶冶王亚男

第一部分讲解

(一)介绍

管理软件(ZenTaoPMS)是一款国产的,基于1LGPL(也就是说,如果一个软件使用GPL声明,那么修改后的软件一定是一个自由软件,而使用LGPL声明的软件就可以是私有的)协议,开源免费的项目管理软件,它集产品管理、项目管理、测试管理于一体,同时还包含了事务管理、组织管理等诸多功能,是中小型企业项目管理的首选

(二)禅道项目管理软件的特点

(1)集成了产品管理、项目管理、测试管理、人员管理、发布管理、事务管理等功能于一体。你只需要一个软件就可以完成项目管理的最核心的任务。

(2)开源免费,降低企业部署的成本。

(3)功能注重实效,使用方便,没有太多复杂的概念。他设计的理念是一个没有做过项目管理的人经过10 分钟的培训可以使用它进行项目管理。:)

1LGPL最初是Library GPL的缩写,后来改称作Lesser GPL,即为更宽松的GPL。当一个自由软件使用GPL声明时,该软件的使用者有权重新发布、修改该软件,并得到该软件的源代码;但只要使用者在其程序中使用了该自由软件,或者是使用修改后的软件,那么使用者的程序也必须公布其源代码,同时允许别人发布、修改。也就是说,使用GPL声明下的的自由软件开发出来的新软件也一定是自由软件。

LGPL是GPL的变种,也是GNU为了得到更多的甚至是商用软件开发商的支持而提出的。与GPL的最大不同是,可以私有使用LGPL授权的自由软件,开发出来的新软件可以是私有的而不需要是自由软件。所以任何公司在使用自由软件之前应该保证在LGPL或其它GPL变种的授权下。

(4)基于PHP+MySQL 开发,企业自主改动方便。并且基于ZenTaoPHP2框架(轻量级3),为第三方开发者的加入打下了坚实的基础。

(5)主要理念基于scrum,同时结合了PMP4里面的很多概念。(6)支持多公司,多项目,多产品,多团队的开发。

(7)灵活的权限设置。

(8)支持产品与项目之间的矩阵关系。

(三)所用到的相关思想

Scrum简介

Scrum (英式橄榄球争球队), 软件开发模型是敏捷开发的一种,在最近的一两年内逐渐流行起来。

Scrum采用了经验方法,承认问题无法完全理解或定义,关注于如何使得开发团队快速推出和响应需求能力的最大化(主要体现在任务分解中的任务的分派,应当由团队成员自愿认领为主,不要硬性指派,这样就大大提高完成任务的效率,响应需求的能力也就被“放大了”)。因此,Scrum的一个关键原则就是承认客户可以在项目过程中改变主意,变更2ZenTaoPHP是一款轻量级的,灵活的,注重性能的国产PHP框架。

3量级主要是看容器的依赖性所决定的,依赖性越小,越轻量.

4人士资格认证

他们的需求,而预测式和计划式的方法并不能轻易解决这些不可预见的需求变化。

过程介绍:2.2 实施Scrum的过程简单介绍(可选的)

1) 将整个产品的backlog5(订单)分解成Sprint6Backlog,这个Sprint Backlog7(冲刺订单)是按照目前的人力物力条件可以完成的。

2) 召开sprint planning meeting(冲刺规划会议),划分,确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算。

3) 进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting(每日站立会议)。

4) 整个sprint周期结束,召开Sprint review meeting(冲刺复审会议),将成果演示给Product Owner.

5) 团队成员最后召开Sprint retrospective meeting(冲刺回顾会议),总结问题和经验。

6) 这样周而复始,按照同样的步骤进行下一次Sprint.

角色的责任(与禅道中的一些东西对应):

5可以预知的所有任务,包括功能性的和非功能性的所有任务。

6一次跌代开发的时间周期

在这段时间内,开发团队需要完成一个制定的backlog,并且最终成果是一个增量的,可以交付的产品。7一个sprint周期内所需要完成的任务。

产品负责人(products owner)负责编写用户需求(用户故事),排出优先级,并放入产品订单(Product Backlog),从而使项目价值最大化的人。他利用产品订单,督促团队优先开发最具价值的功能,并在其基础上继续开发,将最具价值的开发需求安排在下一个冲刺迭代(Sprint)中完成。他对项目产出的软件系统负责,规划项目初始总体要求、ROI8目标和发布计划,并为项目赢得驱动及后续资金。

Scrum主管(Scrum Master)(项目经理):负责Scrum过程正确实施和利益最大化的人,确保它既符合企业文化,又能交付预期利益。Scrum主管的职责是向所有项目参与者讲授Scrum方法,正确的执行规则,确保所有项目相关人员遵守Scrum规则,这些规则形成了Scrum过程。Scrum主管并非团队的领导(由于他们是自我组织的),他的主要工作是去除那些影响团队交付冲刺目标的障碍,屏蔽外界对开发团队的干扰。

开发团队:负责找出可在一个迭代中将产品待开发事项(冲刺订单)转化为功能增量的方法。他们对每一次迭代和整个项目共同负责,在每个冲刺中通过实行自管理、自组织,和跨职能的开发协作,实现冲刺目标和最终交付产品。

8投资回报率(ROI[1])是指通过投资而应返回的价值,它涵盖了企业的获利目标。利润和投入的经营所必备的财产相关,因为管理人员必须通过投资和现有财产获得利润。

第二部分演示部分

(一)产品经理篇

在禅道里面,产品和项目这两个概念被明确的区分开来。产品是需求方,决定做什么(给出具体产品的定义,也就是说这个产品应该具备哪些方面“光说不做”)。项目是执行方,解决的是如何做的问题(满足产品的需求应该做的有哪些“光做不说”)。而测试则是保障方,解决的是正确的做事情的问题(保证“需求方”提出的需求都被满足“既说也做”)。所以在禅道中,所有的一切都是围绕产品展开的。产品是整个项目管理活动的核心。

1.添加产品

一、如何来添加产品呢?让我们来看下步骤:

1以管理员或者其他有产品管理权限的帐号登录。

2点击产品视图。

3在页面右侧,点击“新增产品”,即可出来产品添加页面。

(第一次使用禅道,点击产品视图,会自动跳到产品添加页面)

这里面,产品代号相当于大家对这个产品的一个隐喻,比如001,土豆之类。团队内部的人说起这个都是明白的。

bug负责人,可以指定默认的bug负责人。这样可以适用于公司人比较多,提交bug不知道该给谁的情况。

访问控制,则可以控制访问该产品的人员列表。

二、设置模块

添加完产品之后,就需要来设置产品的模块。模块相当于对产品需求的一个分类,通过组织模块,可以让大家对产品有一个宏观的把握和认识,也方便对需求进行分类和整理。设置模块的步骤:

进入产品视图。

5选择要维护的产品。

6点击菜单中的“模块维护”.

在这里面,可以维护某一个模块的子模块,可以编辑某一个模块,也可以删除。同时还可以维护模块的排序。

2.建立计划

具体的步骤:

1进入产品视图,选择某一个产品。

2点击“计划列表”

3出现计划列表页面,点击页面右侧的“创建计划”,即可出现计划增加页面。

在计划列表页面,可以查看该计划的所有需求,也可以通过“关联需求”来维护属于这个计划的需求列表。

3.需求管理

①禅道中需求的写法

在禅道中,我们默认给大家提供了一个需求(user story)的模板:作为一名<某种类型的用户>,我希望<达成某些目的>,这样可以<开发的价值>。

很多公司的产品经理所设计的需求,其实是设计给他心中所设想的那一个用户。在他的世界里面,整个产品就是为一个用户准备的。其实这就大错特错了。而禅道提供的这个模板,则强迫你去设想这个需求所代表的用户是谁,这样你在写需求的时候,就可以设身处地的来思考问题。这样写出来的需求才更加合理。(也就是说,产品会被很多类用户使用,作为产品人员应该站在每类用户的角度,思考可能会有哪些需求)

我希望达成的某些目的,就是需求要做的事情,这个没有什么问题。所有的需求,这个是必须的。但大家往往忘记的是后面的目的或者价值所在。也就是为什么要做这个需求。

②禅道中需求处理流程

需求有一个状态(status)字段,总共有四种状态,分别是草稿(draft)(“评审”没有结果时)、激活(“评审”为“确认通过”时;不需要评审时)(active)、已变更(changed)(当点击“变更”,对需求进行了更改时)和已关闭(closed)。对应为需求的流程操作共有:创建、变更、审核、关闭、激活。

需求还有一个阶段(stage)字段,用来描述激活的需求在研发过程中所处的阶段。目前总共有未开始、已计划(需求“评审”为“有待明确”时)、已立项(与项目“关联”之后,前提是需求已被激活)、开发中、开发完毕、测试中、测试完毕、已验收、已发布。

③如何添加需求:

进入产品视图。

选择某一个产品。

然后选择“需求列表”页面的“新增需求”链接,即可出现需求添加页面。

添加需求的时候,注意的几个地方:

优先级:必须要设定这个需求的优先级。

预计工时,也就是对这个需求做一下估计,完成大约需要多少小时。单位是小时。估计不准也没有关系,关键是在这个过程。以避免产品人员不经过思考,随意添加需求的情况(也就是说,以防产品人员不经过思考(经济,人力,时间等问题))。由谁评审,如果公司里面的管理流程不需要评审,则可以勾选旁边的“不需要评审” 复选框。需要评审的需求其状态是草稿状态。

4.建立发布

某一期的项目结束日后,如果这一期的版本可以对外发布的话,那么产品人员的一个职责就是创建一个发布。创建发布的意义在于通知公司里面相关部门人员,我们有新的产品上线,可以让大家开展下面的工作,也是鼓舞士气的一个很好的手段。

前提:该产品的项目已经创建过Build

二、如何创建发布

1进入产品视图,选择发布列表。

2然后点击“创建发布”,即可出现创建发布的页面。

其中的build,要选择相应的版本,描述里面,则可以描述

此次发布解决的bug,新增的功能等等。

5.路线图

路线图,顾名思义,给大家一个发展的方向和指引。

在禅道中,路线图由发布和将来的计划组成。如果一个计划已经过期了,就不再显示了。路线图的展示形式如下:

其中绿色的部分,表示已经发布的版本,而棕色的部分,则表示是将来的计划。点击某一个计划或者是发布,可以查看相应的需求列表。

6.文档管理

禅道采取的方案是,覆盖基本的、必须的项目管理流程,通过禅道可以完整的进行项目管理,主要流程没有缺失。其他的个性化的流程和规范怎么办呢?通过文档管理来解

决。其实CMMI(https://www.360docs.net/doc/f318891795.html,/view/23524.htm)里面主要就是文档。什么阶段,什么人,应该有什么样的文档。禅道提供了文档管理之后,那么公司自己特有的一些流程和规范,就可以通过文档来加以体现。

7.主持产品会议

按照scrum的管理流程,产品经理在日常维护完善需求,在项目开始的时候,需要召开产品计划会议。该会议的主要任务是确定在这期项目(sprint)中要做的需求。

产品经理可以事先将自己这期项目计划做的需求归并到一个计划中,然后在计划会议的时候,逐个给大家讲解需求。讲解需求的目的是要保证与会的人员,也就是项目团队,对这个需求的理解是一致的。讲解需求的时候,要给大家解释为什么这样做。以便大家理解执行。

除了讲解需求,还有一个非常重要的工作,就是对需求进行优先级的排序以及工作量的估计。

①工作量的估计,主要解决是本期项目做多少的问题。按照优先级排列之后,然后再按照整个团队可用的工时数来计算,确定计划可以完成的需求数量。太多了,肯定做不完。太少了,团队就会有段时间无事可做。所以这个要靠整个团队慢慢摸索,达到一个相对准确的估计。

②优先级的排序是非常重要的。这样可以保证整个公司每时每刻做的东西都是现在优先级最高的。当然,需求的优先级也不是一成不变的。产品人员可以根据实际的情况来调整某一个需求的优先级。

8.参与项目管理,演示和总结

参与原因:

① 单纯的靠文字描述和计划会议,不可能保证100%的人员

100%的理解正确,很有可能会有理解偏差的情况。所以产品人员应该随时了解项目进展情况,随时发现问题,随时解决问题。(早发现早治疗)

②如果产品人员认为你们开发人员就去开发吧,和我没有关系了,这很容易造成产品人员和开发人员的对立,不利于团队的发展。而且很容易扯皮,大家互相推卸责任。

参与方式可以有很多种,参与团队的例会,邮件抄送,在禅道里面通过项目视图了解任务进展,通过bug查看缺陷情况等等。

在项目开发完成之后,产品人员应当对本期所作的需求进行确认,以保证是自己想要的东西。项目结束之后,团队会召开演示会议,给相关人员显示本期项目所取得的成果。产品人员应当

参加,并听取大家的意见和反馈,并将其整理成需求,记录到禅道中。

总结会议,产品人员也应当参加。总结这期项目,大家反馈的意见或者建议,产品人员应当总结成为需求,整理到禅道系统中。

(二)项目经理篇

禅道里面的项目的概念,还原为原原本本的项目的概念,就是固定人,在固定的时间里面,做固定的事情。产品是通过实施项目来实现的,项目是实现产品的过程,项目的产出是产品。

1.建立项目

那么如何创建项目呢?很简单:

1进项目视图。

2点击右面右侧的“新增项目”

几点注意事项:

3项目代号也是隐喻,可以用一个大家商定的名称来作为团队成员内部的称呼。

4团队名称,可以自己定义,比如叫做南山七匹狼,东海大鲨鱼,之类。

访问控制,可以控制访问这个项目的人员列表。

2.组建团队

步骤:

1进项目视图。

2选择要维护团队的项目

3点击“团队”菜单,出现团队列表页面。

4点击团队维护菜单,即可维护团队成员。

几点说明:

5团队成员在团队里面的角色是可以自由填写的,和权限没

相关文档
最新文档