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)

注意点:

参考
- 闲谈 | 敏捷宣言说了什么 - 华为云社区
- 项目经理的苦,与谁说?- 华为云社区
- 如何用DevCloud实践Scrum - 视频 - 华为云社区
- 瀑布开发vs敏捷开发 - 知乎专栏
- 你大概走了假敏捷——认真说说敏捷的实现和问题(手绘版) - 知乎专栏
DevOps之敏捷开发的更多相关文章
- Devops与敏捷二者能否结合?
当前软件行业的趋势倾向于使应用程序开发和部署成为业务运营的重要组成部分.这些公司开始专注于实现像DevOps解决方案这样的方法,这有助于缩短产品开发时间.使用DevOps进行开发减少了交付软件所需的阶 ...
- XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化
XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化 我们现在用的就是典型的XP+devOps模式,已经放弃scrum了 现在还很多公司弄docker虚拟化docker非常复杂,当然 ...
- 【DevOps】团队敏捷开发系列--开山篇
随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发-测试-发布)模式已经不能满足快速交付的需求.2009 年左右 DevOps 应运而生,开发运维一体化,通过自动化工具与流程让整个软件开发构建.测 ...
- 秦俊:开放 DevOps 敏捷开发套件,助力开发者驰骋云端
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ DevOps可以让人工智能(AI).大数据(Bigdata).云计算(Cloud)更加高效地落地,越来越多的企业和团队在践行DevOps. ...
- 【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布
Team Foundation Server 2015 Update 2版本终于在2周前的//Build 2016大会上正式发布了,借这个东风,小编也完成了[DevOps敏捷开发动手实验]开源文档的第 ...
- 敏捷开发、DevOps相关书籍——书单
自己瞎整理的一些书单,都是豆瓣评分比较高的书,可以作为选择的一个参考. 书名 豆瓣链接 持续交付:发布可靠软件的系统方法 https://book.douban.com/subject/6862062 ...
- 软件开发流变史:从瀑布开发到敏捷开发再到DevOps
作为在20世纪70年代.80年代盛极一时的软件开发模型,瀑布模型通过制定计划.需求分析.软件设计.程序编写.软件测试.运行维护等6个流程将整个软件生命周期衔接起来.这6个流程有着严格的先后次序之分,只 ...
- TFS 2015 敏捷开发实践 – 在Kanban上运行一个Sprint
前言:在 上一篇 TFS2015敏捷开发实践 中,我们给大家介绍了TFS2015中看板的基本使用和功能,这一篇中我们来看一个具体的场景,如何使用看板来运行一个sprint.Sprint是Scrum对迭 ...
- TFS 2015 敏捷开发实践 – 看板的使用
看板在现代应用开发过程中使用非常广泛,不管是使用传统的瀑布式开发还是敏捷开发,都可以使用看板管理.因为看板拥有简单的管理方法,直观的显示方式,所以很多软件开发团队选择使用看板进行软件开发管理.本文不在 ...
随机推荐
- Unity中让Update中的方法执行一次
Unity中让Update中的方法执行一次 Unity中,很多时候,代码需要放在Update中时刻监测状态,一旦状态符合,又只需要代码执行一次:其实可以通过设置控制量的方式,让代码只执行一次:方法:设 ...
- ecahrts实现动态刷新(隔几秒重新显示)
代码: <script> var chartDom = document.getElementById('main3'); var myChart = echarts.init(chart ...
- Spring Security的使用
spring security使用目的:验证,授权,攻击防护. 原理:创建大量的filter和interceptor来进行请求的验证和拦截,以此来达到安全的效果. Spring Security主要包 ...
- Virtual Function(虚函数)in c++
Virtual Function(虚函数)in c++ 用法: virtual void log() { std::cout << "hello world!" < ...
- 【SpringBoot实战】数据访问
前言 在开发中我们通常会对数据库的数据进行操作,SpringBoot对关系性和非关系型数据库的访问操作都提供了非常好的整合支持.SpringData是spring提供的一个用于简化数据库访问.支持云服 ...
- numpy教程02---ndarray数据和reshape重塑
欢迎关注公众号[Python开发实战], 获取更多内容! 工具-numpy numpy是使用Python进行数据科学的基础库.numpy以一个强大的N维数组对象为中心,它还包含有用的线性代数,傅里叶变 ...
- linux磁盘之回环设备
为什么要讲回环设备,下面看下系统的采样情况 上面图有loop0,loop1等设备标记,这些是什么?看看下面fdisk -l 的结果,乱糟糟的一堆? 什么是回环设备? 上面的loop0, loop1就是 ...
- JavaScript学习总结6-apply
JS中的apply方法可以控制this指向 任何JS支持的类型都可以转化为JSON JS对象是键值对型的,JSON是字符串型的 原型对象:__proto__ JS万物皆对象,ES6开始提供了对后端开发 ...
- C. Sum of Cubes
原题链接 https://codeforces.com/problemset/problem/1490/C 题目 题意 如果一个数 n = x3 + y3 (x, y可以相等, 且> 0) 输出 ...
- Edu Cf Round 105 (Div. 2) B. Berland Crossword 1.读懂题, 2. 思维
一. 原题链接 https://codeforces.com/contest/1494/problem/B 二. 题意 + 题解: 没看懂题目, 懵了好久, 先狡辩一下当时误解的句子, 英语是硬伤 ...