作爲一個PM或是專案擁有人,在面對新專案的第一時間點,比較困難的部分就是應該如何開始,因此這邊整理出了一個通用流程來做為參考使用,裡面的每個步驟都會說出製作原因與必要性,其也是能根據公司情況進行調整。
範例案例: https://docs.google.com/spreadsheets/d/1n9M77IKZe-qntxFJo6IVKtsodt9oDDfNMDlQodvHjKM/edit?usp=sharing
屬於階段 | 說明 | 對應表格 |
展望階段 | 說明該專案最終的目標 | Job Overview |
計劃階段 | 說明該專案所面臨的需求與其要完成的各項任務 | User Story |
計劃階段 | 說明該專案的各項任務,分別會有哪些行為與互動方式 | User Case |
實作階段 | 各項行為與互動方式,分別有哪些輸入輸出的標準範例 | Test Case |
回顧階段 | 說明各項任務應達成哪些目標。 | Service Level Indicator |
展望階段
該階段與此表用於描述專案最終目標,每項專案都應有針對問題與改善目標,避免與拒絕執行沒有清楚目標的任何專案。
- Job Overview
Situation | 專案現狀 | 公司沒有使用具有規範的工作編排方式,許多小任務經常找不到當初設定的負責人 |
Target | 目標達到情況 | 完成一個系統可以指派任務和觀察團隊任務情況的工具 |
Action | 要完成的項目 | 1. 歸納之前的工作的大宗專案經驗 2. 建置工作管理系統 |
Result Evaluation | 評估完成的標準 | 1. 組長可以指派任務給予其他組員 2. 個人可以查詢當前所有屬於自己的任務 |
計劃階段
該階段與表格皆是為了將需求整理清楚,作為專案人員與技術人員的溝通橋樑,並且可根據兩個表格生成對應的工作內容清單。
- User Story
AS | 做為什麼樣特性的身份 | 作為新單位的管理人員 | 作為一般工作者 |
I Want | 想要的產品 | 我想要任務進度追蹤系統 | 我想要個人工作清單 |
so that | 該產品可帶來的實際幫助 | 我可以即時追蹤、展示、評估團隊任務進行狀況 | 我可以即時追蹤、展示、評估自己任務進行狀況 |
- User Case
When | 當什麼情況或行為下 | 當工作者在被指派任務前,搜尋自己的todo清單 | 當工作者在被指派任務後,搜尋自己的todo清單 |
Given | 給出什麼 | user 物件 | user 物件 |
Then | 然後會發生/能做到什麼 | 該user物件包含個人資料與空的任務清單 | 該user物件包含個人資料、任務清單與任務細節。任務細節包含專案名稱、任務名稱、任務內容與完成日期 |
實作階段
這個階段是要根據計劃階段來審視所有功能,以TDD為核心,我們所有的功能都必須以測試優先的方式進行規劃與實作。
- Test Case
Function | 方法/物件的說明 | 使用者登入授權與查詢 | 管理人員指派任務 |
Inputs | 輸入的變數 | 使用者手機號碼、使用者密碼 | 使用者物件(指派人)、使用者物件(被指派人)、任務物件 |
Outputs | 輸出的變數 | 使用者物件 (包含管理權限、個人資料、任務清單) | 成功訊息(200) |
回顧階段
- Service Level Indicator
這個階段是要根據特定指標來檢核完成的程式,是否達到預期水準,確保每次的軟體開發品質合乎規定。
這邊可以參考SRE 概念速讀 – SLI/SLO/SLA進行設定。
During | 在多少期間內 | 一個月內 | 一個月內 |
Action | 特定行為 | 使用者登入授權與查詢 | 使用者指派任務 |
threshold | 須達到的標準 | 處理時間小於300ms | 能在5分鐘內更新上去 |
各表格應參與製作的單位
✔: 參與 ✅: 主持
UI/UX | PM | DEVELOP | MAINTAINER | |
Job Overview 描述專案最終目標 | ✔ | ✅ | ||
User Story 描述專案提供的服務 | ✔ | ✅ | ✔ | |
User Case 描述服務中的各項行為 | ✔ | ✅ | ✔ | |
Test Case 根據行為定義輸出輸入 | ✅ | ✔ | ||
Service Level Indicator 服務要達到的目標水準指標 | ✔ | ✔ | ✅ | |