This commit is contained in:
DanHaoPKU 2019-10-31 19:57:09 +08:00
commit 40127a08ba
1 changed files with 1 additions and 1 deletions

View File

@ -145,7 +145,7 @@
\subsubsection{敏捷软件开发}
1990年代有很多批评是针对一些僵化的对软件工程的过度监管、计划和微观管理等重量级方法许多轻量级方法得以发展其中包括快速应用开发RAD以及其它一些技术包括统一过程UP和动态系统开发方法DSDMScrum、Crystal Clear和极限编程XP特征驱动开发等。
2001年17位软件开发人员\footnote{Kent BeckWard CunninghamDave ThomasJeff SutherlandKen SchwaberJim HighsmithAlistair CockburnRobert C. MartinMike Beedle Arie van BennekumMartin FowlerJames GrenningAndrew HuntRon JeffriesJon KernBrian Marick和Steve Mellor。}讨论这些轻量级开发方法,随后发布了“敏捷软件开发宣言”,包含如下十二项原则[22]1通过尽早和持续交付有价值的软件来实现客户满意度2即使在项目后期也要拥抱不断变化的要求3经常性地按周而不是按月提供可工作的软件4业务人员和开发人员密切合作5项目围绕带有动机目的的人建立他们要得到信任6面对面交谈是最好的沟通方式7可工作的软件是项目进展的主要衡量标准8可持续地向前推进保持稳定的步伐9不断关注技术进展和良好设计10简单性 - 最大化未完成工作量的艺术 - 至关重要11最好的架构、要求和设计来自自我组织的团队12团队经常性反思如何变得更有效并据此进行相应地调整。
2001年17位软件开发人员\footnote{Kent BeckWard CunninghamDave ThomasJeff SutherlandKen SchwaberJim HighsmithAlistair CockburnRobert C. MartinMike Beedle Arie van BennekumMartin FowlerJames GrenningAndrew HuntRon JeffriesJon KernBrian Marick和Steve Mellor。}讨论这些轻量级开发方法,随后发布了“敏捷软件开发宣言”,包含如下十二项原则\footnote{Principles behind the Agile Manifestohttp://agilemanifesto.org/principles.html}1通过尽早和持续交付有价值的软件来实现客户满意度2即使在项目后期也要拥抱不断变化的要求3经常性地按周而不是按月提供可工作的软件4业务人员和开发人员密切合作5项目围绕带有动机目的的人建立他们要得到信任6面对面交谈是最好的沟通方式7可工作的软件是项目进展的主要衡量标准8可持续地向前推进保持稳定的步伐9不断关注技术进展和良好设计10简单性 - 最大化未完成工作量的艺术 - 至关重要11最好的架构、要求和设计来自自我组织的团队12团队经常性反思如何变得更有效并据此进行相应地调整。
总之,敏捷软件开发通过自组织和跨职能团队及其客户/最终用户的协作努力使需求和解决方案不断演化发展的方法它倡导适应式规划、演化式发展、尽早交付和持续改进同时鼓励快速应变和灵活反应。实际上迭代增量开发可追溯到1957年~\cite{larman2003iterative},而演化式项目管理~\cite{gilb1981evolutionary}和自适应软件开发~\cite{edmonds1974process}也早在70年代就已经出现。他们都早于敏捷宣言并都被包含进敏捷软件开发方法。