引子
最近與一位SM的討論交流時(shí),聽到他抱怨說(shuō),當(dāng)我們團(tuán)隊(duì)最初接到SE完成的產(chǎn)品需求時(shí),范圍只有一點(diǎn)點(diǎn),但是等到測(cè)試專家確定了測(cè)試策略之后,需求的實(shí)際范圍就成倍擴(kuò)展,遠(yuǎn)遠(yuǎn)超出原先預(yù)估的規(guī)模,導(dǎo)致團(tuán)隊(duì)無(wú)法在一個(gè)迭代內(nèi)完整交付。
這是怎么一回事呢?我想這位SM遭遇到了范圍蔓延的困擾。
范圍蔓延的概念
范圍蔓延,顧名思義就是說(shuō),需求在實(shí)現(xiàn)過(guò)程中,由于分析過(guò)程的深入細(xì)化,其他干系人的未識(shí)別需求逐步顯現(xiàn),出現(xiàn)需求范圍的不斷擴(kuò)大,出現(xiàn)交付進(jìn)度趨于失控的情況。這是一種未經(jīng)控制的產(chǎn)品或需求范圍的擴(kuò)大,因?yàn)樵裙浪愕臅r(shí)間、成本和資源均沒有進(jìn)行相應(yīng)的調(diào)整,這對(duì)于承接需求的團(tuán)隊(duì)來(lái)說(shuō),是不公平的,上面那位SM的抱怨是合理的。
范圍蔓延的后果
遭遇范圍蔓延的后果,必然不是好果子。要么交付延期,要么質(zhì)量下降,順帶著還會(huì)折損一些團(tuán)隊(duì)的士氣。一句話,多快好省的完美情境是不存在的,只能在范圍、進(jìn)度、成本和質(zhì)量之間取得一種動(dòng)態(tài)平衡,才能健康穩(wěn)定的交付。
范圍蔓延的分析
說(shuō)到這里,到底是什么原因讓范圍蔓延變成了現(xiàn)實(shí)問(wèn)題的。我們知道,需求的類型至少包括如下方面:功能、性能、安全、接口、質(zhì)量、可靠性、可測(cè)試性,等等等等。而用戶最初提出的需求范圍,僅僅局限于功能方面,其它一系列隱含的需求都可能沒有被提及,如果需求分析師的視角也局限于用戶提出的范圍內(nèi),那結(jié)果是可以推斷的,給出的范圍估算肯定是局部的,不充分的。剩下的需求范圍只能落到需求承接開發(fā)之后過(guò)程中逐步被發(fā)掘和分析出來(lái),其結(jié)果必然走向范圍蔓延。
范圍蔓延的控制
有沒有可行的方法來(lái)控制范圍蔓延?至少有兩種方法可以控制范圍蔓延:
1、嚴(yán)格執(zhí)行范圍變更控制,超出原先需求范圍的內(nèi)容,一律走CCB流程,就是要求項(xiàng)目給出決策,要么加時(shí)間,要么加資源,保證團(tuán)隊(duì)的交付質(zhì)量不下降。這是被動(dòng)接受型的策略,時(shí)機(jī)太遲,效果不好。
2、嚴(yán)格建立需求分析輸出模版,把各種需求類型的輸出內(nèi)容都格式化,要求需求分析師完整填寫,從結(jié)果上保證需求范圍的完整性。這是主動(dòng)減輕的策略,效果的好壞取決于執(zhí)行過(guò)程的監(jiān)控力度,效果中等。
范圍蔓延的根源
其實(shí)吧,范圍蔓延的根本原因,還是需求分析參與者的能力問(wèn)題。缺少一種系統(tǒng)的需求分析方法論的指導(dǎo)和實(shí)踐,這是源頭上的問(wèn)題。系統(tǒng)化、模型化的需求分析方法有多種形式,比如說(shuō),需求實(shí)例化,或者可視化需求建模。項(xiàng)目選擇一種適合的方法,解決人員能力的根本問(wèn)題,才能解決范圍蔓延的根源。
結(jié)論
最后回到最初與那位SM的對(duì)話,他說(shuō)我們需要重點(diǎn)學(xué)習(xí)需求實(shí)例化的分析方法,嘗試一下解決需求范圍完整的問(wèn)題,也嘗試一下解決需求場(chǎng)景拆分驗(yàn)收交付的問(wèn)題。
只要團(tuán)隊(duì)有意愿嘗試,必定有機(jī)會(huì)解決自身面臨的問(wèn)題。我們期待吧!