敏捷、精益与面向服务开发:连续性还是鸿沟?
在当今软件行业的快速发展中,敏捷、精益和面向服务开发等概念不断涌现,它们各自代表着不同的软件开发理念和方法。这些概念究竟是短暂的潮流、过度的炒作,还是真正的范式转变?它们之间是否存在连续性,又是否会出现难以跨越的鸿沟?本文将深入探讨这些问题。
1. 软件开发的时代划分
软件开发的发展历程可以划分为三个时代:前敏捷时代、敏捷时代和后敏捷时代。
前敏捷时代又可细分为两个阶段。早期计算机时代,软件开发以批处理计算和编写单个程序为主,技术可靠性低,软件规模有限。当时,结构化编程方法盛行,如基于自顶向下设计原则的多种方法,同时也出现了一些系统设计方法。此外,项目管理工具如PERT图、关键路径法等开始应用于软件开发,瀑布模型逐渐成为主导开发方法。随后的Evo - IID阶段,系统规模和复杂度不断增长,过程成熟度文化达到顶峰,如CMM、Spice或ISO15504等模型广受欢迎。同时,项目管理、产品线管理和IT基础设施管理等模型也得到发展。不过,这一时期也为敏捷方法的诞生奠定了基础,如螺旋模型和进化开发方法等。
敏捷时代始于2001年敏捷宣言的发布,它强调个体与交互、工作软件、客户协作和响应变化。在这一时代,涌现出了众多敏捷方法,如Scrum、DSDM、Crystal等。敏捷方法的承诺包括快速交付有价值的软件、适应需求变化、促进团队协作等。然而,将敏捷方法从团队层面扩展到大型组织面临诸多挑战,如项目管理、产品和应用管理、程序管理等方面的矛盾。
后敏捷时代,服务导向和复杂性成为软件发展的重要趋势。服务主导逻辑逐渐取代商品主导逻辑,软件作为服务(SaaS)的模式越来越普遍。同时,复杂性理论和复杂自适应系统(CAS)
超级会员免费看
订阅专栏 解锁全文
5065

被折叠的 条评论
为什么被折叠?



