某次的讀書會,一位在醫療體系工作的朋友說到,他們公司現在也要求PM們,要去了解研發的工作流程及相關細節,因為在過往的研發上,PM對於研發說出來的工期和任務,掌握度太低,研發說什麼就是什麼,希望PM們可以更加的了解「研發的流程」。

其實,我也是可以想像這樣的狀況,因為在軟體開發也是常常發生。我接觸過的一些PM,甚至有些資歷都還頗深,對於工程師在做甚麼,都不太清楚,所以某些功能工程師說「5天」,就只能相信是「5天」。這時候,老闆反應說「為什麼要這麼久?」,常常就會看到PM說「這是工程師說的」。

後續老闆的反應,應該就不難猜了。

在《工作分解結構(WBS)、工作包和活動是什麼?》這篇中,有提到可以透過拆解WBS、設計工作包,和規劃活動,來釐清專案的需求項目。

但是,這邊有一個很有趣的部分,就是「如何規劃活動」?

新手PM的規畫活動版本

編號工作項目負責人所需時間開始時間結束時間
1.0註冊
1.1 註冊規則產品企劃
1.2 註冊頁面設計師
1.3 註冊功能工程師
新手PM的規畫活動版本

改良後的規劃活動版本

編號工作項目負責人所需時間開始時間結束時間
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 TableDBA工程師0.5d
1.1.6.2   建立會員DB TableDBA工程師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. 設計師進行視覺設計
    (1) 系統工程師與研發人員討論系統架構
    (2) 研發人員規劃軟體層面的系統架構
    (3) 系統工程師規劃硬體層面的系統架構
    (4) 資料庫管理師設計資料庫 (有時候是研發人員進行)
    (5) 測試人員準備「測試計畫」及「測試案例」
  5. 當視覺設計完成後,若產品是網頁的話,則會由網頁設計師進行「切版」
  6. 後端工程師負責進行「後端邏輯開發」,及「API設計」
  7. 當API完成後,前端工程師則需要「串接API」,這部分前端工程師與後端工程師會密集溝通
  8. 當「串接API」完成後,就會需要進行「測試驗證」,這部分會在所謂的「測試環境」進行
  9. 測試完成後,撰寫測試報告
  10. 當完成測試,並滿足可交付的限制後,就可進到「交付」的階段。

當然,這只是一個開發流程的基本概念,不同的開發項目,就會有不一樣的流程,例如APP專案,就沒有所謂的切版,又例如遊戲專案,就有可能加入3D建模流程,或是其他的開發流程。只有對產品有一定程度的了解,才能相對完整的規劃「活動」。

於是,繪製成「甘特圖」的話,就會產生如下的圖表,是不是很簡單呢?

《會員註冊的甘特圖》


拆解軟體開發的「活動」,把握一個原則,就是盡可能的了解團隊工作流程。

《如果覺得這邊文章有幫到你,歡迎請我喝杯咖啡》

——–

大家好,我是 數位產品開發教練 – 陳俊聖/廣三/HeroMi
17年數位產品開發經驗。經手至少80個大小專案。
擅長解決與工程師的溝通問題,幫你建構工程思維。

如果有任何想法,歡迎留言或發信給我,希望可以幫到你
我的信箱:info@hero-mi.com
歡迎加入粉絲團:數位產品開發教練 – 陳俊聖/廣三/HeroMi

*本站所有文章未經授權,請勿任意利用、引用、轉載,但是歡迎按讚、訂閱、分享。

最後修改日期: 2023-03-14

作者

留言

發表迴響