官术网_书友最值得收藏!

第一部分 神形兼備的敏捷開發模式

第1章 從“先知后行”到“知行合一”——從傳統開發模式到敏捷開發模式

北大西洋公約組織的科技委員會在1968年10月組織了一次會議,在那次會議上,出現了“軟件工程”這個詞。50位來自11個國家的軟件用戶、軟件生產者和高校從事軟件教學的教授一起討論了下列一些軟件工程中碰到的突出問題。

隨著數據系統不斷滲透到現代社會日常活動中,如何保證這些系統的可靠性成了一個日益突出的問題。

大的軟件項目的進度及特性需求難以控制。

軟件工程師的再教育。

軟件的定價是否要和硬件分開。

除了第4個問題外(今天軟件的價格常常已經超過了硬件的價格),其他3個問題在今天依然是讓我們頭痛的問題。隨著互聯網變成公眾生活中不可缺少的部分,軟件系統的應用比當年多出了百倍,而質量成本依然是軟件項目的殺手。軟件產品的需求比以往更加難于控制,需求蔓延(requirement creep)是軟件開發中最常見的風險之一。IT行業技術變化之快遠超其他行業,學習新的技術、方法是軟件工程師常態工作的一部分。

根據這些問題,在這次會議上首次提出了“軟件危機”的問題。會后不久,Winston Royce(1970)博士根據制造業的實踐,提出了一個至今依然影響軟件業的開發模式——瀑布式軟件開發生命周期,希望能夠借鑒其他行業的經驗,解決軟件開發中的問題。但40多年后,危機并沒有消失,依然威脅著軟件公司的生存發展。

近20年來,越來越多的軟件工程實踐者開始了深層次的反思:問題出在哪里?解決問題的方向又在哪里?在反思的同時,一些有勇氣的軟件工作者開始了新的探索。他們在軟件開發過程中,嘗試了新的實踐,并不斷總結交流,形成了我們今天看到的敏捷宣言、敏捷原則、敏捷實踐以及敏捷方法與傳統方法結合的實踐。今天我們比以往任何時候都更接近找到解決軟件危機之匙。

我們首先審視下列4個問題。

(1)什么是成功的項目?項目中的決策應該由什么來驅動?

(2)Royce博士提出的瀑布開發模式真的適用于復雜軟件產品開發嗎?

(3)復雜軟件項目的特點是什么?

(4)根據復雜軟件項目特點,我們需要建立一個什么樣的開發模式?

通過對這4個問題的討論,希望讀者能意識到為什么“先知后行”的傳統開發模式會讓我們在原地踏步,很難走出軟件危機的圈子。走出瀑布模式,擁抱“知行合一”的敏捷方法才可能是解決軟件危機的正確思路。在這里我雖然借用了王陽明的核心理念,但要表達的意思遠遠沒有達到王陽明先生表達的深度。在本書中,“先知后行”指的是確定了實現目標要走的路再開始行動,也就是在項目前期,確定產品范圍、實施方法后,才開始軟件開發活動。“知行合一”指的是明確了愿景后,盡管我們不完全清楚到達目標的路徑,但我們先往前走,邊走邊看邊調整,在開發中學習、總結、調整、提高,逐步實現客戶需要的產品。

主站蜘蛛池模板: 卓尼县| 永年县| 台中县| 西昌市| 正蓝旗| 枞阳县| 孟州市| 商洛市| 房山区| 蛟河市| 闽侯县| 闽侯县| 隆尧县| 小金县| 庆城县| 泰来县| 手游| 博乐市| 盐边县| 广南县| 上高县| 颍上县| 桐庐县| 贵港市| 班玛县| 德兴市| 沾益县| 临沭县| 昭平县| 山西省| 吐鲁番市| 东丰县| 安康市| 黄梅县| 兴山县| 赤城县| 吉首市| 淮北市| 平果县| 荃湾区| 阳谷县|