敏捷开发其实也是企业的一种管理文化。项目管理者联盟
目前软件行业敏捷开发管理最大的问题在于太看重具体的形式,而忽略了敏捷的初衷。项目管理者联盟
很多公司请几个敏捷教练建立流程,把会议室的椅子都搬走宣布从今以后大家站着开会了,使用敏捷管理工具建立迭代、建需求、分任务,可是这真的就意味着敏捷了吗?项目管理者联盟
因为敏捷,老板要求这个功能明天上线,怎么实现我不管,毕竟响应变化高于遵循计划。
因为敏捷,我们希望每天至少发布一个版本,没办法,敏捷要求我们快速地交付可工作的软件。项目管理者联盟
因为敏捷,虽然需求我们还没想好,但是这个版本要保证本周内上线,敏捷宣言说得好,要欣然面对需求变化。项目管理者联盟
因为敏捷,我们项目一篇文档也没有,毕竟工作的软件高于详尽的文档。项目管理者联盟
。。。。blog.mypm.net
我们不禁要问,这真的是敏捷吗?敏捷的初衷是团队成员能够更加紧密地配合完成工作,敏捷开发强调拥抱变化,但并不意味着可以随心所欲地变更需求。敏捷开发的实质是通过迭代式增量软件开发的方式,防止出现长期闭门造车严重偏离客户需求,达到快速响应市场变化的目的。项目管理者联盟
下面我想分享下我们公司在近百人的开发团队,同时进行十几个项目开发的过程中,是如何使用CORNERSTONE管理平台进行敏捷项目管理的。项目管理者联盟
一、角色划分项目管理者联盟
杰夫·萨瑟兰将SCRUM团队中的角色分为三种:training.mypm.net
- 开发团队成员,负责开展具体的开发工作;项目管理者联盟
- Scrum主管,协助开发团队把事情做得更好;项目管理培训
- 产品负责人,决定应该做什么工作,拟定待办事项清单的内容。club.mypm.net
我们根据我们开发中的实际情况将系统中的角色分为以下四种:项目管理者联盟
-
项目经理:相当于Scrum主管,负责协调团队内部合作,召集站立会议,把控项目整体进度。需要明确的是,项目经理并不是一个传统意义上的团队领导。用更流行的话说,项目经理更像是一个仆人式领导。项目经理不应该对团队成员大吼小叫,也不会告诉研发人员该做什么以及如何开发一款产品,而是应该集中精力帮助研发人员清除前进道路上的障碍。PgMp.mypm.net
-
产品经理:相当于产品负责人,负责决定应该做什么工作,拟定待办事项清单的内容,确定各个事项的优先顺序。事实上,和很多人理解的不同是,确定各个事项的优先级几乎是敏捷中最重要的工作。为什么?在软件开发领域有一条根据数十年研究工作总结出来的原则,即在任何一款软件中,80%的价值来自20%的功能。人们总喜欢说每个需求都是重要的,但产品经理需要问一下自己,究竟哪些需求能够给整个项目带来最大的价值?而这些能够带来最大价值的需求就必须优先完成。项目管理者联盟
- 开发人员:开发人员是项目开发任务具体的实施者。他们负责完成开发任务,及时反馈开发进度。club.mypm.net
- 测试人员:测试人员是项目测试任务具体的实施者。他们负责制定测试计划,编写测试用例,创建以及回归缺陷。talent.mypm.net
在CORNERSTONE中,我们可根据项目成员的具体职能设定不同的角色和权限。
二、收集需求(用户故事)项目管理者联盟
在项目开始前,产品经理应该基于用户或市场的需求,来编写用户故事,即CORNERSTONE中的需求。一个好的需求(用户故事)一般应该满足INVEST标准:项目管理者联盟
(一)
独立性(Independent)——尽可能地使一个需求独立于其他的需求。需求之间的依赖使得制订计划、确定优先级和工作量评估都变得很困难,通常我们可以通过组合需求和分解需求来减少依赖性。项目管理者联盟
(二)可协商性(Negotiable)——需求的内容要是可以协商的,需求不是合同。项目管理者联盟
|