Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

9.2. 需求變更

9.2.1. 為什麼會變更

為什麼會出現變更呢?常規變更我們先不提(正常的變更例如部署的變化,軟件的升級等等),軟件開發中存在的變更更多是需求上的變化,為什麼會出現需求變更呢?很多開發人員非常困惑。

我們再逐一分析:

  1. 崗位的變化

  2. 專業的問題

  3. 缺乏詳細設計文檔

崗位的變化,早期軟件開發是沒有產品這一崗位,那時的需求分析是由系統分析員完成的,同時還要做一個詳細設計文檔,前者需要一定的技術背景,後者更資深,那時的變更反倒很少。

進入互聯網時代,出現了產品這個崗位,這個崗位總體上參差不齊,年齡偏低,經驗少,常常工作3~5年,產品這個崗位再大學裡並沒有這個專業,也就沒有一個標準,所以這個行業的人來自五花八門的專業。任何一個崗位都需要時間來積累經驗,一個經驗不足的產品人員給出的需求往往存在很多問題,甚至不合理,另一方面企業更注重產品部門,導致產品比較強勢,開發只能配合,常常是做到一般才發現需求不合理,接下來就是變更了......

這導致了一個問題,非常有經驗的開發人員不再指出產品的不合理之處,按照需求開發,出現問題走變更流程,產品害怕需求變更承擔責任,即使需求是錯誤的也要求開發完成,堅持需求沒有問題。有很多功能就不了了之

缺乏詳細設計文檔,互聯網快速變化,導致一個問題沒有時間做詳細設計文檔,軟件的生命周期也短,大家都不願意為了這麼短周期的開發去寫設計文檔,通常是按照需求直接開發,這也是需求變更頻繁的一個原因。