? ? 提前做規劃這個做法太有誘惑力了,以至于很多人把計劃放在第一位,把實際情況和行動方案拋諸腦后,他們心想每件事情都可以預先規劃好,這是本末倒置。永遠不要忘記:地圖不是真實的地貌。
? ? 不確定性圓錐(跟PMP里的漸進明細是一個概念。),將導致預估與實際可能存在4倍的差異。Scrum的關鍵在于,要在項目執行過程中及時加以調整和改進,而不是刻板地遵循計劃。你先詳細地規劃出能夠創造新價值的部分,至于項目中的其他部分,計劃粗略一些也無妨。
? ? 我們先把任務列出來,然后確定它們的優先順序。這樣有助于找出那些真正重要的工作。
6.1 規模的確重要,但是相對規模
? ? 列出要做的事情并且排列好優先順序后,接下來就是確定這個項目需要花費多少精力,時間和資金了。但是人們不擅長評估事情,但是還好我們擅長比較大小。
? ? 6.1.1 狗點 (Dog Points)
? ? ? ? 可以通過Dog Points來評估任務的大小或重要性。一般我們都使用1,3,5,8,13這幾個數字。
? ? ? ? 當我們去評估一個任務的難度時,不必追求絕對準確。
6.2 德爾菲評估技術
? ? ? ? PMP里也詳細介紹了德爾菲技術。核心理念就是通過1對1地匿名調查,評估任務難度。具體做法是單獨讓專家進行評估,并給出相關作證信息,然后將這些信息反饋給所有專家,再進行下一輪調查。在幾輪調查之后,結果就趨于差異縮小了。這種方法很好的避免了人的從眾心理,不會因為別人的結果而影響自己的判斷。但是缺點在于比較耗時。
6.3 計劃撲克 (Planning Poker)
6.4 不要盲目執行任務,要領會用戶故事
? ? 很多時候我們只是從別人那里接受任務,卻不知道為什么要這么做。員工的問題在于沒有得到足夠的信息,而上司的問題在于沒有微下屬提供足夠的信息。面對同一條任務,當在不同的具體情況中,都會出現不一樣的結果。
? ? 所以當你面對一條任務時,要學會從用戶的角度來描述用戶渴望得到的功能,也就是學會寫“用戶故事”。
? ? 6.4.1 用戶故事三要素:角色,活動,商業價值。
? ? ? ? 6.4.1.1 角色:這就要求我們思考:誰將使用這個功能?這項任務是為誰而做的?打造這樣東西,我們應該從誰的角度出發?
? ? ? ? 6.4.1.2 活動:要求我們思考我們要完成什么樣的功能。
? ? ? ? 6.4.1.3 商業價值,或者說動機。要求我們思考用戶為什么需要這個功能,以及這個功能如何才能給客戶創造價值。這是最重要的一步。
? ? ? ? 同樣一個任務,比如造一臺汽車,在不同用戶故事里,將導致結果完全不同。比如我是住在郊區的通勤族,我想要一臺車以便開車上班,對比我是居住在猶他州荒蕪之地的農名,我想要臺車以便開車上班。這兩臺車能造成一樣的嗎?
6.5 用戶故事宜短不宜長
? ? 用戶故事宜短不宜長,以便對其進行評估。用戶故事必須是細化的,非常明確和具體的。如果用戶故事太寬泛,無法指導具體行動,可以將其分解為多個小故事。
6.6 用戶故事必須完整,任務必須徹底完成
? ? 當你撰寫用戶故事,或列出待辦任務清單時,有兩個問題很重要:用戶故事完整嗎?你如何才能知道自己已經完成了任務?
? ? 6.6.1 一個好的用戶故事,必須滿足INVEST標準
? ? ? ? 6.6.1.1 獨立性 (Independent)。盡可能讓一個用戶故事獨立于其他用戶故事。因為用戶故事之間的依賴使得制定計劃,確定優先級和工作量評估都變得困難。通常可以通過組合用戶故事和分解用戶故事來減少依賴性。
? ? ? ? 6.6.1.2 可協商性 (Negotiable)。用戶故事的內容要是可以協商的,因為用戶故事并不是合同,故事卡片上只是一句簡短的描述,不包括太多細節。具體的細節可以在溝通階段提出。如果一個用戶故事帶有太多細節,將會限制和用戶的溝通。
? ? ? ? 6.6.1.3 有價值 (Valualbe)。
? ? ? ? 6.6.1.4 可評估 (Estimable)。開發團隊需要衡量用戶故事,以便確定優先級和工作量,安排工作計劃。
? ? ? ? 6.6.1.5 規模小 (Small)。一個好的故事要盡量維持小規模,以便能在一個沖刺周期內完成。用戶故事越大,在安排計劃,工作量評估等方面的風險就越大。
? ? ? ? 6.6.1.6 可測試 (Testable)。
6.7 沖刺規劃會議
? ? 每次沖刺階段都要舉行會議,規劃本階段的工作內容,稱為沖刺規劃會議(sprint planning meeting)。團隊所有成員聚在一起,審視必須落實的用戶故事。
6.8 如何知道自己的速度
? ? 我們已經得到了全部的用戶故事,也已經對它們進行評估,得到了每個任務的dog points。當我們完成第一個沖刺時,可以把所有完成的任務列出來,得到總的dog points,這就是我們的速度。然后我們再看還有多少dog points是沒有完成的,就能知道整體預計什么時候能夠完成了。
? ? 一旦我們掌握了自己的速度,就可以著手解決Scrum中最重要的事情了:有什么因素在妨礙進度?在上一章,我們談到浪費現象,這些現象都會使你慢下來,消除浪費現象是關鍵所在。
6.9 本章重點
6.9.1 地圖不是真實地貌。不要愛上自己的規劃。
6.9.2 僅僅規劃你需要做的事情。
6.9.3 評估犬點Dog Points。
6.9.4 使用德爾菲法評估犬點。
6.9.5 使用計劃撲克評估犬點。
6.9.6 學會寫用戶故事。思考哪些客戶會從產品中得到價值,再思考究竟要為用戶提供什么價值已經用戶為什么需要這些價值。比如作為X,我想要Y,所以Z。
6.9.7 掌握自己的速度。
6.9.8 速度 * 時間 = 交付工作量。
6.9.9 大膽制定目標。