02-28
2023敏捷开发以用户需求进化为核心,采用迭代、增量等方法进行软件开发。在当今多变的市场竞争中,敏捷开发已经成为精英效能组织的制胜之道。本期我们邀请到西安总部基地研发经理刘浩带大家走进敏捷开发的修行之旅。
一、常见的研发模型到底有什么不同?
(一)流程重要性
不恰当的管理流程=失败。任何开发活动都是一项工程,在整个工程建设的过程中,需要行之有效的管理体系,对工程的各个环节进行控制,以此来保障良好的结果。
(二)常见模型
常见的研发模型包括:瀑布、增量和迭代。瀑布模型是不错的方式,但如果研发的工程体量大不妨采用增量或迭代的方式,合理对工程进行拆解,优先快速交付一些核心功能,将未来风险出现的可能性降到最低。
二、有效的组织是成功的一大半
(一)团队构成
典型敏捷开发团队由产品负责人PO、开发团队、敏捷教练构成。
· 产品负责人PO:客户或客户代表,站在客户角度梳理和审视待开发内容。
· 开发团队:自组织的一群人,主要职责是把待开发内容变成可发布的功能。
· 敏捷教练:带路党,确保敏捷思想被理解并正确实施服务所有人,保障团队高效地前进。
(二)团队成长
成长是相互的,团队的成长代表着管理人员的成长。没有一个人的成功,只有把自己的成就托付给整个团队,才是可行之道。
三、怎么确定我们要做什么?有多大的工作量?
(一)待开发项
在探索需求的过程中,不知不觉中获得了很多需求情节便签,这些便签在敏捷方法中,可以视为产品待开发项,是研发的最关键部分。
(二)用户故事
需求情节的描述,就是传说中的用户故事,回顾一下:谁(角色),通过什么样的操作(活动),达成什么样的目的(获取价值)。通过这种方式,我们时刻保持思路开阔,与客户共筑愿景,明确用户真正所需。
(三)敏捷估算
敏捷估算同样也在项目计划中起到非常重要的作用。有效的估算活动,可以让团队心中有谱,降低项目的不确定性,提高预测能力。
(四)估算方法
常用的估算方法有三种:1.经验估算 2.三点估算 3.计划扑克。敏捷团队最佳估算方法是计划扑克,把专家意见、类比和分解结合到一种令人愉快的估算方法,产生快速可靠的估算。
四、用合理的排序探知未来
(一)优先级排序
把最为关键和最有价值的部分放到最前面,越早交付关键部分,越能保障目标的达成。
(二)发布计划
伟大的代码始于伟大的计划。需要按照优先级排列需求,创建可执行的发布计划,并有信心执行和监控。
五、终于可以开始工作了?
(一)迭代计划
迭代计划是阶段最明晰的计划,它将团队最近阶段的所有工作项管理和维护起来。
(二)可视化看板
可视化看板可以让所有人用最小的成本获得最关键的信息。看板可以使用物理或线上的方式,但最好部署在公共区域,不论是领导还是客户,都可以便捷获取信息。
(三)燃尽图
燃尽图表明了团队整体工作量的消耗情况,可以不必像传统方式那样关注到团队每个成员的每一项工作的起止时间,只要关注团队工作量的整体消耗情况,就能得知当前进度。
课堂笔记
01. 开发管理流程的重要性
✓合理的开发流程不仅能让一切有序起来,更是保障成功的关键
02. 敏捷团队的组成和构建
✓基于SCRUM的敏捷团队,由PO、开发团队、SM构成
✓给予足够授权、关注成长是打造高绩效团队的基础
03. 需求的获取和工时估算
✓头脑风暴、角色扮演、多观察
✓经验估算、扑克游戏、三点估算
04. 发布计划制定和优先级
✓关注基本功能,基于价值排列需求优先级,并制定迭代发布计划
05. 迭代计划会和可视看板
✓通过计划会向团队宣布我们开始了,并明确工时和负责人
✓使用可视化的手段,让团队和他人迅速了解当前情况