- 世界500強互聯網產品經理管理筆記
- 韓偉
- 1071字
- 2024-01-05 16:25:35
三、需求變化帶來的問題
這個問題始終貫穿著軟件開發的歷史,在進入互聯網時代之前,需求變化已經是“臭名昭著”了。需求變化可能來自于一個喋喋不休的老板,或者是那些心比天高的用戶,又或者是強悍的競爭對手,市場部的兄弟姐妹們也經常充當這個“可恨”的角色。當然,還有一些是開發者給自己挖的坑。而要滿足這些需求,開發團隊能用的工具顯得如此之少,幾乎只剩下一個選擇,就是加班。不管是做出來的產品不是客戶想要的,還是做出來的產品有大量的BUG,又或者是根本就追不上發布計劃,總之大多數公司都會下令:做完為止。
需求變化內容也令人難以捉摸,有的是要增加功能,有的是要限制功能,還有的是要求恢復以前的舊功能。從一兩個界面的文字修改、按鈕大小的調整,到整個功能幾乎全部不能用的都有。有時候這種需求還非常緊急,昨天才說半年后可能需要,今天又說明天就要。開發團隊對于這些需求變化導致的代碼質量下降,往往無可奈何。
需求不斷地變化,導致軟件遲遲不能交付,加上需求變化似乎飄忽不定,原定架構無論怎樣高瞻遠矚都無法涵蓋,而對于軟件的頻繁修改,更是帶來了大量的缺陷,這里我們有一個通用的叫法:BUG。
需求的持續變化,帶來了更多深層次的問題,最核心的就是開發團隊的士氣問題。“人心散了,隊伍就不好帶了”,無止境的需求變化就會帶來無止境的BUG,以及無止境的重構甚至推倒重寫,然后就是無止境的加班。開發團隊人員越來越疲勞,對項目失去信心,得過且過,或者直接跳槽。
如果開發人員跳槽了,就算能找到別人接手,新人面對一大堆別人寫的、修修補補的代碼,也是一個巨大的挑戰,于是項目需要停下來等新程序員掌握舊代碼,最終導致越來越多地拖延進度。需求變化就如同一個潘多拉盒子,一旦打開,就會引發后續的連鎖反應,直至把項目拖入失敗的深淵。大量的軟件項目都是死于“做不完”和“趕不及”,而很少是死于“做不出來”。
經典軟件項目管理書籍把“需求變化”比喻為焦油坑——很多史前巨獸,如猛犸象、劍齒虎一旦陷進了焦油坑,無論它們如何掙扎,最終都會越陷越深,以致遭受滅頂之災。這些焦油坑保留到現在,也是這些史前巨獸的化石寶庫,可以讓現在的人來研究。而那些大量的因為需求變化而失敗的項目,也是我們現在用來研究軟件項目管理的最好資料。
無論多么強大的軟件公司,或者是技術多么高超的程序員,面對軟件項目時,經常都會發現自己處于一個項目的焦油坑中:無論是繼續增加人手、投入資金還是購買服務,都無法順利地結束這個已經延遲了很久的項目。只能眼睜睜看著所有人在項目里無望地掙扎。而軟件項目管理的知識,就是一種避免開發團隊陷入這種“焦油坑”的經驗。