Scrum 敏捷培训小节

敏捷里最重要的事情:

人、沟通、可用的软件、适应变化。

敏捷的特点:

  • Self-Organize
  • Cross-Functional
  • Practice
  • Learning
  • Transparency
  • Simplicity
  • Inspect & adapt
  • Iterative

3355 - 敏捷开发的基本构成:

3种角色:

  • CSM(Certified Scrum Master)
  • Product owner
  • Team

5 种特性:

  • Courage 勇气
  • Force 专注
  • Commitment 承诺
  • Openess 开放
  • Respect 尊重

Invest 模型:

  • Independent
  • Negotiable
  • Valuable
  • Estimatable
  • Small
  • Testable

PDCA:

  • Plan
  • Do
  • Check
  • Action

燃尽图:

在一个迭代内,将 Task 一点一点完成的线性图,正常情况下应该呈开始很平缓,中期急速下降,后期继续平缓的曲线,因为初期调查代码,寻找解决方案,Task 无法按量完成,中期快速完成 Task,后期快完成时速度减缓。不过这种情况不是绝对发生。

=====================

敏捷我的理解是,Product Owner 将用户的需求以 User Story 的方式写出来,由 Dev Team 分解成 Task,以自愿认领、自我估算开发时间的方式,以迭代的周期(1周太短,1月太长),以最终有价值的可用的软件为目标的开发方式。

它和传统开发模式的最大区别是,不再以需求为导向,也不用再写大量的需求文档,而将重点转移到了在每个迭代的周期结束时提供可用的软件为目标,换而言之,即不再以要求在特定时间内完成所有功能,而是通过短时间的迭代开发,快速交付可用的软件给用户,并及时得到反馈以决定下一个迭代的 Task。

敏捷的要求是 Product Owner 必须在每一个迭代的开始,公布 User Story,由 Team 拆分成 Task 并估算工作量,自愿认领 Task 并给与 Product Owner 承诺可以在这个迭代内完成,而这个迭代内,Product Owner 必须给予 Team 不被打扰的环境,和不会变化的 Task,尽一切力量在迭代结束时可以交付可用的软件,并在迭代结束时开启 Review 会议总结该迭代内的收获和教训,以及向 Customer 展示这个迭代内完成的功能。

敏捷对 Team 的要求是 Self-Organize 和 Cross-Fuctional,即“自组织”与“跨职能”,因为任务都是 Team 自行申请的,即可以做到自行规划开发计划,而“跨职能”则是指 Team member 能够主动去担当一些别的职位的工作,例如设计,测试等等。

而对项目的跟踪,也是通过 Task 的完成情况进行的,而具体表现,就是燃尽图。

我认为敏捷最大的优势有以下几个:

  1. 快速迭代,短期交付可用的软件给客户,可以及时得到反馈,如有问题,可以及时得到修改。
  2. Feature value,特性价值,对用户需求进行评估,优先完成最具有价值的特性。
  3. Task 自评估,自认领,自组织和跨职能,充分调动 Team 主人公精神,减少和 Product Manager 在认知上的矛盾,可以真正达到 6 倍速。
  4. Transparency,项目进度一目了然,工程问题容易暴露。
  5. Test driven 测试驱动开发,降低测试工作量,有效保证产品质量。

Posted by K*K Sun, 21 Nov 2010 06:24:05 +0800