单独谈一谈敏捷开发

2020-07-23 20:06:29 浏览数 (1)

传统软件开发模式开发流程冗长、适应性差的特点使得它根本无法在现代软件开发上被广泛使用,于是,人们又提出了一种强调快速、灵活的敏捷软件开发方法。

敏捷软件开发通过迭代的开发手段解决了应对变化的问题,满足了对需求变化的快速响应。简单来讲,敏捷开发不同于瀑布模式,敏捷开发更像是一种模块化的开发。

开发者不用在系统设计之初就设计好所有的需求,而可以先针对某一功能进行开发,开发完成后可以单独就这一功能向客户展示,这时如果客户提出其他需求,我们可以及时添加相应的功能,而无需对系统的基础设计结构进行改动。

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

首先通过初期基本分析和设计,开发出相应软件产品,此时的工作不是做大量周密的软件测试,而是产品基本合格之时就将其投放市场,通过用户反馈这个大的“测试器”反映出软件产品当前存在的问题,问题包括但不局限于:软件功能改进、软件故障、用户体验改进等。

通过这样一次次循环,敏捷软件开发能及时捕捉并响应用户的需求,同时还能做到软件一直保持可用状态。

迭代

从技术的角度来 看,软件开发能够视为一连串的迭代过程,通过这些迭代被开发的软件得以增量演进。每次迭代都以一个可运行的产品的公布而结束, 该产品可能是完整版本号的一个子集,但从project的或用户的角度来看是实用的。每次公布都伴随一些支持性工件:版本号描写叙述、用户文档和计划等。

一次迭代包含下面活动:计划、分析、设计、实施和测试。依据迭代在开发周期中所处位置的不同,这些活动分别占不同的比例。

管理角度和技术角度之间是协调的,并且各个阶段的结束还和各次迭代的结束保持同步。换句话说,每一个阶段能够分为一次或多次迭代过程。

2.2 开发准则

1,最重要的是通过尽早和不断交付有价值的软件满足客户需求。

  敏捷开发中,不必等到项目开发完成后再给用户进行展示,每当实现一个功能,就可以及时展现给客户,这种反馈更为及时。

2,欢迎需求的变化,即使在开发后期。驾驭变化,保持客户竞争优势。

  敏捷开发是一个迭代的过程,在开发过程中任何的需求变化,可以及时回到软件设计层进行功能的添加或改变,针对需求变化做出及时的响应。

3,经常交付可以工作的软件,从几星期到几个月,时间尺度越短越好。

  迭代的开发流程保证了可以及时产生成果展示给客户,这一条和第一条类似。

4,业务人员和开发者应该在整个项目过程中始终朝夕在一起工作。

  针对其快速响应需求变化的特点,业务人员与开发者一起工作可以使开发出的软件更加符合客户的需求。

5,给开发者提供适宜的环境,满足他们的需求并相信他们可以完成任务。

  信任在开发过程中也尤为重要。

6,在开发小组中最有效率也最有效的信息传达方式是面对面的交流。

  面对面交流对信息的传递更为准确,开发者可以更准确的了解客户的需求。

7,可以工作的软件是进度的主要度量标准。

  每次迭代的过程都会产生一个可以展示的功能反馈给客户,让客户了解项目进展情况,并且及时给出反馈意见。

8,敏捷过程提倡可持续开发。出资方,开发人员和用户应该能够保持恒久稳定的进展速度。

9,对卓越技术与良好设计的不断追求将有助于提高敏捷性。

10,要做到简洁即尽最大可能减少不必要的工作。

11,最好的架构,需求和设计都源自自我组织的团队。

12,每个一段时间,团队都要总结如何更有效率,然后相应的调整自己的行为。

0 人点赞