系統(tǒng)的設(shè)計柬批、團(tuán)隊的協(xié)作、任務(wù)的開發(fā)計劃制定都離不開合理的需求拆解袖订,需求拆解如此重要氮帐,大家不禁要問:如何對需求進(jìn)行高效合理拆解?
下面筆者針對多年工作實戰(zhàn)經(jīng)驗洛姑,談?wù)剛€人看法上沐。
讓我們從工作中常見的2個需求拆解現(xiàn)象說起:
不知道怎么拆,一個需求做一個月楞艾,過了半個月發(fā)現(xiàn)好多坑参咙,還得一個月。
拆的千絲萬縷的關(guān)系硫眯,依賴特別多蕴侧,管理起來經(jīng)常顧了這個忘記那個。
這里介紹常見的4種拆解的方法舟铜,供大家參考戈盈,破解我們在拆解過程中的難題:
按照工作流步驟拆分
識別出操作步驟
每個步驟該做什么事
按照步驟來拆解需求
舉個簡單的例子,有個需求描述:
需求:支持創(chuàng)建檢測任務(wù)
用戶點(diǎn)擊菜單“升級檢測-灰度測試”谆刨,輸入檢測條件塘娶,請求創(chuàng)建檢測任務(wù);
XX 向部署系統(tǒng)請求獲取升級任務(wù)覆蓋的機(jī)器痊夭;
部署系統(tǒng)校驗當(dāng)前任務(wù)狀態(tài)刁岸;
部署系統(tǒng)返回升級機(jī)器序列;
XX 創(chuàng)建檢測任務(wù)成功她我。
這里的工作流虹曙,我們梳理后發(fā)現(xiàn)是這樣:
請求創(chuàng)建檢測任務(wù)
請求獲取升級機(jī)
校驗及檢查
于是,我們就可以拆解為以上三個子需求番舆,安排不同的人完成酝碳。
根據(jù)業(yè)務(wù)規(guī)則拆分
分析有哪些業(yè)務(wù)規(guī)則
討論每個業(yè)務(wù)規(guī)則流
按照業(yè)務(wù)規(guī)則拆分成小需求
比如有這樣的一條需求:XX 節(jié)點(diǎn)支持下發(fā)策略
按客戶需求配置回源量總數(shù),或者出現(xiàn)源站異常需要配置下發(fā)回源控制策略時候恨狈,需要按每個節(jié)點(diǎn)的回源數(shù)據(jù)或者節(jié)點(diǎn)數(shù)按比例下發(fā)疏哗。沒有指定情況,則統(tǒng)一下發(fā)一套策略禾怠,每個節(jié)點(diǎn)每臺機(jī)器配置相同策略返奉;
按照業(yè)務(wù)流來梳理贝搁,會知道有三個業(yè)務(wù)流:
客戶指定回源
沒有指定情況
源站異常
拆解小貼士:有些需求初看起來很簡單,但分析發(fā)現(xiàn)業(yè)務(wù)規(guī)則很復(fù)雜芽偏,在這種情況下雷逆,把一個需求按照業(yè)務(wù)規(guī)則拆解成幾個小需求,來應(yīng)對業(yè)務(wù)規(guī)則的復(fù)雜性污尉。
- 從“簡單”到“復(fù)雜”的拆分
識別出最簡單核心的業(yè)務(wù)場景
再逐個討論復(fù)雜的業(yè)務(wù)場景
按照簡單→復(fù)雜的方式拆分需求
這里也舉個需求:恢復(fù)防控制任務(wù)
恢復(fù)任務(wù)首先需要判斷是否已經(jīng)超過防護(hù)控制任務(wù)時效膀哲,如果超過時效,提示“該任務(wù)已經(jīng)超過防護(hù)控制任務(wù)時效被碗,任務(wù)恢復(fù)失敗等太,如需繼續(xù)控制,請點(diǎn)擊列表中任務(wù) ID蛮放,進(jìn)入詳情界面進(jìn)行修改缩抡。”包颁,控制狀態(tài)顯示“失控”瞻想,執(zhí)行狀態(tài)變?yōu)椤啊觥薄H绻麤]有超過時效娩嚼,則重新校驗報警指標(biāo)走控制流程蘑险,控制狀態(tài)為“在控”。
看這一段的文字岳悟,好像有點(diǎn)繞暈了佃迄,我們來按照"簡單"??"復(fù)雜"的原則來理一下:
正常恢復(fù)的邏輯(最簡單的邏輯)
超過時效的邏輯
繼續(xù)控制(不恢復(fù))的邏輯
拆解小貼士:當(dāng)團(tuán)隊在討論某個需求變得越來越大(關(guān)于 X 怎么樣贵少?你考慮過 Y 嗎呵俏?),停下來并問一問:“可以工作的最簡單版本是什么滔灶?“普碎,捕捉這一簡單版本做為一個單獨(dú)的需求,然后往上加需求的復(fù)雜度录平,就會輕松很多麻车。
穿刺技術(shù)
需求可能過于復(fù)雜,或者現(xiàn)在根本就難以理解斗这,在這種情況下动猬,先利用穿刺技術(shù)探索,消除需求的風(fēng)險和不確定性表箭,然后基于穿刺的結(jié)果赁咙,分割原來的需求。
技術(shù)穿刺:技術(shù)的基本研究,使團(tuán)隊熟悉新技術(shù)或新領(lǐng)域
功能穿刺:用戶交互實體模型序目、線框、頁面流等
根據(jù)穿刺結(jié)果伯襟,再使用其他的方法拆解需求猿涨,穿刺本身就是一個獨(dú)立的“需求”。
需求拆解小結(jié):
當(dāng)做好需求拆分后姆怪,我們?nèi)菀紫萑胍粋€困惑叛赚,拆到什么程度算完呢?拆太細(xì)了稽揭,團(tuán)隊投入有點(diǎn)大俺附,拆太粗了,好像起不到作用溪掀。
每個團(tuán)隊的實際情況不太一樣事镣,敏捷中也有指導(dǎo)的 INVEST 原則,但我這里強(qiáng)調(diào)一下做拆分的目的:是要更快速地流動揪胃、更快地得到反饋璃哟,所以,當(dāng)你無法做到十全十美喊递,至少做到:
獨(dú)立随闪、可測試
小周期(比如可以是小時、不大于 1-5 天骚勘,根據(jù)團(tuán)隊的實際來達(dá)成一致)