搭建敏捷开发知识体系(1)

打造敏捷开发知识体系 (1).png

敏捷是什么


它是一个框架,一种理念,强调持续从客户那获得反馈,并根据优先级进行产品迭代。

敏捷宣言


  1. 个体和互动 高于 流程和工具
  2. 工作软件 高于 详尽的文档
  3. 客户协作 高于 合同谈判
  4. 响应变化 高于 遵循计划

敏捷宣言阐述4个价值观:

  • 以人为本:重视个体间的合作互动
  • 目标导向:我们最终交付的是“可使用的软件”,而不是一堆繁重的文档
  • 客户为先:理解客户需求,与客户合作
  • 拥抱改变:客户每一次提出新的要求,都是在帮我们逐步逼近事实真相

这4点并不是让团队放弃工具,文档,计划,而是将精力放在更核心的事上:人、产品模型、协作和迭代

敏捷开发的12项原则


1. 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
2. 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
3. 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
4. 业务人员和开发人员必须相互合作,项目中的每一天都不例外。
5. 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
6. 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
7. 可工作的软件是进度的首要度量标准。
8. 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
9. 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
10. 以简洁为本,它是极力减少不必要工作量的艺术。
11. 最好的架构、需求和设计出自自组织团队。
12. 团队定期地反思如何能提高成效,并依此调整自身的举止表现。

我认为,在敏捷实践的过程中,如果遇到不知道如何推进的问题时,就可以从这12个原则中去寻找答案。

敏捷落地的可行性


评估敏捷和团队成员的三观是否符合

可以尝试问以下5个问题:

  1. 你是否会愿意接手目标不明确的项目?
    目标不明确,是会让参加项目的人在一段时间内迷茫,痛苦。因为这段时间里团队会遭遇到很多的质疑和挑战。敏捷项目管理中有句话,“快速失败”。而且敏捷过程提倡可持续开发,团队不断从错误中积累学习并持续迭代。这意味着我们的团队需要有勇气,有好奇心,有信心,稳定持续地等待“拨云看月”的时刻。

  2. 你会如何规避项目风险?

  3. 你的团队能有多灵活?

  4. 公司阶层制度严格吗?

  5. 你怎么衡量进度?怎么定义成功?

影响敏捷落地成功概率,除了团队的价值观,还会受到组织架构,组织文化的影响。(“皮之不存毛将焉附”)

如何实施敏捷开发


Scrum + 看板(Jira Tool)

Scrum


3355


image

3个核心角色

Scrum Master(敏捷教练):对应敏捷团队的PM(项目经理),职责是促进团队的工作,帮助团队熟悉与掌握敏捷的价值观与框架,帮助团队排除影响生产力的障碍,保护团队不受打扰。
Product Owner(产品负责人):对应敏捷团队的BA(需求分析师),职责是定义需求,定义需求的优先级,定义需求的验收标准,定义产品发布内容与日期。
Scrum Team(敏捷团队):通常来讲是敏捷的全功能团队,对交付负责,协作开发,可能跨职能部门,自组织式的扁平化团队。

3个工件

  • 产品待办事项 (Product Backlog):即产品视角的需求清单,由 Product Owner 负责维护,包括增删及优先级,用户故事是其中一种最佳实践,每项需求都需要描述其外部价值。
  • 迭代待办事项 (Sprint/Iteration Backlog):即此次迭代周期内规划要完成的内容,由团队评估和选择产品待办事项中中哪些放入迭代待办事项,团队需要一起定义“完成”的标准。
  • 迭代产出成果(也叫迭代可交付产品增量 ,Increment):即迭代结束后可对外发布的产品功能增量部分,需要关注其是可工作的软件功能增量,需要在成果展示会议(showcase) 上进行演示。
User stroy

Backlog由很多的User story组成。User story一般格式:

As a user, I need ...., so that ....

5个关键事件

  • 迭代 (Sprint/Iteration):1-4周,固定周期,固定时间开始,固定时间结束。
  • 迭代规划会 (Sprint/Iteration Planning Meeting):核心议题是下一个迭代要实现的目标和范围,对产品待办事项中的事项进行估算,以作为是否放入下个迭代的参考,输入是产品待办事项 ,输出有
  • Sprint goal
  • 迭代待办事项 Sprint Backlog
  • Timebox
  • Team capacity
  • Sprint Release 计划
  • 每日站会 (Daily Standup):站会的目标是促进信息在团队内共享与透明,回答3个问题
  • 本次会议之前,我做了哪些事情?
  • 本次会议之后,我准备做什么事情?
  • 目前我是否碰到障碍,是否需要帮助?
  • 成果展示会议 (Review/Showcase):在迭代结束开,展示本迭代的产出,团队全体参与,邀请相关干系人参与提供反馈。

