轻载方法论的研究者们逐渐发现他们的方法与“敏捷性”的理念殊途同归。2001年2月,在美国犹他州,17位新软件开发方法的创始人和专家,共同发布了“敏捷软件开发宣言”,这个宣言在软件项目管理的发展历史上具有划时代的意义,第一次明确阐述了软件项目管理的敏捷思想。之后,大量敏捷软件开发的著作发表,各种敏捷项目管理理论的研究进一步融合和深化,获得迅速的发展。
在对各种轻载方法的理论总结基础上,Highsmith以复杂自适应系统理论为基础,详细解答了敏捷软件开发的几个重要的基本问题,对敏捷性的概念作出了精辟的阐述,正式提出了敏捷软件开发生态系统(Agile Software Development Ecosystem, ASDE)的概念,而且研究了敏捷软件开发生态系统的开发设计和评价方法。Cockburn系统地提出了敏捷方法论的基本语汇和概念,包括方法论的基本要素和方法论的可度量属性,而且提出了敏捷方法论设计与评价的7项原则。在此基础上,对XP方法进行了简单的分析,提出了调整的意见。Cockburn还提出一种动态的方法构造方式——即时方法构建(JIT Methodology Construction),利用项目团队中的人员的力量动态的构建一个柔性的方法论。Pekka Abrahamsson等以统一的形式对各种敏捷方法进行了分析并进行了综合比较。Sanjiv Augustine基于复杂自适应系统模型提出了敏捷项目管理框架(APM)。提出了六个关键的实践。
敏捷测试、敏捷建模、敏捷设计等理论不断被提出来,Robert.C.Martin以敏捷软件过程思想为指导,提出新的软件设计理论和技术。
敏捷方法在国内还很少有人提出自己的方法和理论,一些学者在推广敏捷软件开发理念上已经做了许多有价值的工作,并且提出了一些针对国内软件开发组织的观点和技术,但应用实践还限于很较小的范围。林星对敏捷方法的理论和实践都进行了大量的探索,以过程模式概念分析和阐述敏捷思想和敏捷软件过程的应用。王东刚从软件测试入手,比较系统地提出了敏捷测试概念、原则、过程、人员和成熟度模型。
敏捷方法的应用是一个热点问题,强调敏捷过程适用于特定的环境——高风险、不可预测、小规模的探索型软件研发项目。在经过大量项目的实际验证后,人们开始探讨在敏捷过程在大型项目上的应用。Austin和Richard Nolan研究了有关大型企业信息化项目的问题,建议采用渐进模式,通过迭代的、快速的、频繁交付的周期,使项目产品的功能在项目早期以某种形式交付用户使用。2002年,许多讨论集中在敏捷方法和CMM/ISO9000方法的辩论上,CMM和ISO9000依赖于过程、计划、合同的方法与敏捷方法有太大的冲突,计划驱动的方法与敏捷方法隔离在两个不同目的应用范围。但到2003年,人们开始讨论敏捷理念与传统实践的融合,一些CMM和ISO9000的组织开始接受部分的应用敏捷方法,在不影响认证系统的情况下提高软件开发的效率。
随着过程理论与管理理论的成熟,软件过程经历了:“自由开发→工作流→网络计划→过程域集合→过程能力模型→方法→方法论→敏捷软件开发生态系统”这样一个发展历程,图 1.1。
软件开发过程的成长历程
软件过程管理研究与实践的发展表现在对两个重要的关系的不同观点:过程与变化的关系、过程与人的关系。
软件过程管理的发展趋势体现在:对于变化的态度由抵制变化,发展到适应变化,进而主动的创造变化;对于过程的态度,由以过程为中心,发展到以人为中心,进而建立人与过程平衡发展的和谐系统。
上一篇:微软SCRUM模型 下一篇:敏捷软件开发的软件过程改进怎么进行? |