某次的讀書會,一位在醫療體系工作的朋友說到,他們公司現在也要求PM們,要去了解研發的工作流程及相關細節,因為在過往的研發上,PM對於研發說出來的工期和任務,掌握度太低,研發說什麼就是什麼,希望PM們可以更加的了解「研發的流程」。
其實,我也是可以想像這樣的狀況,因為在軟體開發也是常常發生。我接觸過的一些PM,甚至有些資歷都還頗深,對於工程師在做甚麼,都不太清楚,所以某些功能工程師說「5天」,就只能相信是「5天」。這時候,老闆反應說「為什麼要這麼久?」,常常就會看到PM說「這是工程師說的」。
後續老闆的反應,應該就不難猜了。
在《工作分解結構(WBS)、工作包和活動是什麼?》這篇中,有提到可以透過拆解WBS、設計工作包,和規劃活動,來釐清專案的需求項目。
但是,這邊有一個很有趣的部分,就是「如何規劃活動」?
新手PM的規畫活動版本
| 編號 | 工作項目 | 負責人 | 所需時間 | 開始時間 | 結束時間 |
| 1.0 | 註冊 | ||||
| 1.1 | 註冊規則 | 產品企劃 | |||
| 1.2 | 註冊頁面 | 設計師 | |||
| 1.3 | 註冊功能 | 工程師 |
改良後的規劃活動版本
| 編號 | 工作項目 | 負責人 | 所需時間 | 開始時間 | 結束時間 |
| 1.0 | 會員管理系統 | ||||
| 1.1 | 會員註冊 | ||||
| 1.1.1 | 會員註冊_規格文件 | ||||
| 1.1.1.1 | 繪製wireframe | 產品企劃 | 1d | ||
| 1.1.1.2 | 撰寫註冊規則 | 產品企劃 | 1d | ||
| 1.1.1.3 | 繪製註冊流程圖 | 產品企劃 | 1d | ||
| 1.1.1.4 | 設計會員的DB Table需求 | 產品企劃 | 1d | ||
| 1.1.2 | 會員註冊_介面設計圖 | ||||
| 1.1.2.1 | 繪製介面概念圖 | 設計師 | 1d | ||
| 1.1.2.2 | 製作介面元件_按鈕 | 設計師 | 0.5d | ||
| 1.1.2.3 | 製作介面元件_背景 | 設計師 | 0.5d | ||
| 1.1.2.4 | 製作介面元件_ICON小圖示 | 設計師 | 0.5d | ||
| 1.1.3 | 會員註冊_前端網頁 | ||||
| 1.1.3.1 | 製作會員註冊_前端網頁 | 前端工程師 | 0.5d | ||
| 1.1.3.2 | 串接會員註冊API | 前端工程師 | 2d | ||
| 1.1.4 | 會員註冊_註冊API | ||||
| 1.1.4.1 | 撰寫註冊API程式碼 | 後端工程師 | 1d | ||
| 1.1.4.2 | 撰寫註冊API文件 | 後端工程師 | 0.5d | ||
| 1.1.5 | 會員註冊_註冊驗證機制 | ||||
| 1.1.5.1 | 設計註冊驗證流程 | 後端工程師 | 2d | ||
| 1.1.5.2 | 撰寫註冊驗證程式碼 | 後端工程師 | 2d | ||
| 1.1.6 | 會員註冊_會員DB Table | ||||
| 1.1.6.1 | 設計會員DB Table | DBA工程師 | 0.5d | ||
| 1.1.6.2 | 建立會員DB Table | DBA工程師 | 0.5d | ||
| 1.1.7 | 會員註冊_測試驗證報告 | ||||
| 1.1.7.1 | 撰寫測試計畫 | 品質工程師 | 0.5d | ||
| 1.1.7.2 | 撰寫測試案例 | 品質工程師 | 0.5d | ||
| 1.1.7.3 | 執行會員註冊驗證 | 品質工程師 | 1d | ||
| 1.1.7.4 | 撰寫測試報告 | 品質工程師 | 0.5d |
那「新手PM的規畫活動版本」要怎麼變成「改良後的規劃活動版本」?
其實這就像網路上流傳的一張圖「如何畫出一匹馬?」,簡單五步驟畫出一匹馬。
是不是很簡單?
實際上,要畫出一匹馬,需要了解馬的骨架、肌肉紋理等,如下圖。才有辦法真的畫出來。
其實,「拆解WBS」到「列出活動」這一連串的動作,就跟畫馬的概念是一樣的,要先對「馬的骨骼、肌肉」有概念,才比較有可能畫出「馬」。
如果覺得「畫馬」,還是有點難以理解,那就用做一道「料理」來想想看。
今天我們要自己在家做一道「料理」,會有哪些步驟需要執行?
我們可能會要想菜單、採買、備料、烹煮、擺盤、上菜、享用,然後決定下次去餐廳吃就好。
這樣是不是就更容易理解。
那「軟體開發」,需要執行的步驟有哪些呢?
先讓我們看看下面這張圖,這是一個從「需求」到「交付」的開發流程。

基本的開發流程就會如下所列:
- 依據需求撰寫「需求規格書」
- 將「需求規格書」細化為「系統規格書」
- 有了「系統規格書」後,就可執行下列動作
- 設計師進行視覺設計
(1) 系統工程師與研發人員討論系統架構
(2) 研發人員規劃軟體層面的系統架構
(3) 系統工程師規劃硬體層面的系統架構
(4) 資料庫管理師設計資料庫 (有時候是研發人員進行)
(5) 測試人員準備「測試計畫」及「測試案例」 - 當視覺設計完成後,若產品是網頁的話,則會由網頁設計師進行「切版」
- 後端工程師負責進行「後端邏輯開發」,及「API設計」
- 當API完成後,前端工程師則需要「串接API」,這部分前端工程師與後端工程師會密集溝通
- 當「串接API」完成後,就會需要進行「測試驗證」,這部分會在所謂的「測試環境」進行
- 測試完成後,撰寫測試報告
- 當完成測試,並滿足可交付的限制後,就可進到「交付」的階段。
當然,這只是一個開發流程的基本概念,不同的開發項目,就會有不一樣的流程,例如APP專案,就沒有所謂的切版,又例如遊戲專案,就有可能加入3D建模流程,或是其他的開發流程。只有對產品有一定程度的了解,才能相對完整的規劃「活動」。
於是,繪製成「甘特圖」的話,就會產生如下的圖表,是不是很簡單呢?
拆解軟體開發的「活動」,把握一個原則,就是盡可能的了解團隊工作流程。
《如果覺得這邊文章有幫到你,歡迎請我喝杯咖啡》
——–
大家好,我是 數位產品開發教練 – 陳俊聖/廣三/HeroMi
17年數位產品開發經驗。經手至少80個大小專案。
擅長解決與工程師的溝通問題,幫你建構工程思維。
如果有任何想法,歡迎留言或發信給我,希望可以幫到你
我的信箱:info@hero-mi.com
歡迎加入粉絲團:數位產品開發教練 – 陳俊聖/廣三/HeroMi
*本站所有文章未經授權,請勿任意利用、引用、轉載,但是歡迎按讚、訂閱、分享。
留言