大家好,我是馬在飛的 Nat。
這篇文章我們來聊聊:不懂軟體要如何建立開發功能規格?
在軟體開發上有很多專業的名詞如: Landing page、Tab bar、CSS、HTML、API、Database 等,這些都是建構APP或網頁的必要項目,在不了解這些專有名詞的情況下,真的有辧法去建立功能規格嗎?為什麼不能由委託給的軟體外包團隊建立呢?
產品的功能最好由「你」建立。因為產品的成敗最後一定是你(公司)來承擔,而且只有你(公司)最了解這個產品要完成的工作是什麼?要解決的問題是什麼?所以我不建議你把關鍵的成敗交由他人。
不懂軟體要如何建立開發功能規格的關鍵就是:產品的使用者。產品的使用者大部分跟你一樣也是一般用戶,並不具備軟體的專業知識,但不需要有這些專業知識,他們仍然知道如何使用各種APP及網頁服務,由此可見的功能規格並不需要包含這些專業的名詞,仍然可以建立出讓他們喜歡的產品 ,那具體要如何建立功能規格呢?我們會採用的方法是: 使用者故事 User Story ,它具有一定的格式,你只要照這個格式把你的需求填入就即可。
1. 身為一個 <角色> As a <role/persona> / Who
確立使用你這個功能的角色是誰,如:你想做售票系統,就會有購票的人、賣票的人或財會等不同角色。
2. 我要 <做什麼> I want to <behavior> / What
描術這些角色想做的事或想達到的狀態,如:買到票(購票的人)、把賣票出去 (賣票的人)或能統計帳目(財會)。
3. 所以我才能 <達到什麼價值> So that <the value> / Why
這是很重要但卻常常被遺忘的部分,就是使用者為什麼要做這些事,也就是需要這個功能的原因(Why),如:(買票)才能搭車,(賣票)才能收錢,(統計帳目)才能計算營虧。有了這些原因,從原因出發去思考,你才有機會想到更好的功能或流程做法,如果你很難寫出這個User Story的Why,那很高的機會是你並沒有很好的理解用戶,或是重新思考這個User story的必要性。
把上述的其中一個例子集合起來,就會變成一個完整的User Story:
身為一個{旅客}
我要{買到車票}
所以我才能{坐上車回到家}
很簡單對吧,你現在馬上就可以試試看,但你可能還是會覺得,只有短短幾個字的描術,開發團隊就知道要做什麼了嗎? 沒有UI畫面,沒有操作流程,誰知道做出來會變成什麼樣子?這真的足夠嗎? 其實 User Story 是故意讓它自己變的簡短且模稜兩可(ambiguity) ,其原因我在下一篇會提到。
謝謝。
------------
若你有軟體開發或專案管理的需求,請點擊此並留下你的需求,我們會盡快與你聯繫
你也可以在Medium上看到馬在飛的文章喔!前往Medium