列表

详情


论敏捷开发在企业软件开发中的应用
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。尽管目前敏捷开发的具体名称、理念、过程、术语尚不尽相同,但业界普遍认为:相对于“非敏捷”,敏捷开发更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。

参考答案:


详细解析:

一、概要叙述你参与实施的应用敏捷开发的企业项目以及你所担任的主要工作。
二、叙述你在该企业项目实践过程中采用的敏捷开发基本原则并说明理由
2001年2月的“敏捷宣言”(Agile Manifesto)是由多位当时称之为“轻量级方法学家”所编写签署的,他们的价值观是:个人与交互重于开发过程与工具;可用的软件重于复杂的文档;寻求客户的合作重于对合同的谈判;对变化的响应重于始终遵循固定的计划。
1)个人与交互重于开发过程与工具:一个由优秀的人员组成但使用普通的工具,要比使用优秀的工具但由普通人组成、紊乱的小组做得更好。多年来人们花了很多时间试图建立一种过程,以便把人当作机器上的一个可以替代的齿轮,但结果却并不成功。敏捷过程是承认每个人都有特定的能力(以及缺点)对之加以利用,而不是把所有的人当成一样来看待。更重要的是,在这样的理念下,几个项目做下来,每个人的能力都从中得以提高。这种人的能力的提高,对公司是无价之宝。而不至于把人当成齿轮,随着时间的推移,人的能力慢慢被消耗掉,最后变成留之无用、弃之可惜的尴尬人物。
2)可用的软件重于复杂的文档:可用的软件可以帮助开发人员在每次迭代结束的时候,获得一个稳定的、逐渐增强的版本。从而允许项目尽早开始,并且更为频繁的收集对产品和开发过程的反馈。随着每次迭代完成软件的增长,以保证开发小组始终是处理最有价值的功能,而且这些功能可以满足用户的期待。
3)寻求客户的合作重于对合同的谈判的原因:敏捷开发小组希望与项目有关的所有团体都在朝共同方向努力,合同谈判有时会在一开始就使小组和客户处于争执中。敏捷开发追求的是要么大家一起赢,要么大家一起输。换句话说,就是希望开发小组和客户在面对项目的时候,以一种合作的态度共同向目标前进。当然,合同是必需的,但是如何起草条款,往往影响到不同的团体是进行合作式的还是对抗式的努力。
4)对变化的响应重于始终遵循固定的计划:敏捷开发认为对变化进行响应的价值重于始终遵循固定的计划。他们最终的焦点是向用户交付尽可能多的价值。除了最简单的项目以外,用户不可能知道他们所需要的所有功能的每个细节。不可避免地在过程中会产生新的想法,也许今天看起来是必需的功能,明天就会觉得不那么重要了。随着小组获得更多的知识和经验,他们的进展速度会比开始的时候期望值慢或者快。对敏捷开发来说,一个计划是从某个角度对未来的看法,而具有多个不同的角度看问题是有可能的。
(针对所承担项目的具体问题和特点,围绕敏捷开发基本原则的1项或多项进行论述均可)
三、具体阐述该企业采用的具体敏捷开发方法,以及实施的效果。
常见的敏捷开发方法有极限编程,Scrum,水晶方法等。
极限编程是敏捷软件开发中最富有成效的几种方法学之一,是敏捷过程的一种具体形式,提供敏捷方法最一般原则的指导方针,包括5项价值标准和12个实践操作。极限编程的主要目标在于降低因需求变更而带来的成本,极限编程透过引入基本价值、原则、方法等概念来达到降低变更成本的目的。
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括Scrum主管,产品负责人和开发团队。它使用迭代的方法,把每个30天一次的迭代称为一个“冲刺(sprint)”,按照需求优先级别来实现产品。多个自组织和自治小组并行递增地实现产品。通过简短的日常情况会议(称为“Scrum”)进行。
水晶敏捷方法发展和提倡了一种机动性的软件开发方法,定义了一系列方法,包含核心元素,角色、过程模式、工作产品和实践。水晶敏捷方法实际是一组经过证明对不同类型项目都非常有效的敏捷过程,其目的是使得敏捷团队可以根据其项目和环境选择最合适的水晶系列成员。
(论述只需说明一种具体的敏捷开发方法)

上一题