產品與使用者理解
說明產品需要達成的成果,以及這項變更是為誰而做。
- 產品意圖、優先順序、預期成果和非目標
- 使用者角色、需要、使用情境、旅程和例外情況
- 領域術語、業務規則和資料語意的詞彙表
- 產品專屬方法,包括會影響系統行為的計算方法
知識系統
知識系統是規格優先交付(Spec-First Delivery)的核心產物,將產品、領域、工程、品質、安全與營運知識隨軟體一併交付。它保留可持續沿用的產品知識,讓其他合資格的參與者在進行重要變更前無須重新摸索。
知識系統中應與軟體一同交付的組成部分。
並非每項變更都需要以下所有資料。變更負責人應明確指出哪些知識相關、哪些來源具有權威,以及哪些問題仍需要由適當的人作出決定。
說明產品需要達成的成果,以及這項變更是為誰而做。
說明系統如何支援業務,以及誰對其業務意義和相關決策負責。
充分描述現有系統,讓技術決策有可靠依據。
明確說明建議工作必須遵守什麼,以及不得變更什麼。
保留形成目前規格的推理過程,讓後續工作可以查閱。
程式碼是判斷系統實際行為的最終依據。
撰寫規格
以下做法適用於產品負責人、產品經理、專案經理、業務分析師、開發主管、架構師、軟體工程師、QA 工程師、安全工程師、可靠性工程師,以及任何撰寫重大需求或技術方向的人。
請 AI 對照相關知識檢視需求,找出正常與例外流程、假設、缺漏資訊、衝突、相依關係和驗收問題。目標是在任何人開始實作前,盡量減少猜測。
把新確認的資訊記錄在適當的知識來源。若更新屬於另一職能負責的文件,應請文件負責人審查。產品行為、資料、安全、可靠性、營運或架構問題,應交給負責相關決策的同事處理。
具明確責任歸屬的審查者應檢視每項陳述是否正確、完整,並核對工作範圍、限制、必須保留的行為、相依關係和驗收條件。他們需要消除模糊之處、找出尚未完成的決策,並記錄由誰作出決定。
功能規格描述所需行為、使用者、業務規則、例外情況和驗收條件,並避免加入不必要的技術選擇。非功能規格可以說明安全、可靠性、效能、營運和技術需求,但不應代替軟體工程師作出實作設計決策,除非相關決策已經明確審查並指定負責人。
記錄重大技術選擇、曾考慮的替代方案、決策負責人、理由、後果,以及需要重新檢視決策的條件。後續撰寫者和審查者不應再花時間追查組織為何選擇目前做法。
規格成為知識
經審查的規格會納入知識系統。它們協助工程師規劃實作、協助 AI 理解獲授權執行的工作、協助審查者判斷成果是否符合規格,也協助產品和品質角色判定成果是否符合已同意的條件。
交付後,產出的程式碼、決策、證據、偏差和營運所得知識都應更新同一套系統。這種延續讓另一位合資格的參與者可以繼續工作,而不必從個人記憶或只看原始碼重新拼湊關鍵意義。