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

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:冲刺.

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

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

story board:故事板

burn down chart:燃尽图

角色

3.1.4 敏捷管理工具

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

3.1.5 敏捷开发也需要文档

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)

注意点:

参考