敏捷开发(Agile Development)
敏捷开发是一种迭代、循序渐进的软件开发方法的总称,比较受欢迎的敏捷开发方法有 Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD).
这些开发方式有共同的愿景的核心价值观(Agile Manifesto)。它们都包含了迭代的思想和持续的反馈。它们都包括了持续规划、持续测试和持续集成的思想。它们都是轻量级的,特别是与传统的瀑布式流程相比。更重要的是,敏捷开发专注于团队合作,共同决策。
Scrum
Scrum是一个敏捷开发框架。Scrum是橄榄球运动的一个专业术语,表示“争球”的动作。
Scrum三大角色
流程管理员(Scrum Master)
Scrum Master主要负责流程的顺利进行和清除在开发团队和产品负责人之见的障碍。
产品负责人(Product Owner)
主要与客户交流,明确产品功能和需求,制定发布日期和交付的内容,决定开发顺序,掌管Product Backlog。
开发团队(Scrum Team)
主要负责软件开发。
Scrum流程图
Product backlog
Product backlog是一个有序的需求列表。它包括功能需求、bug修复、非功能性需求等等。为了成功交付一个可行的产品,product owner根据产品风险,商业价值,项目依赖,项目大小和日期来建立product backlog items (PBIs)的优先级。
Sprint planning
讨论在一个sprint需要完成的工作,从 product backlog 选取在这个sprint可以完成的项目。
在planning的前半部分整个Scrum团队选取他们可以在一个sprint可以完成的项目(product backlog items)。
在planning的后半部分,开发团队确定开发细节。
Sprint backlog
Sprint backlog是开发团队在一个sprint周期要完成的工作。
Sprint
Sprint 是Scrum敏捷开发的一个基本时间单位,一个时间周期(通常在1周到1个月之间),通常情况下是2周。
Daily scrum (stand-up)
在sprint周期的每一天,团队进行站立会议(15分钟以内)。
每位团队成员主要回答三个问题:
1. 昨天我完成了哪些工作有助于团队达到我们的冲刺目标?
2. 我今天打算完成什么来帮助团队达到我们的冲刺目标?
3. 我是否看到任何阻碍我或团队达到我们冲刺目标的障碍?
Product Backlog refinement
Product Backlog refinement是一个检查product backlog items的过程,检查他们的优先级是否合理,项目是否清楚和可执行。
Sprint review and retrospective
在一个Sprint完成的时候,团队进行Sprint review 和 Sprint retrospective。
Sprint review:
审查已完成的工作和未完成的计划工作。
演示成果。
探讨下一步工作。
Sprint retrospective:
反思上一个Sprint的不足
制定改进方案
网友评论