个体和交互重于过程和工具
敏捷方法认为,人是软件开发中最重要的因素。开发团队成员之间有效的交流、沟
通与协作,比单纯的编程能力更为重要。人与人面对面的交流,是最有效、最迅速的交
换信息的方式
可以工作的软件重于面面俱到的文档
过多的文档需要开发人员花费大量时间来维护。文档应该是为程序服务的,因此应
当短小精悍、易于维护,而且主题突出。敏捷方法认为最根本的文档就是源码。
客户协作重于合同谈判
客户对产品的需求是不断变化的,试图在合同中规定项目的细节和进度显然无法应
对不断变化的需求。只有开发团队和客户之间真诚的协作,加上频繁的客户反馈,才能
让项目走向成功。
随时响应变化重于循规蹈矩
客户的需求可能在项目开发过程中不断变化,即使是在合同谈判阶段确定的需求,
也可能在客户看见了逐渐成型的产品之后而发生改变。敏捷方法欢迎并且随时准备应对
变化。制定计划的时候应该尽量简洁、灵活,使其能适应技术和需求方面的变化。可以
说,随时响应变化的能力往往决定着一个项目的成败。
敏捷开发方法的核心思想概括起来就是“适应变化”和“以人为本”。
(1)敏捷开发方法是面向人的而非面向过程的。
敏捷开发认为人是软件开发中最重要的因素,而且人工作的环境很复杂。它希望使
软件开发工作顺应人的天性而非逆之,强调软件开发应当是一项令人愉悦的活动,因此
它们注重调动人的积极性、主动性和创造性,并培养人在工作中的自豪感。敏捷开发的
理念就是信任开发团队能够很好地完成任务,所有的管理都是围绕这个理念展开的。
(2)敏捷开发方法是“主动适应的”而不是“预先设定的”。
瀑布模型等传统软件开发过程试图对一个软件开发项目在很长的时间跨度内作出
详细的计划,并形成详细的文档,然后依照计划进行开发。这类方法在计划制定完成后
拒绝变化,后期的需求变化将会花费极大的代价。而敏捷开发方法则乐于迎接变化,其
实,它的目的就是成为适应变化的过程。另外,据统计,很多软件产品的功能中,客户
常用的功能只占20%左右,其他大部分功能是客户很少使用甚至基本不用的。在这种
情况下,采用瀑布方式在详细设计阶段所设计出的功能,其实很多是不必要的,这将浪
费很多资源。在敏捷开发中,要求客户始终参与整个开发过程,这使得敏捷团队能不断
地获得客户反馈,不断适应需求的变更,从而使最终的产品充分符合客户的要求,也极
大地减少了资源的浪费。敏捷开发的理念认为未来的开发过程是不可详细预知的。
分享到:
相关推荐
本书《轻松Scrum之旅:敏捷开发故事》就是基于敏捷开发思想的实践经验,讲述了一个外企的一个新团队如何从零开始实施敏捷,经历挫折、失败、进步、成长,直到项目成功结束的故事。本书的创作完全是由 4 位作者共同...
敏捷开发是一种强调...敏捷开发和Scrum之旅不仅仅是关于技术和工具,更是一种团队文化、工作方式和思维模式的转变。通过这种方式,团队能够有效地提高工作效率,增强适应变化的能力,最终提升软件质量和用户满意度。
Scrum是敏捷开发的一种具体方法,它来源于英式橄榄球,强调团队协作、自我管理和面对挑战的灵活性。敏捷开发在软件行业得到广泛应用,其核心是关注价值、消除浪费,以人为核心,采用迭代和循序渐进的方式进行软件...
轻松Scrum之旅(一本介绍Scrum个人经历的实践指导教材)