知乎專欄 | 多維度架構 | | | 微信號 netkiller-ebook | | | QQ群:128659835 請註明“讀者” |
為什麼會出現變更呢?常規變更我們先不提(正常的變更例如部署的變化,軟件的升級等等),軟件開發中存在的變更更多是需求上的變化,為什麼會出現需求變更呢?很多開發人員非常困惑。
我們再逐一分析:
崗位的變化
專業的問題
缺乏詳細設計文檔
崗位的變化,早期軟件開發是沒有產品這一崗位,那時的需求分析是由系統分析員完成的,同時還要做一個詳細設計文檔,前者需要一定的技術背景,後者更資深,那時的變更反倒很少。
進入互聯網時代,出現了產品這個崗位,這個崗位總體上參差不齊,年齡偏低,經驗少,常常工作3~5年,產品這個崗位再大學裡並沒有這個專業,也就沒有一個標準,所以這個行業的人來自五花八門的專業。任何一個崗位都需要時間來積累經驗,一個經驗不足的產品人員給出的需求往往存在很多問題,甚至不合理,另一方面企業更注重產品部門,導致產品比較強勢,開發只能配合,常常是做到一般才發現需求不合理,接下來就是變更了......
這導致了一個問題,非常有經驗的開發人員不再指出產品的不合理之處,按照需求開發,出現問題走變更流程,產品害怕需求變更承擔責任,即使需求是錯誤的也要求開發完成,堅持需求沒有問題。有很多功能就不了了之
缺乏詳細設計文檔,互聯網快速變化,導致一個問題沒有時間做詳細設計文檔,軟件的生命周期也短,大家都不願意為了這麼短周期的開發去寫設計文檔,通常是按照需求直接開發,這也是需求變更頻繁的一個原因。