火星人敏捷開發(fā)手冊筆記
Scrum敏捷開發(fā)方法
Scrum敏捷開發(fā)過程由多個沖刺(sprint)組成,每個沖刺表示一次迭代,周期通常是2-4周。在進入沖刺之前,產(chǎn)品負責人(product owner)需要提供一個產(chǎn)品待開發(fā)項(product backlog),這是一份從客戶價值理解和描述的產(chǎn)品功能條目。開始沖刺后,第一天要召開沖刺計劃會議(sprint planning meeting)。產(chǎn)品負責人按照優(yōu)先級逐一對功能進行講解,開發(fā)團隊就需求細節(jié)和完成標準進行詢問,估算任務量,然后加入沖刺待開發(fā)項(sprint backlog)。當任務量飽和時,迭代計劃會結(jié)束。在沖刺內(nèi),任務不會發(fā)生大的變化。開始沖刺后,開發(fā)團隊決定任務分配和技術(shù)選型,并逐一完成任務。每天開發(fā)團隊進行一個簡短的每日立會(daily stand-up meeting),溝通當前進度、下一步任務和遇到的問題。開發(fā)團隊還維護一張燃燒圖(burn down chart),以觀察和預測工作進度。在沖刺的最后一天,開發(fā)團隊召集評審會(review meeting),請產(chǎn)品負責人對已完成的產(chǎn)品功能條目進行評審,后者給出改進反饋。然后開發(fā)團隊召開反思會(retrospective meeting),總結(jié)本次沖刺中的成功和不足,在后續(xù)沖刺中改進。
Scrum中的工作產(chǎn)出物
- 產(chǎn)品待開發(fā)項。從客戶價值角度理解的產(chǎn)品功能列表。功能、缺陷、增強都可以是待開發(fā)項,重點描述使用方法,以客戶價值為優(yōu)先級排序。通常每個條目的工作量在0.5-10人天。
- 沖刺待開發(fā)項。從開發(fā)技術(shù)角度理解的迭代開發(fā)任務。
- 可工作軟件(working software)??山桓兜能浖a(chǎn)品。產(chǎn)品負責人、客戶代表根據(jù)可工作軟件進行評審?!安畈欢嗤瓿闪恕钡漠a(chǎn)品不應被視為可交付。
Scrum中的角色
- 產(chǎn)品負責人。負責產(chǎn)品需求的提煉、條目化、優(yōu)先級排序。
- Scrum大師。負責維護Scrum方法的秩序,協(xié)助解決非技術(shù)問題。
- 團隊(Team)。以扁平方式組織和管理,完成開發(fā)工作。團隊是“自組織”的。
Scrum實施中的一些細節(jié)
- 產(chǎn)品待開發(fā)項怎么寫。產(chǎn)品待開發(fā)項要包含角色、功能、價值三個要素。角色是用戶在該場景下的身份,功能是角色執(zhí)行的操作,價值是操作完成后,角色得到的利益。比如:作為一個觀眾(角色),可以查看電子節(jié)目單(功能),以了解一周以內(nèi)所有電視頻道的節(jié)目日程(價值)。要注意的是,角色必須明確,不能用模糊的“用戶”替代。
- 有了文檔為什么還要迭代計劃會。文檔類似電影劇本,迭代計劃會類似導言說戲。讓開發(fā)者對迭代任務和用戶價值有更全面和深入的理解。
- 如何判斷任務量飽和。通常開發(fā)者只有70%的時間可以投入到開發(fā)工作,因此每個人月安排15人天左右即為包和。對于新團隊,可能低至10人天。
- 任務量估算。采用共同估算的方式。在估算前不應指定承擔任務的開發(fā)者,而是以團隊為單位進行估算,每個人提出自己的看法,綜合起來。共同估算的目的是用集體智慧和知識對“做什么、怎么做”達成共識。產(chǎn)品負責人必須全程參與估算過程,產(chǎn)品復制人需要解答團隊提出的“做什么,做到什么程度”的問題。
- 撲克牌估算(planning poker)。產(chǎn)品負責人向團隊進行講解后,團隊中每個人獨立進行估算,選擇對應的撲克牌,扣著放在桌上。所有人都完成估算后,進行開牌。如果估算結(jié)果較為接近,以平均數(shù)作為團隊估算結(jié)果。否則讓估算數(shù)值最大和最小的人進行PK,其他人也可以參與討論。討論結(jié)束后,重新估算和開牌。
- 每日立會時長。每日立會通常10-15分鐘。
- 燃燒圖怎么畫。燃燒圖的橫坐標是時間,縱坐標是沖刺待開發(fā)項的剩余時間。
- 如何處理延期。敏捷開發(fā)采用時間盒(time boxing),即限定時間,而非限定范圍。因此迭代不會延期。對于無法完成的待開發(fā)項,放棄這個任務。
- 評審的標準。評審的標準是產(chǎn)品功能是否達到可交付標準?!安钜稽c”不能算是可交付。可交付標準在沖刺計劃會上,有產(chǎn)品負責人和團隊溝通確認。
- 反思會如何召開。反思會應當每次僅就關(guān)鍵的1-3個問題提出可行的解決方案??尚性谶@里是指:
- 一、方法簡單、影響面小、見效快。
- 二、目標不要激進,要現(xiàn)實可行,積少成多。必要時,反思會可以執(zhí)行領(lǐng)導回避制度,即具有管理職能的人回避。
- 如何分配任務。任務由開發(fā)者認領(lǐng)。
用戶建模
- 用戶建模的目的。理解哪些用戶,為解決哪些問題或達成哪些目的而使用該產(chǎn)品。
- 用戶建模的步驟。
- 一、列出盡可能多的用戶。
- 二、識別關(guān)鍵用戶,即購買決策者和主要使用者。
- 三、合并次要用戶。
- 四、面向關(guān)鍵用戶編寫用戶故事。
編輯記錄
- 2019年8月27日 建立文檔。
- 2019年10月28日 修改格式。