軟件設計真的有價值麼?

本文是馬丁.福勒的一篇文章的閱讀筆記。

原文:https://martinfowler.com/bliki/DesignStaminaHypothesis.html

主要內容

  1. 在軟件開發中,開發人員常常受困於進度壓力而(主動或被動)在軟件設計上做妥協

  2. 軟件設計有助於讓軟件長期發展。不在軟件設計上投入精力,短期來看可能會進展比較快,但是項目代碼也會很快惡化,慢慢需要越來越長的時間去增加新的功能。

  3. 在需要的時候,也可以在軟件設計上進行妥協,但是是有條件的:軟件設計的權衡線(如下圖所示,橫軸是時間、縱軸是軟件功能),在這個線之下,爲了市場需求可以暫時先不考軟件設計,在這個線之上,如果不進行良好的軟件設計則無法獲得任何好處。

我的思考

在最近的一個項目中,剛開始我也沒有理解設計的好處,急慌慌得想早點寫系分文檔、做系分評審、早點開始寫代碼,而與我同組的同事則不然,他覺得應該先投入足夠多的時間做設計——項目組裏的每個人都要認真思考和設計,然後在進行碰頭會議,將大家的思考合併。我們在討論過後,決定投入1~2周時間做設計,先將項目的核心模型設計並推理清楚,然後分成幾個主要的業務模塊做詳細設計。從當前項目的進展和質量看來,這個設計的靈活性足夠支持未來幾個月的需求,項目確實從設計中獲得了不小的收益。

備註

這段時間在思考,公衆號應該寫什麼樣的內容。最近閱讀了一本《微習慣》,受它的啓發,準備在未來一段時間自由發揮,每次就寫一個小的觀點(技術、管理、生活都可能),但是一定是自己思考過後的。希望在新的一段旅程中,繼續互相學習和進步。


個人微信號,歡迎添加

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章