您的位置:首页 > 其它

浅谈「敏捷」开发

2016-09-15 15:40 148 查看

敏捷软件开发宣言

  敏捷开发以
用户的需求
进化为核心,采用
迭代
循序渐进
的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

  在2001年,17位编程大师共同发布
《敏捷软件开发宣言》
。其他的核心思想可以分为以下四个部分:

“人”以及“人与人的互动” > “过程”和“工具”;

可运行的软件 > 面面俱到的文档;

客户合作 > 合同谈判;

响应变化 > 遵循计划。

  基于《敏捷软件开发宣言》的思想,其共有
12条原则
,这里不一一叙述,可以在这里查看详情。

敏捷过程模型

1. 特点

  开发过程中的“变化”无处不在,也是不可避免的。在实际项目中,很难预测需求和系统何时以及如何发生变化,并且对于开发者来说,要将变化的意识贯穿在每一项开发活动中。面对这写要求,
敏捷开发
应运而生。所有敏捷过程模型都遵循敏捷软件开发宣言和敏捷原则,每种模型又各有特点,一下介绍两种:
XP
SCRUM


2. XP(extreme programing)

背景:

1996年由__Ken Beck等人提出,著名书籍:《Extreme Programing Explained:Embrace Change》__。

基本观点:

软件开发是人与人合作进行的过程,因此成功的软件开发过程应该充分利用人的优势,而弱化人的缺点,突出人在软件开发过程中的作用。

适用范围:

XP适合规模小,进度紧,需求变化大,质量要求严的项目。功能需求可以固定的,可以作比较精确的需求设计的,生命周期很长的,超大型软件项目不适于适用XP方法。

核心价值观:

沟通问题往往是由于开发人员与设计人员,设计人员与客户之间的沟通不畅造成的;

简单在系统可运行的前提下,做最简单的工作。时刻保持代码的简单,无冗余;

反馈尽快获得用户反馈,越详细越好,使得开发人员能够保证自己的成果符合用户的需要;

勇气“拥抱变化”对于用户的反馈,要用于对自己的代码进行修改,丢掉坏的代码。

XP设计过程:

XP Planning:计划阶段

XP Design:设计阶段

XP Coding & Testing:编码与测试阶段



3. SCRUM

背景:

1990年代由__Schwaber & Beedle__提出并实践。

特点:

整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周。使用产品Backlog来管理需求,是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表(backlog)。在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量。

基本过程:

找出完成产品需要做的事情;

决定当前的冲刺需要解决的事情;

冲刺冲刺Sprint;

每日站会。

常用方式:

Sprint Burndown Chart


Task board


个人总结

  我个人认为敏捷开发中最重要的因素是:

  通过对《敏捷软件开发宣言》的学习,
“人与人的合作交流”
就一个敏捷软件开发项目是否成功的主要因素。所以在软件软件开发过程中,开发者的编程环境需要做到尽量的开放,而且尽量实现
“结对编程”
,这样才能使得开发过程变得不易于原计划脱轨,大大增强了开发的成功率。

  而对于较为典型的SCRUM和XP这两种敏捷过程模型,Scrum注重的是管理和组织实践,而XP关注的是实际的编程实践,两者都聚焦于信息价值流和信息沟通除了迭代长度稍有差别外,大多数Scrum实践与XP是兼容且相互补充。

  所以说:组合使用Scurm和XP会有显著收获!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: