文档章节

敏捷开发探寻本质

疯狂的兔子
 疯狂的兔子
发布于 2014/06/24 10:47
字数 1218
阅读 25
收藏 0

我们需要坐下来好好谈谈,什么事敏捷开发。

1.什么是敏捷开发?

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;

 我有一个朋友(大家都这么说,我有一个朋友如何如何,我有一个同学如何如何,故事往往是这样开始的),在一个大型的软件公司工作,他们公司是典型的瀑布模型,文档驱动。每个类,每个方法,都需要在文档里面注明。这样开发人员在开发的过程中就有了大量的维护工作来去做。你修改一个类之前,先要去修改一个文档。更重要的是我这个兄弟在日企工作。你联想到了什么?纯真的笑 :-D

曾将有一位先贤曾经说过,在软件的生命周期当中,除了需求确认和软件编码之外,所有的其他的工作都是shit! fuck!and if in chinese is 艹艹。

为什么说是以人为核心?

我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是 根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核 心。

注意,敏捷开发不是不要文档,而是删繁就简,把有限的精力集中到最重要的文档上面去。比如需求文档,这个必须有!

什么是迭代?

迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。

里程碑式的意义,通过迭代不断地得到反馈。然后让软件满足客户的需求。分解任务一方面是激励团队,另一方面是把控任务。


关于Scrum和XP

前面说了敏捷它是一种指导思想或开发方式,但是它没有明确告诉我们到底采用什么样的流程进行开发,而Scrum和XP就是敏捷开发的具体方式了,你可以采用Scrum方式也可以采用XP方式;Scrum和XP的区别是,Scrum偏重于过程,XP则偏重于实践,但是实际中,两者是结合一起应用的,这里我主要讲Scrum。

 

什么是Scrum?

Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。

而Scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。

 

【Scrum开发流程中的三大角色】

产品负责人(Product Owner)

主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

 

流程管理员(Scrum Master)

主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

 

开发团队(Scrum Team)

主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。

 敏捷开发的要义是把对文档的依赖转化为对人的依赖,要求每个人都是一个自我管理特别牛叉的人。








© 著作权归作者所有

共有 人打赏支持
下一篇: 敏捷开发
疯狂的兔子
粉丝 34
博文 178
码字总数 101541
作品 0
北京
后端工程师
私信 提问
何勉:第一性原理和精益敏捷的规模化实施

导读:什么是第一性原理?第一性原理如何指导我们的精益敏捷开发?阿里资深解决方案架构师、畅销书《精益产品开发:原则、方法与实施》作者何勉,结合实践案例,详述第一性原理和精益敏捷的规...

Mr_zebra
2018/01/23
0
0
福利丨技术芳菲四月天,送你一份书单静享春光

今天,人人皆言敏捷,可你的团队是否真的敏捷高效?你的软件开发能力是否过硬?为此,小编联合@图灵教育 给大家推荐两本热门书籍:《学习敏捷:构建高效团队》、《软件开发本质论》,送书福利...

DBAplus社群
2017/04/27
0
0
何勉培训公开课:精益、敏捷产品开发和创新管理·上海站

本次公开课将于10月28日至29日在上海,何勉培训公开课:精益、敏捷产品开发和创新管理·上海站报名平台活动家。 在线报名通道:https://www.huodongjia.com/event-104988978.html 课程详细 ...

活动家
2017/09/29
0
0
敏捷开发:产品思维与项目管理实践

敏捷开发是全新理论吗?答案莫衷一是。细心的人们可以发现,敏捷开发其实借鉴了大量软件工程中的方法。迭代与增量开发,这两种在任何一本软件工程教材中都会被提到的方法,在敏捷开发模式中扮...

Wiuk
2017/08/21
60
3
被曲解的敏捷苦了程序员们

一天,程序员甲遇到了程序员乙。程序员甲就问程序员乙了,“听说你们公司也在搞敏捷?”程序员乙答:“是啊,别提了,纠结着呢。感觉现在加班比以前还多了,一个迭代接着一个,比以前累多了。...

Wiuk
2017/09/27
5.1K
21

没有更多内容

加载失败,请刷新页面

加载更多

利用神器BTrace 追踪线上 Spring Boot应用运行时信息

概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值、外部调用情况 以及 函数执行时间等信...

CodeSheep
38分钟前
3
0
OSChina 周四乱弹 —— 我想过年请假提前回家两天

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 分享王力宏的单曲《爱错》 《爱错》- 王力宏 手机党少年们想听歌,请使劲儿戳(这里) @Caremorele :这几天起床有点...

小小编辑
今天
59
5
Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
3
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部