敏捷开发的概述 简单的说,敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征.换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态. 敏捷开发的路线 Test-Driven Development,测试驱动开发. 它是敏捷开发的最重要的部分.在ThoughtWorks,我们实现任何一个功能都是从测试开始,首先对业务需求进行分析,分解为一个一…
对敏捷开发的误解 误解一:敏捷对人的要求很高 很多人在尝试实施敏捷时说:敏捷对人的要求太高了,我们没有这样的条件,我们没有这样的人,因此我们没法敏捷.可是,敏捷对人的要求真的那么高么? 软件归根到底还是一种创造性活动,开发人员的技术水平和个人能力对软件的质量还是起着决定性的作用,各种过程与方法只是帮助开发人员.测试人员等角色能够更好的合作,从而产生更高的生产力.不管用什么方法,开发人员的水平永远都是一个主要的因素. 从另一个角度来看:过程和方法究竟能帮开发人员多大忙?对于技术水平较低的开发人员,…
敏捷开发的特点 敏捷方法主要有两个特点,这也是其区别于其他方法,尤其是重型方法的最主要特征: (1)敏捷开发方法是“适应性”(Adaptive)而非“预设性” (Predictive). 这里说的预设性,可以通过一般性工程项目的做法理解,比如土木工程,在这类工程实践中,有比较稳定的需求,同时建设项目的要求也相对固定,所以此类项目通常非常强调施工前的设计规划.只要图纸设计得合理并考虑充分,施工队伍可以完全遵照图纸顺利建造,并且可以很方便地把图纸划分为许多更小的部分交给不同的施工人员分别完成. 然而…
敏捷开发的价值观 实际上敏捷开发运动在数年前就开始了,但它正式开始的标志是2001年2月的“敏捷宣言”(Agile Manifesto),这项宣言是由17位当时称之为“轻量级方法学家”所编写签署的,他们的价值观是:个人与交互重于开发过程与工具:可用的软件重于复杂的文档:寻求客户的合作重于对合同的谈判:对变化的响应重于始终遵循固定的计划. 个人与交互重于开发过程与工具的原因:一个由优秀的人员组成但使用普通的工具,要比使用优秀的工具但由普通人组成.紊乱的小组做得更好.多年来人们花了很多时间试图建立一…
项目的敏捷开发方法 敏捷方法很多,包括 Scrum.极限编程.功能驱动开发以及统一过程(RUP)等多种法,这些方法本质实际上是一样的,敏捷开发小组主要的工作方式可以归纳为:作为一个整体工作: 按短迭代周期工作: 每次迭代交付一些成果: 关注业务优先级: 检查与调整.下图是典型的敏捷过程总图,下面介绍其有关的特点. 1.敏捷小组作为一个整体工作 项目取得成功的关键在于,所有项目参与者都把自己看成朝向一个共同目标前进的团队的一员.“扔过去不管”的心理不是属于敏捷开发.设计师和架构师不会把程序设计“扔…
上次的博文敏捷开发之道(二)极限编程XP和敏捷开发之道(三)极限编程XP续中,我们介绍了一下敏捷开发中的XP开发方法,今天咱们来了解另一个比较流行的敏捷开发方法--Scrum. 1.Scrum简介 Scrum是一种兼顾计划性和灵活性的敏捷开发过程,来源于美式足球中的"带球过人","带球过人"的含义主要是在比赛开始之前制定一个计划,在比赛中随机应变. 2.Scrum与传统开发模式 在传统开发模式中,我们通常将开发模式分为:需求.设计.编码.测试等阶段,而在Scrum中…
不知从什么时候开始,创业变得很廉价,谈什么都是互联网,动辄融资千万.这阵风好像也刮向了程序员中,有那么一大批开发者,数据结构不好好学习.数据库原理不扎实掌握,在github上发布几个项目,用nodejs创建一些服务,再用H5写出APP,就自以为迈入了高级程序员的队伍,能够运筹帷幄互联网项目,难道学习新技术.新理念就是快速成长吗,显然不完全是,在这浮躁的氛围中,各种粗制滥造的互联网网站.APP接踵而至,很多看似漂亮的APP,连简单的http接口安全都没有措施应对,很多美丽的响应式网站,目录结构随意…
敏捷开发(Agile development) 敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征.换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态. 敏捷开发的路线图: Test-Driven Development,测试驱动开发. 它是敏捷开发的最重要的部分.在ThoughtWorks,我们实现任何一个功能都是从测试开始,首先对业务…
1.  请简述一下什么是敏捷开发(Agile Development),以及什么是持续集成.  敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征.换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态.. 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都…
http://blog.csdn.net/happylee6688/article/details/21551065 上篇文章,我们探讨了什么是敏捷开发,以及敏捷开发的方法学.在这篇文章中,我们将继续讨论敏捷开发中的问题——XP极限编程.   在讨论之前,先让我们来了解一下XP极限编程产生的背景,软件业所具有的共同的问题.   背景 软件越来越复杂 需求越来越多变 过程越来越规范 了解了背景之后,那么就会想问,到底什么是极限编程呢?下面我们就做一个简单的介绍.   XP概述   极限编程(eXt…