敏捷开发学习笔记

敏捷开发是一种开发理念,一种开发原则,不是开发方法。

敏捷开发的价值观

  • 个人与互动胜过过程与工具。
  • 可用的软件胜过复杂的文件。
  • 跟客户的密切协作,优于合同和谈判。
  • 能够响应变化,优于遵循计划。

敏捷开发原则

  1. 交付原则
    • 尽早且持续交付有价值的软件来满足客户。
    • 拥抱变化,欢迎改变需求。
    • 持续交付,小步快跑
    • 使用可用性在衡量软件进度的指标。
    • 持续关注软件设计和软件技术是否优秀。
    • 保持简单,尽最大可能减少不必要的工作。
  2. 人员沟通原则
    • 业务人员与开发人员必须在一起工作,每日互动。
    • 信任个人,积极主动。
    • 面对面交谈是最好的沟通方式。
    • 保持稳定的人员的节奏。
    • 自我组织架构和设计,不需要专门的架构师。
    • 团队要定期反思如何更有效,并相应地进行调整。

从敏捷开发的价值观和原则可以看出,敏捷开发并没有规定开发方法。

敏捷开发的内容包括敏捷建模、演进式架构设计、开发方法、重构、自动回归测试。敏捷开发框架有:Scrum、极限编程(XP)、水晶编程(Crysal)精益软件开发(Lean Software Development)、动态系统开发方法(DSDM)、特征驱动开发(Feature Driver Development)。

敏捷开发采用的一定是迭代开发+增量开发方法。迭代开发是指将开发过程分为小周期的迭代,每个迭代完成一部分开发,每个迭代包含需求分析、设计、开发、测试阶段。增量开发是指在现有的软件功能上增加一个客户可感知的完整功能。迭代开发+增量开发是指将开发过程分为小周期的迭代,每个迭代在现有软件功能基础上增加一个客户课感知的完整功能。

敏捷开发优缺点

优点:能更快的交付软件,降低软件风险。

缺点:缺乏文档。

Scrum

什么是Scrum

Scrum是用于开发、交付和持续支持产品的一个框架,是一个增量的、迭代的开发过程。在Scrum框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是一至四周。

在Scrum中,使用产品backlog(积压的工作)来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum团队总是先开发对客户具有较高价值的需求。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint backlog。在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量。

Scrum框架内容

Scrum框架包括3个角色、3个工件、5个事件、5个价值:

角色:产品负责人(Product Owner)、Scrum Master、开发团队。

工件(其实就是东西的意思):产品Backlog、Sprint Backlog、产品增量(Increment)。

事件(主要就是4个会议):Sprint计划会议(Sprint Planning Meeting)、每日站会(Daily Scrum Meeting)、Sprint评审会议(Sprint Review Meeting)、Sprint回顾会议(Sprint Retrospective Meeting)。

价值:总的来说就是好好干。

Scrum角色

Scrum Master

领导Scrum团队、服务Scrum团队、服务Scrum团队。

  • 组织Scrum中的事件。
  • 帮助找到有效定义Product Goal 和管理Product Backlog 的技巧。
  • 帮助建立基于经验主义的产品规划。
  • 引导利益攸关者协作。
  • 作为教练在自管理和跨职能方面辅导Scrum 团队成员。
  • 移除 Scrum Team 工作进展中的障碍。

Product Owner

  1. 明确产品目标。
  2. 将解决复杂问题所需的工作整理成一份Product Backlog。
  3. 定义完成标准。
  4. 对 Product Backlog 条目进行排序。

Product Owner 要保证Product Backlog 是透明的、可见的和可理解的。

开发团队

参与Scrum的四个会议,好好干。

  1. 为 Sprint 创建计划,即Sprint Backlog。
  2. 根据完成标准交付Spring Backlog。
  3. 每天根据 Sprint Goal 调整计划。

Scrum事件

Sprint计划会议

启动新的Sprint,制定Sprint 目标,讨论要启动的Backlog、完成标准以及完成方法。

每日站会

每天15分钟的站会,每个成员沟通目前进展、后续计划、发现障碍、提出帮助、调整计划。

Sprint评审会议

交付并展示Sprint成果。

Sprint回顾会议

针对过去的Sprint,开发团队谈论自己的感受,讨论在 Sprint 期间哪些进展顺利,遭遇到哪些问题以及这些问题是如何解决(或未解决) 的。提出可以的优化地方,在下一个Sprint中执行。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