新聞中心
問題
如何進行優(yōu)先級排序?具體故事的優(yōu)先級,和版本規(guī)劃的優(yōu)先級之間有何關(guān)系?
分析
敏捷開發(fā)里邊有很多地方需要多次進行優(yōu)先級排序,本文將探討其不同的應(yīng)用場景,及其關(guān)系。
值得注意的一點是,敏捷開發(fā)中有無數(shù)的“自相似性”,比如估算,每年、每月乃至每天人們都在潛移默化地估計自己的任務(wù);又如計劃,也是每年每月每天都有成文或不成文的計劃;而發(fā)布,也是每個故事自成單元,而又與其他的故事構(gòu)成每月的交付,進而形成幾個月的大版本交付……
由于這些自相似的活動顆粒度不同,一定不要認為只要做一次就可以了,也不要認為用一種方法做就可以了。要就具體活動思考這一活動的目標是什么,以及如何才能更好地達成這一目標。
方案
產(chǎn)品路線圖級別的版本優(yōu)先級排序
這個是最高級別的優(yōu)先級排序,排序的預(yù)見性大約在3~5年左右;排序者一般是產(chǎn)品總監(jiān)等高級管理者;其排序的對象一般不是用戶故事,甚至不是功能模塊,而是產(chǎn)品線和產(chǎn)品。
排序思路大致是:不同的用戶群需要不同的功能 > 因此導致產(chǎn)品應(yīng)該面向客戶群開發(fā) > 識別出當前最重要的客戶群規(guī)劃下一個產(chǎn)品 > 即使相同的客戶群也需要逐步為其提供服務(wù) > 根據(jù)客戶的業(yè)務(wù)計劃或用戶的消費習慣制定產(chǎn)品的版本方案。
如果對此特別感興趣,請參考文末的鏈接。
應(yīng)該注意的是,往往公司缺少產(chǎn)品總監(jiān)的職位,或者雖然有但是極少對中長期的產(chǎn)品規(guī)劃進行計劃,所以很多時候中層的產(chǎn)品經(jīng)理也需要思考這個問題。
版本內(nèi)部的迭代優(yōu)先級排序
這個是中等級別的排序,排序的預(yù)見性大約在6~10個月左右;排序者一般是產(chǎn)品總監(jiān)和產(chǎn)品經(jīng)理;其排序的對象大約是模塊及史詩故事級別。
史詩故事
先說說什么是史詩故事。敏捷開發(fā)里邊定義史詩故事是一些“比較大”的故事,但沒有定義其絕對的尺度?;鹦侨苏J為,“業(yè)務(wù)數(shù)據(jù)”是一種很好的史詩故事尺度,比如我們說:一個產(chǎn)品(假設(shè)就是敏捷開發(fā)管理工具)要管理下面的數(shù)據(jù),請問在半年的開發(fā)周期中,應(yīng)該先開發(fā)哪些?
用戶故事,優(yōu)先級,用戶故事樹……迭×××發(fā)Sprint Backlog,迭代計劃會……人員,角色,權(quán)限……部門,團隊,小組……
我們就可以說,這樣規(guī)劃吧:
第一個月:用戶故事,優(yōu)先級,用戶故事樹……
第二個月:迭×××發(fā)Sprint Backlog,迭代計劃會,任務(wù)分配Assignment……
第三個月:人員,角色,權(quán)限……
第四個月:部門,團隊,小組……
……
第N個月:整合并發(fā)布一個版本
注意在這個尺度上,我們幾乎不討論具體的操作(比如對“用戶”,應(yīng)該有增刪改查等操作),而只會討論對哪些業(yè)務(wù)數(shù)據(jù)進行操作,這非常符合人們的工作習慣。
這種名詞性質(zhì)的業(yè)務(wù)數(shù)據(jù),就可以當作合理的史詩故事來看待。
模塊
而如果觀察每個月的內(nèi)容,會發(fā)現(xiàn)他們比較相關(guān),比如“人員,角色,權(quán)限”這三個功能,如果把它們分散到不同的迭代中,很難單獨開發(fā)。
這類強烈相關(guān)的業(yè)務(wù)數(shù)據(jù),就可以稱之為“模塊”,劃分的依據(jù)仍然是業(yè)務(wù)。
盡管很難讓每個Sprint與一個模塊一一對應(yīng),但應(yīng)該建立這種意識,即每個迭代應(yīng)該開發(fā)相對集中的一個或多個模塊。
迭代排序依據(jù)
也就是怎么決定哪個模塊或史詩故事優(yōu)先開發(fā)。人們習慣性地會根據(jù)依賴關(guān)系來開發(fā),但這不是一個好習慣。
比如,有人認為若系統(tǒng)連登錄都不能,談何繼續(xù)工作,于是就是把“人員,角色,權(quán)限”放到首位,然后很可能會是“部門,團隊,小組”,這樣萬事俱備之后,就能很好地開發(fā)用戶故事、任務(wù)分配這些功能了。其實這種做法十分不妥。
第一個可能出現(xiàn)的問題是:由于還沒有開發(fā)業(yè)務(wù),所以其實很難說清楚需要什么樣的人員、角色、權(quán)限管理辦法才能支撐業(yè)務(wù)。
第二個問題更為突出:在第二個月完成的時候,其實我們針對業(yè)務(wù)什么都還沒做,造成高層領(lǐng)導很難理解我們的進度,在投資、招人這些事情上會猶豫不決,因為我們已經(jīng)完成的功能很難幫助他下結(jié)論。
在新產(chǎn)品研發(fā)的過程中第二個問題尤為突出,高層心急如焚急需知道產(chǎn)品的競爭力,而我們正不緊不慢地搭建底層架構(gòu)。
所以正確的做法是:先從核心業(yè)務(wù)入手,進行優(yōu)先級排序。
沒有人員、角色、權(quán)限,那就大可讓每個人無需登錄就可以管理用戶故事、優(yōu)先級、用戶故事樹等;沒有部門、團隊,那就大可先認為只有一個團隊,日后再支撐多團隊。
總之,先把核心業(yè)務(wù)做出來,判斷產(chǎn)品優(yōu)劣之后再說。
迭代內(nèi)的用戶故事排序
這個是具體開發(fā)級別的優(yōu)先級排序方法,排序?qū)ο笫敲艚蓍_發(fā)的用戶故事;排序人員是產(chǎn)品經(jīng)理(PO);排序依據(jù)是“此功能在此版本中完成的必要性”。
排序依據(jù)
值得注意的一點是:此功能很重要,不等于此功能必須在這個迭代中完成,它很可能只要在版本發(fā)布前完成開發(fā)就可以了(當然,越重要就越要在早一點的迭代中實現(xiàn))。那么到底依據(jù)什么排序呢?
還是““此功能在此版本中完成的必要性””。這句話看起來很抽象,但是舉一個例子就比較清楚了。
假設(shè)這個迭代做“用戶,角色,權(quán)限”,那么應(yīng)該先做哪些用戶故事?注意這里要探討具體的用戶故事了,而非這三個史詩故事。
多半有這么幾個用戶故事:
增加用戶,刪除用戶(不小心寫錯了用戶名,而又不能修改),編輯用戶(的郵件),批量增加用戶,凍結(jié)用戶(保留記錄但禁止登錄)……
增加角色,分配角色到用戶,編輯角色(編輯角色的名字但不修改其權(quán)限),刪除角色……
增加權(quán)限,分配權(quán)限到角色(透過角色進而分配到用戶),分配權(quán)限到用戶,刪除權(quán)限……
可以看出有幾個操作幾乎是必需的:增加用戶,批量增加用戶,凍結(jié)用戶,分配角色到用戶,分配權(quán)限到角色。
而另外幾個可能不太需要,比如:增加角色(可以先寫死幾種常見的角色),編輯角色(先寫死日后再提供修改功能),增加權(quán)限……
還有幾個幾乎可以在早期版本中不要,比如:刪除角色,刪除權(quán)限(這個是基于火星人產(chǎn)品的實際情況分析的,讀者的產(chǎn)品或許不同),雖然有了更好。
MoSCoW
有了大致的概念,MoSCoW是一種具體的操作方法來幫助我們實現(xiàn)。它是這幾個詞的縮寫:
Must:這個迭代一定要做的。比如前面提到的“必需”的功能。
Should:應(yīng)該做,但若沒時間就算了。比如前面提到的“不太需要的”功能。
Could:不太需要的,但有了更好。比如前面提到的“幾乎早期版本中不要”的功能。
這樣,所有人就知道這個迭代中應(yīng)該先做什么了。不過,這和大家真的會這樣做還有點距離,經(jīng)常需要一些技術(shù)手段,比如在故事板上,把TODO的任務(wù)按MoSCoW寫在不同底色的故事卡片上,在真正完成M和S之前,不準開工W的任務(wù)。
值得注意的一點是,MoSCoW可以認為是一種思維方式,可以處理所有自相似的優(yōu)先級排序問題,未必只是迭代內(nèi)的(盡管它的設(shè)計初衷是)。
處理灰色地帶
“如果我真的有時間,應(yīng)該做那些Could的任務(wù),還是干脆做下一個迭代的Must的任務(wù)?”這真是一個問題。
理論上說,下一個迭代Must的任務(wù)比這個迭代的Could任務(wù)更重要。但本人比較傾向于每個迭代集中注意力處理一類功能,而不要零星地摻雜日后的所謂重要的功能。這樣可以有效地防止注意力分散導致的生產(chǎn)率下降。
如果你不太喜歡這個結(jié)論,其實更應(yīng)該嘗試一下流開發(fā)(日后會有詳細描述)。流開發(fā)需要的管理模式對人的要求更高,但用好了可以應(yīng)對很多這類問題。實際上火星人采用的就是流開發(fā),而非迭代式開發(fā)。
不同優(yōu)先級之間的繼承關(guān)系及處理優(yōu)先級變更
是否因為“用戶”比“部門”優(yōu)先級更高,而導致“增加用戶”比“增加部門”更高,以及“刪除用戶”比“增加部門”也更高?(注意不是“刪除部門”)另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當前文章:敏捷開發(fā)一千零一問系列之二十六:如何進行優(yōu)先級排序?-創(chuàng)新互聯(lián)
本文地址:http://fisionsoft.com.cn/article/cshpsj.html