- 工作量不透明
- 开发进度难预测
- 团队积极性低
- 团队信息不一致
软件研发管理一般会遇到哪些问题呢?工作中主要有这几点:每个人工作量不透明,整体开发进度无法预测,另外无法保持团队的积极性,团队人员理解的信息不一致。 如何解决这些问题呢?
- 简单而强大的项目管理框架
- 连接项目经理、产品经理、团队成员
- 迭代和增量的开发方式
今天要讲的这个项目管理框架可以解决这些问题 联系项目干系人,并增量迭代开发
- 产品负责人(PO)
- 开发团队(DT)
- Scrum Master(SM)
scrum 有 3 个角色,其中产品负责人负责制定产品需求列表;开发团队包括设计师、程序员和测试人员交付产品功能;scrum master 类似于项目经理,管理整个开发流程
- Sprint 计划会议
- 每日站会
- Sprint 评审会议
- Sprint 回顾会议
4 个活动: sprint 计划会议确定接下来 1 到 4 周内要开发哪些产品需求,并估算每个产品待办的开发时间。
每日站会中开发团队汇报已完成工作与今日任务;
sprint 评审会议:演示一个迭代周期开发的产品结果
sprint 回顾会议:回顾开发过程中需要改进的地方
- 产品待办(Product Backlog)
- Sprint 待办(Sprint Backlog)
- 增量(Increment)
scrum 有三个产出: 产品负责人制定的产品待办列表、全体成员制定的 sprint 代办列表、 开发团队每日交付的开发成果
Sprint(迭代):原义是短距离赛跑,这里指一次迭代。
Kanban(看板):类似报表,管理研发的过程。
这张图展示了 scrum 的管理流程 首先产品负责人制定一个产品的待办清单。scrum master 召开一个 SPRINT planning 会议。这个会议呢,所有团队人员一起来制定,在下一个 sprint 开发周期内。我们要完成哪些 product backlog,并且评估一下每个 backlog 需要花费多长时间。
在这一个周期内团队开始工作,每天都交付开发成果.当一个 Sprint 周期完成之后,scrum master 组织一个评审会议,来演示成果。并且组织一个回顾会议,回顾哪些改进的地方。然后每个团队成员进行反思。这样一次 sprint 流程完成。
-
产品负责人(PO):定义产品愿景、维护 Product Backlog、优先级排序
-
Scrum Master(SM):确保 Scrum 流程被正确遵循,移除障碍
-
开发团队(DT):在每个 Sprint 中交付潜在可交付的产品增量
在团队中明确产品负责人和 scrum master,其中产品负责人可由项目经理或产品经理承担,scrum master 可由项目经理或开发组长承担。
(Product Backlog)
- 包含所有待开发的功能、特性和需求
- 每个条目有明确的描述、优先级和估计值
这是一个产品待办的列表,包含优先级,时间估计,用户故事
(Sprint Planning Meeting)
- 从 Product Backlog 中选取高优先级条目放入 Sprint Backlog
- 团队共同评估并承诺完成 Sprint Backlog 中的工作
这是会议议程案例,首先介绍下一个 sprint 的目标,讨论要开发的产品需求并估计进度,最后听取反馈
- 固定的时间周期(1-4 周)
- 每日站会(Daily Scrum)同步进度、识别问题
确定好一个 sprint 后团队进入开发阶段,每日站会沟通开发进度
这是每日站会中每个人需要回答的问题,我昨天做了什么,今天要做什么,遇到了什么困难
(Sprint Review Meeting)
- 展示 Sprint 成果,邀请利益相关者评审
- 收集反馈,了解哪些工作做得好,哪些需要改进
产品负责人给领导介绍项目背景,开发人员演示新的产品功能,全体讨论下个发布版本的时间线、预算、阻碍、潜在市场机遇,讨论接下来要做什么,为下次 sprint 准备内容
(Sprint Retrospective Meeting)
- 团队自我反思和改进的机会
- 讨论问题、挑战和成功,决定改进措施
有效经验分享,什么导致了问题,下次如何提高
- PingCode https://pingcode.com/
- 禅道(Zentao)https://www.zentao.net/
禅道有免费开源版本,因此用户数量较多
pingcode 是比较新的平台,界面设计美观,流程简洁
本项目是根据两个平台的功能设计的一个免费开源的版本,可以自行添加功能