爲何要寫軟件功能規格書?程序員
1,提升研發效率:可以在開始研發以前設計好軟件,在設計的時候就暴露全部可能的邏輯問題可用性問題從而調整,而不是在研發的時候,從而大幅度提升效率,下降研發損耗。編程
2,提升對合做夥伴的溝通效率: 便於設計,測試,運維,客服,運營等等合做夥伴來學習和了解軟件,而不用把全部內容都用一遍同時還要打擾 程序員不斷追問,才知道這是什麼,該怎麼用,有什麼效果。而合做夥伴會面向用戶,告訴用戶這個軟件該怎麼用。運維
3,沒有軟件功能規格書,就沒法制定進度表。編程語言
什麼是規格書?學習
簡單來講就是說明這個軟件是作什麼用的。測試
軟件功能規格書是一個正式文檔,它用來爲軟件開發者詳細描述一個產品的潛在功能,表現以及與用戶的交互性。當開發者寫程序代碼時,功能規格說明書是一個指導綱領和持續的參考書。設計
造樓房(非狗窩)和橋樑須要藍圖,出門旅行要看地圖,即便沒地圖,好歹也有一些生存技巧做爲指引,好比有羅盤和北極星辨別方向。然而,沒有了這些用來指引的東西來作事情,是賭博。是生,是死,聽天由命。3d
這篇文章不是給賭徒看的,目標讀者是軟件從業者,包括那個不可或缺該死的碼農,還有項目經理,測試,產品狗等若干人等。blog
寫過代碼的人都有這種感受,一我的寫代碼的時候很爽,只要把這個軟件相關的全部知識裝載到腦殼裏,而後用某種或者多種編程語言講這些邏輯寫下來,最後神奇的事情就發生了,一個能夠正常工做的軟件產品開始有了生命。開發
隨着軟件的規模愈來愈大,一我的很難把全部的知識細節都加載到腦殼裏,進入了像亞當斯密提到的釘子生產車間那樣的分工協做時代。
在軟件工程裏,最大的成本就是溝通。具體的數據我沒有,可是軟件開發過程當中,人的成本之重要已是共識,人與人之間最困難的事情就是溝通,所以把溝通成本放大也不會偏離正確的方向。
然而如何保證高效的溝通,是個世界性的難題,但也毫不是不治之症。
首先,要有聰明的人,這是前提條件,由於除了軟件自己的知識技能之外,還要掌握軟件自己所解決問題的所在行業的知識技能,畢竟軟件大多數狀況下是不會孤立存在的。所以軟件從業者須要可以快速領會當前軟件所須要的行業知識。
其次,要認識到軟件開發成本和維護成本的關係,業界共識是維護成本遠大於開發成本。
最後,要保證相關知識的傳承,既然軟件須要長期維護,那麼人員更迭是必然的,要讓後來者快速掌握當前軟件的狀態。
看完以上幾點,讀者們應該也猜到了:軟件功能規格書很重要。
然而前幾年,一些軟件工程的方法論給你們一種誤導,說文檔不重要。其實人家說的是減小沒必要要的文檔。
那什麼文檔重要呢? 重要的文檔有不少種,這裏說的是其中之一:軟件功能規格書
在本篇文章的摘要裏是這樣描述功能規格說明書的。
軟件功能規格書是一個正式文檔,它用來爲軟件開發者詳細描述一個產品的潛在功能,表現以及與用戶的交互性。當開發者寫程序代碼時,功能規格說明書是一個指導綱領和持續的參考書。
功能規格說明書就如同建造大廈的藍圖,野外探險的指南針同樣。不可或缺。
最後問一下,你的團隊裏有軟件功能規格書嗎?