为什么说敏捷是必然趋势
回顾软件工程的发展历程,大致可分为如下几个阶段。1.软件作坊
20世纪60—70年代,在生产制造业中,普遍应用的是工业大型主机,软件只占一小部分。当时的软件开发处于小作坊模式,没有明确的方法与流程,软件开发主要依靠个人的能力。
2.软件工程化
随着软件规模越来越庞大,人们开始认识到,软件开发也是需要流程的。于是人们尝试用瀑布模型来控制软件的每个研发阶段。这是软件工程化的开端。
20世纪80年代后,随着PC机的广泛普及,软件企业如雨后春笋般地蓬勃发展,它们开发的软件走入了千家万户。人们开始思考如何通过规范软件企业的流程来控制软件的研发过程和软件质量。后来被广泛用于能力评估和过程改进的能力成熟度模型(CapabilityMaturityModel,简称CMM)在1991年由美国卡内基梅隆大学软件工程研究所(CMU/SEI)发布,该模型极大地推进了软件工程化在全球范围的进程。
3.敏捷和精益 进入20世纪90年代后,随着互联网时代的到来,人们越来越认识到以下软件交付问题的严重性,而这正是现有的软件工程方法所没有解决的。
[*]缺点1:耗时长,但是最终交付的产品与客户的期望偏差很大。
[*]缺点2:无法根据市场的变化动态地调整产品。
[*]缺点3:质量反馈严重滞后,软件的变更成本高。
于是人们开始探索更加轻量化的、能够快速响应变化的工程方法。在这样的背景下,软件工程迎来了第二次浪潮:敏捷软件开发。
极限编程(XP)、Scrum等各种敏捷方法相继出现。2001年,敏捷宣言诞生。2003年,精益软件大师玛丽·帕彭迪克(MaryPoppendieck)将精益思想融入软件工程中,诞生了精益软件开发原则 。
随着近几年移动互联网的快速发展,服务提供商为了抓住市场上稍纵即逝的商机,满足其不断增长的业务需求和用户体验,对软件产品有了更高的期望和要求:不仅能够在短周期内迭代交付,而且能够持续不断地按需部署到生产环境。DevOps的概念和技术正是在这个背景下诞生。
从以上历史发展进程可以看出,软件工程方法的演进是个自然的过程,其背后是技术的驱动和时代的演进。当我们从大型主机一步一步发展到移动互联网时代,必然会演变出新的工程方法和技术来适配时代的进步,以便更加快速、灵活地响应客户和用户的需求,在竞争极其残酷的时代占得先机。所以,敏捷转型是一个必然的趋势。
页:
[1]