# 5. User Stories(RICE 排序)— visionA Cloud > 父文件:[PRD.md](PRD.md) --- ## 5.1 RICE 評分說明 | 維度 | 定義 | 範圍 | |------|------|------| | Reach | 每季觸及的用戶數(粗估,Phase 0 用戶基數小,數字為相對值)| 1-100 | | Impact | 對北極星指標(WAD)的影響程度 | 0.25 / 0.5 / 1 / 2 / 3 | | Confidence | 估算信心度 | 50% / 80% / 100% | | Effort | 預估開發人月(Architect 會再核對)| 0.1 - 10 | | **RICE** | Reach × Impact × Confidence / Effort | — | > 註:Phase 0 雛形的 Reach / Effort 是**相對估值**,不是絕對數字。主要目的是排優先級,不是財務預估。 --- ## 5.2 所有 User Stories(RICE 排序) ### 🔴 P0 — Phase 0 雛形必做 | # | Story | Persona | Reach | Impact | Conf. | Effort | RICE | 備註 | |---|-------|---------|-------|--------|-------|--------|------|------| | US-01 | 作為開發者,我要**在瀏覽器打開 visionA Cloud 並看到登入頁** | 全部 | 100 | 3 | 100% | 0.5 | 600 | Phase 0 雛形:UI only,auth stub | | US-02 | 作為開發者,我要**註冊帳號(雛形只要 email + 密碼)** | 全部 | 100 | 3 | 100% | 0.3 | 1000 | Phase 0:in-memory,不存 DB | | US-03 | 作為開發者,我要**登入後看到我名下的裝置列表(空的也要)** | 全部 | 100 | 3 | 100% | 1 | 300 | 核心頁面 | | US-04 | 作為開發者,我要**從雲端頁面取得一組 Pairing Token** | 全部 | 100 | 3 | 100% | 1 | 300 | Pairing 核心 | | US-05 | 作為開發者,我要**讓我筆電上的 local agent 用這個 token 連上 visionA Cloud** | 全部 | 100 | 3 | 100% | 3 | 100 | 後端重點:remote-proxy + tunnel | | US-06 | 作為開發者,我要**Pairing 成功後,裝置自動出現在雲端頁面** | 全部 | 100 | 3 | 100% | 0.5 | 600 | WebSocket 即時更新 | | US-07 | 作為開發者,我要**在雲端頁面看到裝置詳細(型號、韌體、健康度)** | 全部 | 100 | 2 | 100% | 0.5 | 400 | 搬自 local-tool | | US-08 | 作為開發者,我要**瀏覽 7 個預設模型** | 全部 | 100 | 2 | 100% | 0.5 | 400 | 搬自 local-tool | | US-09 | 作為開發者,我要**上傳我自己的 .nef 模型(雛形:走 local filesystem 實作的 S3 介面)** | 全部 | 80 | 2 | 80% | 1 | 128 | ObjectStorage 介面重點 | | US-10 | 作為 FAE,我要**進入工作區,選遠端裝置 + 模型 + Camera 來源,開始推論** | 阿哲 | 80 | 3 | 80% | 3 | 64 | 核心體驗,tunnel 要穩 | | US-11 | 作為 FAE,我要**看到遠端 Camera 的即時 MJPEG 串流 + 推論結果 overlay** | 阿哲 | 80 | 3 | 80% | 2 | 96 | tunnel 要能 stream binary | | US-12 | 作為開發者,我要**在 Settings 切換語言(繁中/English)和主題(Dark Mode)** | 全部 | 100 | 0.5 | 100% | 0.2 | 250 | 沿用 local-tool i18n | | US-13 | 作為開發者,我要**登出(雛形:清 token)** | 全部 | 100 | 1 | 100% | 0.1 | 1000 | Phase 0 簡易版 | ### 🟡 P1 — Phase 1 MVP | # | Story | Persona | Reach | Impact | Conf. | Effort | RICE | 備註 | |---|-------|---------|-------|--------|-------|--------|------|------| | US-14 | 作為開發者,我要**看到一個儀表板,顯示所有裝置狀態 + 最近活動** | 全部 | 80 | 2 | 80% | 2 | 64 | 搬自 local-tool | | US-15 | 作為 FAE,我要**用上傳圖片/影片做推論,不只 Camera** | 阿哲 | 60 | 2 | 80% | 2 | 48 | 搬自 local-tool | | US-16 | 作為 SI,我要**把多台裝置組成叢集,按加權 RR 做推論** | Sarah | 40 | 3 | 70% | 3 | 28 | 從 POC 搬 + 產品化 | | US-17 | 作為 SI,我要**看到叢集中每台裝置的負載分佈** | Sarah | 30 | 2 | 70% | 2 | 21 | POC 已有雛形 | | US-18 | 作為開發者,我要**Pairing Token 有 expiry,過期自動失效** | 全部 | 80 | 2 | 80% | 1.5 | 85 | 安全性 | | US-19 | 作為開發者,我要**能撤銷某個裝置的 Pairing** | 全部 | 60 | 1 | 80% | 0.5 | 96 | 安全性 | | US-20 | 作為開發者,我要**看到每次推論的 log / history** | 全部 | 50 | 1 | 70% | 1.5 | 23 | 需要 DB | | US-21 | 作為 SI,我要**邀請隊友加入我的 workspace,共享裝置** | Sarah | 40 | 2 | 60% | 3 | 16 | 多租戶 | | US-22 | 作為開發者,我要**接真的 Auth 系統(JWT / OAuth)** | 全部 | 80 | 2 | 80% | 4 | 32 | 替換 Phase 0 stub | | US-23 | 作為開發者,我要**上傳到真的 S3 / MinIO,不是 local fs** | 全部 | 80 | 1 | 80% | 2 | 32 | 替換 Phase 0 stub | ### 🟢 P2 — Phase 2+(未來) | # | Story | Persona | Reach | Impact | Conf. | Effort | RICE | 備註 | |---|-------|---------|-------|--------|-------|--------|------|------| | US-24 | 作為開發者,我要**直接在 visionA Cloud 轉檔(非 Kneron 格式 → .nef)** | Mike | 70 | 2 | 60% | 5 | 17 | 等 converter 團隊完成 API | | US-25 | 作為 Mike,我要**同時跑多個模型比較效能** | Mike | 40 | 2 | 60% | 3 | 16 | Workspace 升級 | | US-26 | 作為開發者,我要**用 API key 寫自動化腳本(公開 API)** | Mike | 30 | 1 | 50% | 3 | 5 | 開放平台 | | US-27 | 作為 SI,我要**看使用量計費(Billing)** | Sarah | 40 | 2 | 50% | 5 | 8 | 商業化 | | US-28 | 作為開發者,我要**接收 email 通知(裝置離線、推論完成等)** | 全部 | 60 | 1 | 70% | 2 | 21 | Notification 系統 | | US-29 | 作為 SI,我要**每個客戶現場一個獨立 tenant** | Sarah | 30 | 2 | 60% | 5 | 7 | 多租戶加強 | | US-30 | 作為開發者,我要**用手機 app 看裝置狀態(read-only)** | 全部 | 40 | 1 | 40% | 5 | 3 | Mobile | ### 🔵 雛形介面 TODO(Phase 0 只做介面不接實作) | # | Story | 雛形做什麼 | 未來要做什麼 | |---|-------|-----------|------------| | US-TODO-01 | 會員註冊 | 前端頁面 + 後端 stub handler | 接真 Auth(JWT / OAuth)| | US-TODO-02 | 忘記密碼 | 前端頁面只 | 接 email 服務 | | US-TODO-03 | 個人設定頁 | 前端骨架只 | 密碼變更、頭像上傳等 | | US-TODO-04 | Billing 頁 | 不做 | Stripe 整合 | | US-TODO-05 | 轉檔整合 | **定義 API 契約**給 converter 團隊 | 真的接 converter API | --- ## 5.3 MVP 功能範圍(Phase 0 雛形) **納入 Phase 0**:所有 P0 stories(US-01 ~ US-13) **明確排除**: - 真實 Auth(用 stub) - 真實 DB(用 in-memory) - 真實 S3(用 local fs 實作 ObjectStorage 介面) - 叢集功能(Phase 1) - 儀表板(Phase 1) - 圖片/影片推論(Phase 1,Phase 0 只做 Camera) - 忘記密碼 / 個人設定(只有介面) - Billing(不做) - 轉檔整合(只定契約) --- ## 5.4 驗收條件總覽(Phase 0) Phase 0 完成的定義:以下全部為 Yes。 - [ ] visionA-frontend 能部署成靜態網站並在瀏覽器打開 - [ ] visionA-backend 的 `cmd/api-server` 可單獨跑,health check OK - [ ] visionA-backend 的 `cmd/remote-proxy` 可單獨跑,health check OK - [ ] 使用者能在瀏覽器完成註冊 + 登入(stub) - [ ] 使用者能從雲端頁面取得一組 Pairing Token - [ ] 至少一台裝有 local-tool 的筆電,能用 Pairing Token 連上 remote-proxy(可能需臨時修改 local-tool config) - [ ] Pairing 成功後,裝置即時出現在雲端頁面 - [ ] 使用者能從雲端選裝置 + 模型 + Camera,跑一次端到端推論 - [ ] 模型上傳功能可用(雖然實際存 local fs) - [ ] 所有 P0 頁面切換順暢,無明顯 bug - [ ] local-tool 所有既有測試持續通過(0 regression) --- ## 連結 - 上一章:[用戶研究](user-research.md) - 下一章:[功能規格](features/) - 跳回:[PRD 索引](PRD.md)