軟體開發是一複雜過程,為了確保執行過程能夠更貼近客戶需求,在正式開發時必須有充分的討論以產出軟體需求,也就是俗稱的軟體規格書(specification),好的規格書能夠有效的減少開發過程的溝通成本與糾紛,也能夠更精準的產出軟體報價單。

 The progress of software development is complex. For making sure the demand can be filled we need to discuss with our clients at the beginning and  make the list, which is so-called The Specification of   Development.

 

由於軟體規格書是一份相當詳細的軟體需求,從UI設計,排版、顏色、間距、動畫、畫面流程,直到內部機制,資料格式,程式架構等都必須有詳細記錄,對於非該領域的客戶們要產出一份這樣的規格書頗是負擔。

 The specification contains all every details of development, including user interface, flows, data format, structures and so on. It is really tough to make the specs for   those who don't work on it

 

若您是初次接觸軟體外包、世佳資訊提供一簡易軟體需求範本,描述如下

 We support the simple example how do describe a simple demand lists.

 

何謂無效需求?

What kind of description is useless?

舉例 : "我需要一製作一個類似LineAPP"

 I need an APP like LINE.

 

為何此這句話是無效需求?

Why this statement useless?

Line是一個即時通訊軟體、是由多種機制集合而成、其大項目就可分為註冊、即時通訊、貼圖下載、LineGame等...。每一個大項目都有其獨立運作與交互運作機制,若不對其運作有初步了解,就單一句"我需要一個像LineAPP",其描述過於攏統,很容易在開發過程產生糾紛、把時間投入在錯的方向,造成客戶與包商雙輸的情況。

 

 

 

何謂有效需求?

在了解Line的大項目後,便可將其項目列出且盡可能開出比較細部的需求。

 

註冊

1.使用手機號碼或電子郵件當作登入帳號

2.一支手機只能註冊一個帳號

3.一支手機只能登入一個帳號

4.使用簡訊或電子郵件認證

即時通訊

1.好友列表

2.加入好友

3.被加入好友

4.封鎖好友

5.一對一即時通訊

6.群組即時通訊

7.保留一個月對話歷史訊息

貼圖下載

1.免費貼圖下載

2.付費貼圖下載

3.使用時間限制

4.付費流程使用第三方金流,可用ATM或信用卡或超商繳費

LineGame

1.經由GooglePlayAppStore下載LineGame

2.需有排行榜

3.販售虛寶

4.金流使用IAP(In-App-Purchase)

此需求表通常是藉由與承包商面對面溝通時所產生的

 

 

雖然上述的軟體需求仍稱不上是一份詳細的規格書,但比起只用一句話描述需求要來的清晰許多,對於客戶而言寫出這樣的需求也相對容易許多,對承包商也較容易掌握客戶真正想要的,能夠更有效的評估報價