編輯嚴選
如何向工程師說明規格

閱讀時間約 3 分鐘
有時候我們在執行專案的時候會遇到一個狀況,工程師實作的東西跟預期的不一致,因此能夠正確傳達需求是一個重要的技巧。原本我認為應該就是規格說明清楚就沒問題了,實際上事情卻沒有這麼單純。

識別角色

要能正確地說明規格,需要先了解現在我們討論的對象是怎樣的角色。像是專案經理、技術主管或者是負責實作的工程師。
之前有遇過客戶每次給我們的都是 MRD(Market Requirements Document,市場需求文件)因此讓我們的 PM(Project Manager,專案經理)需要花非常多時間了解系統上的需求,再跟工程師傳達。然而,經過這樣一連串的轉述,有非常多訊息都已經消失。
實際上,對負責實作工程師來說比較有幫助的是描述需求跟規格的 PRD(Product Requirement Document,產品需求文件)也就是說,我們卡住的原因是因為需要反覆的從客戶提供的「市場需求」反推「產品」的樣貌,然而這些資訊大部分對工程師來說可能是一種雜訊。
備註:因為客戶自己有專案經理,因此合約中我們的專案經理主要負責時程方面的控管,需求由客戶自己的專案經理處理。

定義產品規格

跟「市場需求」會描述在市場上的需要不同,「產品需求」是根據這些市場的需要,定義一個產品應該具備怎樣的規格。其中一種撰寫方式,就是先以功能面向進行大分類,然後再撰寫 User Story(使用者故事)來描述情境。
在製作的階段,我認為會需要由負責撰寫規格的產品經理或專案經理跟技術主管協作,在確認市場、技術限制跟成本的前提下去描述,這樣的文件不是去限制程式該怎麼寫,而是如同測試去動開發是什麼這篇文章中提到的 BDD(行為驅動開發)用「預期的操作行為」來去定義。
有了這樣的文件,負責實作的工程師就能清楚的依據在什麼情況(When)做了什麼事情(Given)然後得到怎樣的結果(Then)去設定測試,接下來只要將實現的功能符合這個定義即可。

減少溝通成本

假設我們沒辦法很好的提供資訊,那麼就會呈現前面所提到的狀況。需要經過不同人的彙整,然後再傳達給其他人。然而因為資訊非常多,因此會變得無法逐步地縮限範圍直到一個工程師可以理解的範圍,最後就變的需要投入大量的溝通來了解實現的方式。
以一個軟體開發團隊來看,必定會有資深跟資淺等不同程度的工程師,每個人能考量到跟處理的範圍是不同的,為了能夠讓比較不熟練的同事能夠專注在正確的小單元工作,清楚描述的文件就變得非常重要。
單純一篇文章似乎沒辦法完整的說明,我認為在專案團隊中過度溝通(Over-Communication)是一個增進團隊協作品質的方式,同時減少溝通成本也是一個重要的方向,兩者也不衝突。前者是讓團隊成員理解在做什麼,後者是減少理解的成本,因此正確傳達規格給工程師就變得非常重要。

封面圖片使用 UnsplashJoppe Spaa 的作品,有想聽的主題可以透過匿名問卷告訴我,想了解專業的技術主題可以到弦而時習之找找靈感。
為什麼會看到廣告
53會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
留言0
查看全部
發表第一個留言支持創作者!
蒼時弦也的沙龍 的其他內容
軟體是一種生物
閱讀時間約 2 分鐘
寫程式最困難的地方
閱讀時間約 2 分鐘
程式中「例外」的意義
閱讀時間約 3 分鐘
刷題無法變強的原因
閱讀時間約 2 分鐘
透過刷題變強的方法
閱讀時間約 4 分鐘
測試的目的
閱讀時間約 2 分鐘
你可能也想看
如何像個維京人般罵髒話?:同學,除了「幹」,你還有很多選擇!北市特教生痛毆代課老師的影片中,學生髒話不斷重複,僅有抑揚頓挫,了無新意,實在可惜。所謂因材施教,愛罵髒話沒關係,我們還有很多選擇,嘴秋的朋友們有福了!注意,本篇文章一定有髒話,容易感到冒犯的話,建議跳過本日異教人;來日方長,不要結怨。
Thumbnail
avatar
異教人.ᚢᛁᛏᛁᚢᛅᛣ
2024-03-06
2023.IPAS資安初級工程師.完全非相關科系的我.是如何考過的呢~嗨嗨~大家好久不見啦​ 林口猩球要來跟大家分享 前陣子報考的資安初級工程師考試與備考心得~~ 林口猩球完全沒有相關背景 完全是想衝一個試試看? 後來也有順利考過哦~ 其實IPAS初級考試都蠻簡單的? 簡單是指初級考試都是考選擇題!!!(超級友善) 沒錯,非常簡單! 通常都是
Thumbnail
avatar
林口猩球
2023-11-29
HyRead官方匯出註記功能|教你如何匯出註記、寫筆記|HyRead線上公共圖書館借閱平台千呼萬喚hyread官方終於推出匯出註記功能,你一定要借閱書籍才能夠匯出註記。目前「線上閱讀」是無法匯出註記的喔,另外推薦使用「HyRead圖書館註記匯出」chorme外掛,即便是你線上閱讀、手機閱讀,也方便你輕鬆轉到數位筆記上。
Thumbnail
avatar
鼠叔|倉鼠人生實驗室
2023-11-24
Laravel初學者指南:如何使用route目錄下的相關功能本篇文章為Laravel初學者提供了一個指南,深入探討了Laravel的routes目錄下的功能。文章詳細描述了web.php和api.php的差異和使用情境,並簡要介紹了console.php和channels.php的功能。透過這篇文章,讀者可以更好地理解和利用Laravel的路由功能。
Thumbnail
avatar
Rewrite
2023-08-23
如何突破既有軟體功能極限,輕鬆建立外掛與自動化快捷鍵?今天又到我們新工具開箱的時間~ 不曉得大家有沒有遇過在使用一些軟體工具 (e.g. Gmail、Notion、CRM ... 等工具) 時,會覺得如果這個軟體再多一點什麼功能就完美了的情境?或者就算那個軟體有外掛可以安裝,但好像還是無法符合自己需求? 這次發現一個可以讓你在既有軟體工具中自己建立客製
Thumbnail
avatar
NoTime NoCode|自動化工作流程
2023-06-25
「看不懂說明書,該如何知道副作用持續多久?何時吃藥最佳?」藥師:懂這個常識真的是賺到了這個邏輯,可以直接套用在任何藥物的使用上。甚至,懂藥效持續多久的話,你就可以解決很多問題。
Thumbnail
avatar
胡廷岳藥師的醫病故事集
2022-02-20
老是犯同種錯誤!初階工程師如何對自己的程式碼負責?每個人在職場上或多或少都有犯錯過,但回頭檢視自己為何做不好,且力求改善的人並不多,很多時候不去做新的嘗試,就不會找到新的方法。今天跟大家聊聊初階工程師如何提高自己的經驗值以及工程師的當責之道是什麼。
Thumbnail
avatar
RUBY 大叔
2021-08-30
工程師的邏輯是如何訓練的?談抽象化與具象化抽象思考是邏輯思維不可缺少的東西,但是我們該如何培養抽象思考的能力呢?數學不好的人,是不是就與抽象能力無緣了?沒有抽象能力,是不是就不用談邏輯思考?其實每個人多少都有抽象能力,也懂得使用抽象技巧,只是我們能不能更有意識地訓練它而已。
Thumbnail
avatar
Davina Shi
2020-09-16