fbpx
Money

軟體委外省錢術(上)

軟體開發本來就是花錢的。因為官網或App,是一個不可或缺的生財工具,沒有它們就無法接觸到潛在客戶,進而了解他們的消費需求和習性,也無法接受訂單和產生會員管理相關的再行銷等互動。

然而,做好軟體委外前的規劃和預備,也是可以為自己省下一筆有份量的開發費用。軟體開發通常可以分幾個階段:需求定義(Requirement Definition)、架構設計(Architecture Design)、功能設計(Functional Design)、寫碼(Coding)、測試(Testing)。讓我們來看看,哪些階段可以在費用上降低支出。

需求定義(Requirement Definition)階段
在這個階段,要盡詳細的把所期望的一切,用書面的方式敘述出來。也就是定義出你需要什麼。以選購一台車子為例,你可以說:能夠在沙灘上奔馳不卡輪,人員可以隨時上下,可容納4-6人,馬力超大等。依此類推,在描述軟體的需求也是如此。例如要開發類似LINE的通訊軟體時,初始頁面要顯示什麼? 要有哪些服務(貼圖、Keep、截圖等) 。一但有了書面的文件(專業術語為需求規格書,Requirement Specification/Document),就可以用來和委外單位做估價與估時的討論。在撰寫過程中盡量把相關的事項寫在同一段落,例如首頁、服務、群組等,並且以清單的方式列出即可。

架構設計(Architecture Design)階段
委外單位根據需求規格書內容,規劃所需的零件(CPU、記憶體、喇叭、插座等)以及他們之間如何彼此連接。在軟體上,這些零件則稱為系統(System)或模組(Module)。例如開發一個官網在這階段的設計上,需要用到伺服器、資料庫、使用者介面(瀏覽器)等系統或模組。這個階段產生的文件,稱為架構設計規格書(Architecture Design Specification),它記載每一個系統或模組的任務與彼此之間的互動規則。

功能設計(Functional Design)階段
有了架構設計,就需要進一步的說明每一個系統或模組有什麼功能(Functions),才能完成賦予的任務。所以,功能規格書(Functional Specification)就是用來鉅細靡遺的說明系統或模組的功能上細節。例如按鍵功能,按一次、按兩次各有什麼反應或動作該出現的。

寫碼(Coding)階段
在寫碼階段,不同的開發人員(前端、後端、資料庫等)各司其職,將功能規格書內容逐一的以程式碼來實現欲達成的各項功能。

測試(Testing)階段
這個階段通常是由測試部門根據功能規格書而撰寫出一份測試計畫(Test Plan),並且按照計畫的內容將待測品(硬體或軟體)按照該有的功能逐一的測試。

從上列幾個階段可以看出,需求定義(Requirement Definition)階段是最不需要工程人員參與的階段,只要能夠清楚、逐一的列下你要什麼(如同買一部車子),就能提交出一份需求規格書,並交由委外單位進入合作討論與產生後續的文件。(未完待續)

Share:
分享在 email
Email
分享在 facebook
Facebook
分享在 twitter
Twitter
分享在 linkedin
LinkedIn