作为一个开发人员,我们也该懂一些项目管理的知识,今天我们来讲一个基于Scrum的项目管理工具
禅道
。本文将从禅道的安装部署开始讲起,然后讲讲Scrum的核心概念,最后通过禅道的一套操作来实践下Scrum的开发流程。
禅道由青岛易软天创网络科技有限公司开发,国产开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。禅道项目管理软件的主要管理思想基于国际流行的敏捷项目管理方法—Scrum。Scrum方法注重实效,操作性强,非常适合软件研发项目的快速迭代开发。禅道在遵循其管理方式基础上,结合国内研发现状,整合了Bug管理,测试用例管理,发布管理,文档管理等功能,完整的覆盖了软件研发项目的整个生命周期。
禅道的安装方式有很多,这里我们使用它在Docker环境下的安装方式。
docker pull idoop/zentao:latest
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:latest
admin:123456
:http://192.168.6.132/我们比较熟知的软件项目管理方法是瀑布,其基本流程是需求->设计->开发->测试。基本假设只要每个环节都做正确,那么终得到的结果也是正确的。但从总体来讲,瀑布项目失败率比较高。国外的软件先行者们针对瀑布开发中暴露出来的问题进行了一系列的探索、思考和总结,最终提出了敏捷开发的概念。敏捷开发有很多种方式,其中Scrum是比较流行的一种。
Scrum是由产品经理(product owner)、项目经理(scrum master)和研发团队(dev team)组成的。
这里我们讲下什么是用户故事:所谓用户故事,就是来描述一件事情,作为什么用户,希望如何,这样做的目的或者价值何在,这样有用户角色,有行为,也有目的和价值所在,非常方便与团队成员进行沟通。
与瀑布不同,Scrum将产品的开发分解为若干个小迭代(sprint),其周期从1周到4周不等,但不会超过4周。参与的团队成员一般是5到9人,每期迭代要完成的用户故事是固定的,每次迭代会产生一定的交付。
Scrum的基本流程如上图所示:
接下来我们将按角色来讲讲如何使用禅道来实现基于Scrum的项目管理。
禅道安装成功之后,管理员的第一件要做的事情就是设置部门结构,并添加用户账号。
组织->用户->维护部门
可以为企业添加部门结构:组织->用户->添加用户
可以为企业添加用户:产品经理对于公司来讲,至关重要。只有做出好的产品或者服务出来,才能赢得市场,谋求发展和生存。下面我们用产品经理的账号登录,来演示下产品经理在敏捷开发中所要做的事情。
产品->需求->维护模块
来创建产品的模块:产品->需求->提需求
可以创建需求:项目经理主要负责管理开发团队,将产品经理的需求讲解给开发团队听,确定项目要完成的需求列表,对需求进行任务分解并指派给开发团队,以及各种会议的组织。下面我们用项目经理的账号登录,来演示下项目经理在敏捷开发中所要做的事情。
项目->团队->团队管理
来为项目团队添加成员:项目的任务分解完毕之后,开发团队成员需要领取自己的任务,开始每天的开发。除了日常的编码工作之外,还应当每天花点时间在禅道里面更新下任务的状态以及消耗情况。下面我们用开发人员的账号登录,来演示下开发人员在敏捷开发中所要做的事情。
项目->任务
中可以查看到指派给自己的任务:测试团队是项目质量的保证,测试团队主要负责对项目的版本进行测试,提出Bug指派给开发人员,开发人员解决Bug后对Bug进行验证并关闭。下面我们用测试人员的账号登录,来演示下测试人员在敏捷开发中所要做的事情。
测试->Bug
中提出测试过程中发现的Bug:我们通过在禅道里面的一系列操作完整地演示了一套基于Scrum敏捷开发流程,其实所有角色的职责可以用下图来概况。
更多资料可以参考官方文档:https://www.zentao.net/book/zentaopmshelp/38.html