评估后的有效反馈将流向Product Backlog

  • 回顾会 ( Retrospective):团队一起复盘本迭代的过程,总结经验与教训,并形成切实可行的改进清单。
  • Brag (Good to maintain)
  • Drag (What to move on)
  • Places to improve in next Sprint (Top1-3)
过程监控中团队沟通的工具
  • Burnup Chart 燃烧图
    WeChat Image_20210806151222.png

显示项目的总体目标,最初的计划,现状,Gap还有Trend。

  • Burndown Chart 燃尽图
image

显示一个Sprint里User story的完成情况。

  • Velocity 速度
    Sprint Velocity是团队在当前Sprint完成的User story point。
    Average Velocity 一般是已经完成的Sprint的Velocity的平均值。
    在Burnup图中,origin plan里的velocity的值一般参考过去项目Velocity。
  • DoD Definition of Done
    评估User story 怎么算完成.
    当DoD全都完成后,user story移交给PO review, (依据可接受标准Acceptance Criteria)决定是否close user story.

内容示例:

  • 设计文档,设计review
  • 完成单元测试,自测
  • Test Case review
  • Bugs resolved (no major bug)
  • 版本发布
    ...
  • DoR Definition of Ready
    评估User story 怎么算可以开始。

内容示例:

  • 详细描述
  • 可接受标准Acceptance Criteria
  • 优先级
  • ...

5大价值观

  • 承诺 Commitment - 愿意对目标做出承诺;
  • 专注 Focus – 全身心都用到承诺的工作上去;
  • 开放 Openness – 团队内所有信息对所有人开放;
  • 尊重 Respect – 每个人都有他独特的价值和经验;
  • 勇气 Courage – 勇于承诺,履行承诺,敢于说不。

曾看到一篇文章,讲一个爸爸用敏捷的方式带孩子管理每天的事情。很有启发,所以贴上:
他有一段解释敏捷价值观的话:最后给大家一个忠告,如果真正想用敏捷的思维培养好孩子,时刻对照自己是否做到敏捷中关键的五大特性:
勇气(鼓励让孩子迎接挑战,说出真相)
开放(让孩子有更多的自主权选择学习目标)
尊重(尊重孩子们的每个意见和想法,不随便以身份去批评打压孩子)
承诺(时刻关注孩子们和自己的任务承诺,答应就要做到)
专注(让孩子们学会一次只做一件事,减少干扰)

image

Kanban 看板

一直使用的是Jira Board, 看板的好处

  • 可视化
  • WIP原则
    限制在制品WIP数量,专注一次做一件事
  • 明确下一步行动

实践中常见的问题 (解决方案示例待完善)

  • Daily Standup 迟到
  • Sprint时间过半,但还没有user story 完成
  • 跟外部部门合作受阻,提的问题处理进展不清楚
  • 测试环境的硬件版本不统一
  • 多语言测试的设备不够
  • Sprint 最后几天大家节奏明显加快,甚至需要加班
  • 需求中途变更,Scope增大
  • 评估时间不够
  • User story开发完成,不知道交付给谁测试
  • 。。。

我的感想

两段Scrum Master实践经历,让我从一个对Scrum 懵懂朦胧的状态,成长为一个掌握基本功的Facilitator。
接下来面临的课题有:

  • 如何从使用推力转换成使用拉力而促成合力
    这涉及团队沟通,协调能力,以及个人影响力的打造。
  • 如何从容应对变化,包括来自需求,执行等
  • 结合实践深入理解体会敏捷的价值观
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 1敏捷原则与实践 什么是敏捷? “敏捷方法”是一个囊括了各种框架和方法的涵盖性术语。图 1结合上下文将敏捷定位为一...
    阿帅说阅读 2,836评论 0 2
  • 第I部分 起步 第1章 概览 软件需求是一个沟通问题。一旦任何一方再沟通中把持绝对地位,项目就会遭受损失。如果业务...
    文浩读书阅读 2,809评论 0 7
  • 通过上图我们可以看到Scrum作为各种敏捷实践方法中最为常用的一种,今天我们也来聊一聊Scrum。 Scrum的历...
    superkunkun阅读 3,050评论 0 5
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,032评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 6,870评论 0 2