方格精選

如何向工程師說明規格

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

識別角色

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

定義產品規格

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

減少溝通成本

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

封面圖片使用 UnsplashJoppe Spaa 的作品,有想聽的主題可以透過匿名問卷告訴我,想了解專業的技術主題可以到弦而時習之找找靈感。
此篇文章會顯示動態置底廣告
為什麼會看到廣告
55會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
留言0
查看全部
發表第一個留言支持創作者!
蒼時弦也的沙龍 的其他內容
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
既然是例外,就表示出現了我們預期以外的事情,就這點而言這個用詞跟翻譯都非常的精確。假設我們認為這段程式執行的時後不應該出現這個情況,那麼它就必須是一個例外。
簡單來說,寫程式最困難的地方往往不是技術上的問題,而是如何對當下的狀況正確判斷並且建立良好協作的狀態,才會是最為困難的地方。
聽了描述之後我的直覺反應告訴他「會有這樣的問題,應該是設計時少考慮了什麼!」 大多數軟體工程師從初學者階段開始進入到能夠獨立工作的時候,大多會需要自己考慮一個功能的設計,直到一個完整的系統設計。然而,我們總是找不到正確答案。
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
既然是例外,就表示出現了我們預期以外的事情,就這點而言這個用詞跟翻譯都非常的精確。假設我們認為這段程式執行的時後不應該出現這個情況,那麼它就必須是一個例外。
簡單來說,寫程式最困難的地方往往不是技術上的問題,而是如何對當下的狀況正確判斷並且建立良好協作的狀態,才會是最為困難的地方。
聽了描述之後我的直覺反應告訴他「會有這樣的問題,應該是設計時少考慮了什麼!」 大多數軟體工程師從初學者階段開始進入到能夠獨立工作的時候,大多會需要自己考慮一個功能的設計,直到一個完整的系統設計。然而,我們總是找不到正確答案。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
北市特教生痛毆代課老師的影片中,學生髒話不斷重複,僅有抑揚頓挫,了無新意,實在可惜。所謂因材施教,愛罵髒話沒關係,我們還有很多選擇,嘴秋的朋友們有福了!注意,本篇文章一定有髒話,容易感到冒犯的話,建議跳過本日異教人;來日方長,不要結怨。
Thumbnail
嗨嗨~大家好久不見啦​ 林口猩球要來跟大家分享 前陣子報考的資安初級工程師考試與備考心得~~ 林口猩球完全沒有相關背景 完全是想衝一個試試看? 後來也有順利考過哦~ 其實IPAS初級考試都蠻簡單的? 簡單是指初級考試都是考選擇題!!!(超級友善) 沒錯,非常簡單! 通常都是
Thumbnail
千呼萬喚hyread官方終於推出匯出註記功能,你一定要借閱書籍才能夠匯出註記。目前「線上閱讀」是無法匯出註記的喔,另外推薦使用「HyRead圖書館註記匯出」chorme外掛,即便是你線上閱讀、手機閱讀,也方便你輕鬆轉到數位筆記上。
Thumbnail
本篇文章為Laravel初學者提供了一個指南,深入探討了Laravel的routes目錄下的功能。文章詳細描述了web.php和api.php的差異和使用情境,並簡要介紹了console.php和channels.php的功能。透過這篇文章,讀者可以更好地理解和利用Laravel的路由功能。
Thumbnail
今天又到我們新工具開箱的時間~ 不曉得大家有沒有遇過在使用一些軟體工具 (e.g. Gmail、Notion、CRM ... 等工具) 時,會覺得如果這個軟體再多一點什麼功能就完美了的情境?或者就算那個軟體有外掛可以安裝,但好像還是無法符合自己需求? 這次發現一個可以讓你在既有軟體工具中自己建立客製
Thumbnail
每個人在職場上或多或少都有犯錯過,但回頭檢視自己為何做不好,且力求改善的人並不多,很多時候不去做新的嘗試,就不會找到新的方法。今天跟大家聊聊初階工程師如何提高自己的經驗值以及工程師的當責之道是什麼。
Thumbnail
抽象思考是邏輯思維不可缺少的東西,但是我們該如何培養抽象思考的能力呢?數學不好的人,是不是就與抽象能力無緣了?沒有抽象能力,是不是就不用談邏輯思考?其實每個人多少都有抽象能力,也懂得使用抽象技巧,只是我們能不能更有意識地訓練它而已。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
北市特教生痛毆代課老師的影片中,學生髒話不斷重複,僅有抑揚頓挫,了無新意,實在可惜。所謂因材施教,愛罵髒話沒關係,我們還有很多選擇,嘴秋的朋友們有福了!注意,本篇文章一定有髒話,容易感到冒犯的話,建議跳過本日異教人;來日方長,不要結怨。
Thumbnail
嗨嗨~大家好久不見啦​ 林口猩球要來跟大家分享 前陣子報考的資安初級工程師考試與備考心得~~ 林口猩球完全沒有相關背景 完全是想衝一個試試看? 後來也有順利考過哦~ 其實IPAS初級考試都蠻簡單的? 簡單是指初級考試都是考選擇題!!!(超級友善) 沒錯,非常簡單! 通常都是
Thumbnail
千呼萬喚hyread官方終於推出匯出註記功能,你一定要借閱書籍才能夠匯出註記。目前「線上閱讀」是無法匯出註記的喔,另外推薦使用「HyRead圖書館註記匯出」chorme外掛,即便是你線上閱讀、手機閱讀,也方便你輕鬆轉到數位筆記上。
Thumbnail
本篇文章為Laravel初學者提供了一個指南,深入探討了Laravel的routes目錄下的功能。文章詳細描述了web.php和api.php的差異和使用情境,並簡要介紹了console.php和channels.php的功能。透過這篇文章,讀者可以更好地理解和利用Laravel的路由功能。
Thumbnail
今天又到我們新工具開箱的時間~ 不曉得大家有沒有遇過在使用一些軟體工具 (e.g. Gmail、Notion、CRM ... 等工具) 時,會覺得如果這個軟體再多一點什麼功能就完美了的情境?或者就算那個軟體有外掛可以安裝,但好像還是無法符合自己需求? 這次發現一個可以讓你在既有軟體工具中自己建立客製
Thumbnail
每個人在職場上或多或少都有犯錯過,但回頭檢視自己為何做不好,且力求改善的人並不多,很多時候不去做新的嘗試,就不會找到新的方法。今天跟大家聊聊初階工程師如何提高自己的經驗值以及工程師的當責之道是什麼。
Thumbnail
抽象思考是邏輯思維不可缺少的東西,但是我們該如何培養抽象思考的能力呢?數學不好的人,是不是就與抽象能力無緣了?沒有抽象能力,是不是就不用談邏輯思考?其實每個人多少都有抽象能力,也懂得使用抽象技巧,只是我們能不能更有意識地訓練它而已。