软件开发过程变迁史
20世紀50年代:
軟件開發與計算機硬件生產和調試集成在一起。僅僅在硬件工程中加入了編碼、測試等相關的軟件開發活動。
20世紀60年代:
開發人員逐漸意識到軟件易于修改、容易復制產生新副本等不同于硬件的特點,開始采用特定的方法開發軟件,形成軟件工藝的概念。典型的開發方法是編程加修復。
20世紀80-90年代:
研究人員提出“軟件過程等重要的概念也是軟件”,揭示了開發優秀軟件過程重要性,引入了過程需求、過程架構、過程變更等概念。1991年CMU SEI研發了一系列評估軟件開發能力成熟度的方法框架CMM,用于評估和改進軟件過程。2000年,CMM發展為CMMI(能力成熟度模型集成)。
20世紀90年代后期:
為了應變多變的需求,出現了多種具有快速迭代反饋、適應需求變化等相對輕量級特點的敏捷方法,與傳統的注重計劃、控制變更的方法形成對比。敏捷方法強調更快地交付高價值的產品,形成了極限編程、scrum等方法為代表的多種敏捷開發實踐。
進入21世紀以后:
傳統的重量級軟件過程和新興的敏捷軟件過程都在不同領域得到了發展。大量軟件開發需求隨著互聯網的普及朝著快速、易變的方向發展,因此敏捷方法被廣泛應用。同時敏捷方法也被應用到了軟件運行維護方面。2009年DevOpsDays會議提出了DevOps。
近年來:
對軟件過程探討更加聚焦于軟件開發效能和質量的提升方法。各大企業不斷推進持續集成、持續交付在軟件開發中的使用,形成了多種頗具成效的軟件過程實踐。
總結
- 上一篇: 平衡方案
- 下一篇: 乘的英语计算机和驾驶三门课程,新视野英语