Merge branch 'master' of http://git.trustie.net/Dan_Hao/software-strategy-book
This commit is contained in:
commit
40127a08ba
|
@ -145,7 +145,7 @@
|
|||
\subsubsection{敏捷软件开发}
|
||||
1990年代,有很多批评是针对一些僵化的对软件工程的过度监管、计划和微观管理等重量级方法,许多轻量级方法得以发展,其中包括快速应用开发(RAD)以及其它一些技术,包括统一过程(UP)和动态系统开发方法(DSDM),Scrum、Crystal Clear和极限编程(XP),特征驱动开发等。
|
||||
|
||||
2001年,17位软件开发人员\footnote{Kent Beck,Ward Cunningham,Dave Thomas,Jeff Sutherland,Ken Schwaber,Jim Highsmith,Alistair Cockburn,Robert C. Martin,Mike Beedle ,Arie van Bennekum,Martin Fowler,James Grenning,Andrew Hunt,Ron Jeffries,Jon Kern,Brian Marick和Steve Mellor。}讨论这些轻量级开发方法,随后发布了“敏捷软件开发宣言”,包含如下十二项原则:[22](1)通过尽早和持续交付有价值的软件来实现客户满意度;(2)即使在项目后期,也要拥抱不断变化的要求;(3)经常性地(按周而不是按月)提供可工作的软件;(4)业务人员和开发人员密切合作;(5)项目围绕带有动机目的的人建立,他们要得到信任;(6)面对面交谈是最好的沟通方式;(7)可工作的软件是项目进展的主要衡量标准;(8)可持续地向前推进,保持稳定的步伐;(9)不断关注技术进展和良好设计;(10)简单性 - 最大化未完成工作量的艺术 - 至关重要;(11)最好的架构、要求和设计来自自我组织的团队;(12)团队经常性反思,如何变得更有效,并据此进行相应地调整。
|
||||
2001年,17位软件开发人员\footnote{Kent Beck,Ward Cunningham,Dave Thomas,Jeff Sutherland,Ken Schwaber,Jim Highsmith,Alistair Cockburn,Robert C. Martin,Mike Beedle ,Arie van Bennekum,Martin Fowler,James Grenning,Andrew Hunt,Ron Jeffries,Jon Kern,Brian Marick和Steve Mellor。}讨论这些轻量级开发方法,随后发布了“敏捷软件开发宣言”,包含如下十二项原则\footnote{Principles behind the Agile Manifesto:http://agilemanifesto.org/principles.html}:(1)通过尽早和持续交付有价值的软件来实现客户满意度;(2)即使在项目后期,也要拥抱不断变化的要求;(3)经常性地(按周而不是按月)提供可工作的软件;(4)业务人员和开发人员密切合作;(5)项目围绕带有动机目的的人建立,他们要得到信任;(6)面对面交谈是最好的沟通方式;(7)可工作的软件是项目进展的主要衡量标准;(8)可持续地向前推进,保持稳定的步伐;(9)不断关注技术进展和良好设计;(10)简单性 - 最大化未完成工作量的艺术 - 至关重要;(11)最好的架构、要求和设计来自自我组织的团队;(12)团队经常性反思,如何变得更有效,并据此进行相应地调整。
|
||||
|
||||
总之,敏捷软件开发通过自组织和跨职能团队及其客户/最终用户的协作努力,使需求和解决方案不断演化发展的方法,它倡导适应式规划、演化式发展、尽早交付和持续改进,同时鼓励快速应变和灵活反应。实际上,迭代增量开发可追溯到1957年~\cite{larman2003iterative},而演化式项目管理~\cite{gilb1981evolutionary}和自适应软件开发~\cite{edmonds1974process}也早在70年代就已经出现。他们都早于敏捷宣言,并都被包含进敏捷软件开发方法。
|
||||
|
||||
|
|
Loading…
Reference in New Issue