軟體工程史 -- AI 偵探風格#
以「推理探案」的方式,追查軟體工程從 1968 年軟體危機到今日 AI 輔助程式設計的每一步: 前因是什麼?線索在哪裡?推理如何展開?後果又如何改變了整個軟體文明?
(涵蓋:軟體危機與方法學、流程與品質工程化、敏捷與開源、DevOps、AI 輔助開發)
案件卷宗(歷史年表)#
軟體危機與方法學的誕生(1968–1975)#
| 年份 | 事件 | 檔案 |
|---|---|---|
| 1968 | NATO 軟體工程會議——「軟體危機」與軟體工程的誕生 | 1968-NATO軟體工程會議.md |
| 1970 | Winston Royce 瀑布模型——線性流程與被斷章取義的回饋 | 1970-Waterfall瀑布模型.md |
| 1975 | Fred Brooks《The Mythical Man-Month》神話人月 | 1975-神話人月.md |
流程與品質的工程化(1986–1999)#
| 年份 | 事件 | 檔案 |
|---|---|---|
| 1986 | Fred Brooks《No Silver Bullet》——本質複雜度沒有銀彈 | 1986-NoSilverBullet.md |
| 1988 | Watts Humphrey CMM 能力成熟度模型(SEI) | 1988-CMM能力成熟度.md |
| 1988 | Barry Boehm 螺旋模式——風險驅動開發 | 1988-螺旋模式.md |
| 1999 | Kent Beck 極限編程 XP——TDD 與重構的紅綠燈 | 1999-極限編程XP.md |
敏捷、開源與雲原生時代(2001–2013)#
| 年份 | 事件 | 檔案 |
|---|---|---|
| 2001 | 敏捷宣言——十七位嫌犯的滑雪場密約 | 2001-Agile宣言.md |
| 2005 | Linus Torvalds Git 分散式版本控制 | 2005-Git分散式版本控制.md |
| 2009 | DevOps 與持續部署——Flickr 每天部署 10+ 次 | 2009-DevOps與持續部署.md |
| 2013 | Solomon Hykes 發明 Docker——把部署裝進貨櫃 | 2013-Docker容器.md |
| 2014 | Google 開源 Kubernetes——機房作業系統的誕生 | 2014-Kubernetes編排.md |
AI 時代(2020s–至今)#
| 年份 | 事件 | 檔案 |
|---|---|---|
| 2020s | AI 輔助程式設計(Copilot/LLM) | 2020s-AI輔助程式設計.md |
關鍵人物年表#
| 年代 | 人物 | 貢獻 |
|---|---|---|
| 1968 | NATO 會議(Bauer/Naur/Randell 等) | 軟體工程一詞與軟體危機 |
| 1970 | Winston Royce | 瀑布模型(原意為迭代) |
| 1975 | Fred Brooks | 神話人月、Brooks's law |
| 1986 | Fred Brooks | No Silver Bullet |
| 1988 | Watts Humphrey | CMM 能力成熟度模型 |
| 1988 | Barry Boehm | 螺旋模式、COCOMO |
| 1999 | Kent Beck | 極限編程 XP、TDD |
| 2001 | Beck/Fowler/Cunningham 等 17 人 | 敏捷宣言 |
| 2005 | Linus Torvalds | Git 分散式版本控制 |
| 2009 | Allspaw/Hammond/Debois | DevOps 與持續部署 |
| 2013 | Solomon Hykes | Docker 容器 |
| 2014 | Burns/Beda/McLuckie(Google) | Kubernetes 編排 |
| 2020s | GitHub/LLM 團隊 | AI 輔助程式設計 |