DevOps之敏捷开发

初步了解一下敏捷开发及其流程

1 为什么要敏捷开发?

敏捷开发描述了一套软件开发的价值和原则,在这些开发中,需求和解决方案皆通过自组织跨功能团队达成。

1.1 背景与动机

当需求的不明确性和工程实现的不确定性均超出一定范围后,呈现出复杂系统的特征传统的开发方法便不在适用.敏捷开发方法正是在这样的背景下诞生.

1.2 瀑布VS敏捷

2 敏捷宣言

2.1 背景

千禧之初,美国在计算机行业已经走了几十年,瀑布流、螺旋模型、快速迭代...各种各样的软件开发流程雨后春笋各领风骚一段时间。虽然不断变化和完善,但互联网的加速发展让传统方法显得笨重,难以快速适应变化。有十七个程序员(程序员改变世界)在美国犹他州的一个风景区开了个碰头会,找到了一个团队耦合度高,流程极其灵活的方法,他们把它称为agile program development。

这十七个人如同开宗立派的长老,在会议之后给自己起了个名字“敏捷联盟”,他们不仅赋予了新方法名字,还有宣言,甚至纲领。

2.2 宣言与原则

http://agilemanifesto.org/iso/zhchs/manifesto.html

2.3 敏捷VS敏捷方法

3 Scrum

3.1 简介

3.1.1 增量式迭代流程图

3.1.2 Sprint周期

不同迭代周期对Scrum项目实施的影响

3.1.3 基本概念

agile:敏捷.

  • 其理念,精髓是 迅速响应需求,快速反馈结果

sprint:冲刺.

  • 一个开发阶段被认为是一次冲刺,一个个sprint首尾相连,构成一个项目

Scrum:指的时英式橄榄球中一股脑争球这一战术或行为.

Product Backlog:即需求池,待办事项列表

  • 需求池示例(任务名称、平台、详细描述、优先级按照P0-PX逐渐递减)

  • Backlog里写什么:待开发任务,任务优先级

story board:故事板

  • 用故事板表述用户场景,电影领域里故事板用来更具体地描述分镜.
  • 在开发领域,故事板是任务流转的可视化窗口

burn down chart:燃尽图

  • 横坐标为一个sprint的每一天,纵坐标为剩余工作时间

角色

  • PO(Project Owner) - 项目持有者 - 负责需求
  • SM(Scrum Master) - 敏捷教练 - 负责技术
  • ST(Scrum Team) - 需求,开发,测试

3.1.4 敏捷管理工具

国外jira、redmine,Axosoft ,国内的leangoo、禅道,三大家则都有自研的工具,百度的icafe,阿里的aone,腾讯的tapd。

3.1.5 敏捷开发也需要文档

  • 产品文档 PM维护
  • 概要设计 非必须 SM维护
  • 接口文档 必要且重要

3.2 Scrum框架与流程

3.2.1 Spring计划会议

一个例子

3.2.2 每日Scrum会议(Daily Scrum)

3.2.3 Sprint评审会议

3.2.4 Sprint回顾会议

3.2.5 产品订单(Product Backlog)

3.2.6 怎么写用户故事

3.2.7 冲刺订单(Sprint Backlog)

注意点:

参考

猜你喜欢

转载自www.cnblogs.com/okokabcd/p/9279615.html