第十六章 溝通需求
在開(kāi)發(fā)世界的一頭吃嘿,你有業(yè)務(wù)偿荷;在另外一頭,你有開(kāi)發(fā)者和技術(shù)員唠椭。
他們已經(jīng)為這項(xiàng)業(yè)務(wù)做了一些工作跳纳。
對(duì)需求的要求是:它們傳遞的方式必須讓收到信息的人正確去讀它、理解它贪嫂、利用它寺庄。
“溝通需求”并不是必須要將需求寫(xiě)成規(guī)格說(shuō)明書(shū),但是它們必須規(guī)范到一定的程度,讓所有涉及的利益相關(guān)者都能看清楚斗塘,并且同意你對(duì)需求的理解赢织。
讓需求正確,不是讓開(kāi)發(fā)變得更加官僚主義馍盟,而是讓它更加有效于置。
1 將潛在需求變成書(shū)面需求
在網(wǎng)羅需求或制作原型時(shí),發(fā)現(xiàn)的需求并不總是準(zhǔn)確的贞岭,因?yàn)樗鼈冎皇顷P(guān)于需求的想法或意圖八毯,有時(shí)候是模糊的半成型的。
而你得到的需求規(guī)格說(shuō)明是產(chǎn)品構(gòu)建合同的基礎(chǔ)瞄桨。
因此话速,它必須包含清晰、完整芯侥、可測(cè)試的要求泊交,說(shuō)明必須構(gòu)建什么。
為了做到這一點(diǎn)柱查,我們利用了規(guī)格說(shuō)明書(shū)模板和需求項(xiàng)框架廓俭。
模板是一個(gè)拿來(lái)就可以用的需求規(guī)格說(shuō)明編寫(xiě)指南或檢查清單。
需求項(xiàng)框架是針對(duì)單獨(dú)一項(xiàng)需求的容器唉工,我們稱(chēng)之為“原子需求”研乒。
2知識(shí)與規(guī)格說(shuō)明書(shū)
在開(kāi)始編寫(xiě)需求,并將它們匯集成需求規(guī)格書(shū)之前酵紫,值得花一些時(shí)間來(lái)考慮需求過(guò)程中積累起來(lái)的知識(shí),比如下圖的需求知識(shí)模型错维。
建議大部分的信息都可以包含在規(guī)格說(shuō)明中奖地。
知識(shí)模型中的累與其他類(lèi)關(guān)聯(lián),這些關(guān)聯(lián)表示的工作關(guān)系赋焕,未來(lái)模型的信息提供了額外的意義参歹。可以將這些知識(shí)模型看作是收集管理和追蹤的需求信息的一種抽象表示隆判。
現(xiàn)在由你決定如何格式化并保存這些知識(shí)犬庇。
你決定使用怎樣的自動(dòng)化過(guò)程和手動(dòng)過(guò)程,組合來(lái)記錄和追蹤這些內(nèi)容侨嘀。
你也應(yīng)該考慮哪類(lèi)的知識(shí)的哪些部分放在哪些文檔中公布臭挽。
3 需求規(guī)格說(shuō)明書(shū)模板
需求規(guī)格說(shuō)明書(shū)模板是“站在巨人的肩膀上”完成的。
本書(shū)的作者從那些成功構(gòu)建的產(chǎn)品的需求規(guī)格說(shuō)明中咬腕,借用了一些有用的元素欢峰,把這些最好的元素打包成一份可復(fù)用的模板。
這個(gè)模板可以作為你的需求規(guī)格的基礎(chǔ),這樣你也“站在了巨人的肩膀上”纽帖。
模板包括了五大部分內(nèi)容:
- 第一部分是項(xiàng)目驅(qū)動(dòng)宠漩。這些因素首先導(dǎo)致了項(xiàng)目的發(fā)生驅(qū)動(dòng)。包括了項(xiàng)目的目標(biāo)懊直,為什么你會(huì)參與該項(xiàng)目的需求收集扒吁,以及誰(shuí)想要這個(gè)產(chǎn)品。
- 接下來(lái)是項(xiàng)目限制條件室囊。它們將限制條件的需求和結(jié)果雕崩,限制條件在項(xiàng)目啟動(dòng)階段寫(xiě)進(jìn)規(guī)格說(shuō)明,但可能有一些機(jī)制能夠更早地確定它們波俄。
- 接下來(lái)是產(chǎn)品的需求晨逝。功能需求和非功能需求,每一項(xiàng)需求都以一定的詳細(xì)程度進(jìn)行描述懦铺,這樣產(chǎn)品的構(gòu)建者就能精確地知道要構(gòu)建什么來(lái)滿(mǎn)足業(yè)務(wù)需要捉貌,要測(cè)試什么,來(lái)確保交付的產(chǎn)品滿(mǎn)足其需求冬念。
- 最后一部分是項(xiàng)目問(wèn)題趁窃。這些不是產(chǎn)品的需求,而是如果產(chǎn)品要件變成現(xiàn)實(shí)就必須要面對(duì)的問(wèn)題急前。模板的這一部分也包括了“后續(xù)版本需求”醒陆,其中保存那些不打算在產(chǎn)品的首次發(fā)布中實(shí)現(xiàn)的需求,如果你采用迭代開(kāi)發(fā)技術(shù)裆针,“后續(xù)版本需求”類(lèi)似于開(kāi)發(fā)列表刨摩。
4 發(fā)現(xiàn)原子需求
原始功能需求和非功能需求應(yīng)該寫(xiě)的更正式采用一致的結(jié)構(gòu),我們稱(chēng)之為“原子需求”世吨。
因?yàn)樗麄儾恍枰纸狻?br>
他們確實(shí)包含一些屬性澡刹,就像真正的原子,包含一些亞原子粒子耘婚。
但作為一個(gè)單元來(lái)處理更有用罢浇,這些屬性構(gòu)成了完整的原子需求,最好是看成需求項(xiàng)框架沐祷,比如我們之前提到過(guò)的白雪卡嚷闭。
5 匯編需求規(guī)格說(shuō)明
與其說(shuō)需求規(guī)格說(shuō)明書(shū)寫(xiě)出來(lái)的,不如說(shuō)是匯編的赖临。
顧客需求模板和白雪卡提供了方便的指導(dǎo)胞锰,說(shuō)明了匯編哪些內(nèi)容才能得到完整的需求規(guī)格說(shuō)明書(shū)。
模板指出了需求規(guī)格說(shuō)明書(shū)要包含的主題兢榨,白雪卡表明了每項(xiàng)源自需求需要包含的內(nèi)容胜蛉。
6 自動(dòng)化的需求工具
如果項(xiàng)目中有多位需求分析師挠进,你會(huì)發(fā)現(xiàn)隨著工作的推進(jìn)和需求數(shù)量的增加,自動(dòng)化自動(dòng)化的工具會(huì)帶來(lái)好處誊册。
工具只是為你記錄需求领突。
在你決定使用某個(gè)工具之前,請(qǐng)將需求知識(shí)模型也可用的工具進(jìn)行比較案怯,該工具能幫你記錄哪些知識(shí)君旦,不同類(lèi)知識(shí)之間的關(guān)系如何記錄,該工具能幫你維護(hù)哪些關(guān)系嘲碱。
要知道你不太可能找到一個(gè)工具金砍,能處理你的知識(shí)需求知識(shí)模型的方方面面。
但你肯定能找到一個(gè)盡可能接近的麦锯。
四處看看恕稠,你肯定會(huì)找到適合記錄供需求的工具組合。
7 項(xiàng)目問(wèn)題
項(xiàng)目問(wèn)題是需求活動(dòng)中發(fā)現(xiàn)的一些關(guān)注點(diǎn)扶欣。
我們?cè)谛枨笠?guī)格說(shuō)明書(shū)中加入項(xiàng)目問(wèn)題是擔(dān)心如果不這樣做鹅巍,就會(huì)遺漏它們。
但是如果你的組織機(jī)構(gòu)已經(jīng)有了過(guò)程或合適的文檔來(lái)記錄這些信息料祠,就不要將這些信息加到需求規(guī)格說(shuō)明中骆捧。
本章小結(jié)
無(wú)論何時(shí),如果需求分析是有所發(fā)現(xiàn)髓绽,就寫(xiě)下需求或部分需求敛苇。
并非所有的需求都是同時(shí)完成的。
正確的編寫(xiě)需求是很重要的顺呕。
一組好的需求能得到數(shù)倍的回報(bào):
構(gòu)建工作更精確枫攀,維護(hù)成本更低,完成的產(chǎn)品更準(zhǔn)確地反映了客戶(hù)的需要和想法株茶。
小婧的小結(jié):
需求規(guī)格說(shuō)明其實(shí)一直都是我們BA最關(guān)注的內(nèi)容来涨。
雖然很多的互聯(lián)網(wǎng)項(xiàng)目因?yàn)榈芷诙蹋粫?huì)形成大篇幅很正式的需求規(guī)格說(shuō)明書(shū)(SRS)忌卤,但是不論你是用什么方式進(jìn)行記錄扫夜,比如在原型上記錄楞泼,或者采用白雪卡驰徊,或者采用用戶(hù)故事。我覺(jué)得你需要“匯編需求規(guī)格說(shuō)明”堕阔,也就是將你的產(chǎn)品中的所有需求及相關(guān)屬性進(jìn)行匯編棍厂。
這個(gè)是一項(xiàng)非常重要的組織過(guò)程資產(chǎn),為后期的開(kāi)發(fā)超陆、測(cè)試牺弹、維護(hù)浦马、使用、優(yōu)化都提供了依據(jù)张漂。
第十七章 需求完整性
在需求過(guò)程的某個(gè)階段晶默,你需要發(fā)布全部或部分需求規(guī)格說(shuō)明。
因?yàn)槠渌巳玳_(kāi)發(fā)者、測(cè)試者、市場(chǎng)人員及供應(yīng)商需要它热某。
待發(fā)布的需求規(guī)格說(shuō)明不一定包括全部需求特铝。
在發(fā)布之前,需要確保相對(duì)于它的目的它是完整的鳍置。
這里使用術(shù)語(yǔ)“規(guī)格說(shuō)明”來(lái)表示你擁有的任何形式的需求組合,不一定是正式的書(shū)面規(guī)格需求說(shuō)明書(shū),甚至不一定是正式的蝴悉。
復(fù)查需求規(guī)格說(shuō)明是否完整,可以考慮如下內(nèi)容:
- 確定是否遺漏了需求
- 排列需求優(yōu)先級(jí)瘾敢,這樣構(gòu)建者能理解需求的重要性和緊急性
- 檢查需求之間的沖突拍冠,這會(huì)阻礙一項(xiàng)或多項(xiàng)其他需求的實(shí)現(xiàn)
- 預(yù)估構(gòu)建的成本,物評(píng)估項(xiàng)目所面臨的風(fēng)險(xiǎn)復(fù)查的過(guò)程是迭代式的廉丽,尋找問(wèn)題或遺漏倦微,修正問(wèn)題,這可能意味著引入新問(wèn)題正压。
需要讓這個(gè)過(guò)程迭代一次或兩次欣福,確保規(guī)格說(shuō)明書(shū)中沒(méi)有漏洞。
1 審查
有一種相當(dāng)有效的規(guī)格說(shuō)明審查方式焦履,它是一個(gè)正式的過(guò)程拓劝,稱(chēng)為Fagan審查,具體步驟如下:
- 審查過(guò)程開(kāi)始時(shí)嘉裤,有一名協(xié)調(diào)人確定要審查的材料和審查者
- 審查者收到被審查的文檔的概要郑临,他們大概有一天的時(shí)間來(lái)研究這些材料
- 審查會(huì)議限制在兩個(gè)小時(shí)以?xún)?nèi),利用以前發(fā)現(xiàn)的問(wèn)題的檢查清單來(lái)分析文檔
- 如果發(fā)現(xiàn)新錯(cuò)誤屑宠,不在清單上的錯(cuò)誤厢洞,就會(huì)更新清單
- 作者對(duì)文檔進(jìn)行返工協(xié)調(diào)人,確保所有的錯(cuò)誤已經(jīng)消除典奉,如有必要協(xié)調(diào)人會(huì)安排跟進(jìn)的審查
2 發(fā)現(xiàn)遺漏的需求
功能需求應(yīng)該足夠完成每個(gè)用例的工作躺翻。
為了檢查這一點(diǎn),假設(shè)你就是這個(gè)產(chǎn)品卫玖,把每個(gè)產(chǎn)品用例推演一遍公你。
如果做了需求要求的所有事情,是否能夠得到用力的成果假瞬,用戶(hù)是否滿(mǎn)意地認(rèn)為產(chǎn)品會(huì)完成他們的工作要求陕靠。
尋找產(chǎn)品必須處理的異常情況迂尝,復(fù)查場(chǎng)景。
針對(duì)每一步確定是否可能產(chǎn)生異常剪芥,或者是否有異常組織用戶(hù)到達(dá)這一步垄开。
針對(duì)非功能需求類(lèi)型檢查每個(gè)產(chǎn)品用例,是否具備了它需要的和合適該類(lèi)用例的所有非功能需求税肪。
3 發(fā)現(xiàn)所有業(yè)務(wù)用例
針對(duì)每個(gè)業(yè)務(wù)事件说榆,你確定業(yè)務(wù)的響應(yīng),并確定相應(yīng)的哪些部分需要由產(chǎn)品來(lái)完成寸认。
建議你每次收集一個(gè)產(chǎn)品用例的需求签财,持續(xù)到涵蓋所有業(yè)務(wù)事件為止。
4 排l需求優(yōu)先級(jí)
確定優(yōu)先級(jí)很復(fù)雜偏塞,因?yàn)樗麄兩婕安煌囊蛩爻簦疫@些因素彼此之間常常產(chǎn)生沖突。
另外由于不同的利益相關(guān)者可能有不同的目的灸叼,對(duì)優(yōu)先級(jí)達(dá)成一致意見(jiàn)可能比較困難神汹。
雖然困難,這項(xiàng)工作遲早要做古今,越早越好屁魏,越早排隊(duì)優(yōu)先級(jí)就越容易。
每項(xiàng)需求都應(yīng)該包含:顧客滿(mǎn)意度和顧客不滿(mǎn)意度評(píng)分捉腥。
這些評(píng)分幫助顧客考慮單向需求的相對(duì)價(jià)值氓拼,并對(duì)它們排列優(yōu)先級(jí)。
影響優(yōu)先級(jí)的因素有:
- 實(shí)現(xiàn)的成本
- 對(duì)顧客或客戶(hù)的價(jià)值
- 產(chǎn)品所需的時(shí)間是技術(shù)實(shí)現(xiàn)的容易程度
- 業(yè)務(wù)或組織機(jī)構(gòu)實(shí)現(xiàn)的容易程度
- 對(duì)業(yè)務(wù)的好處
- 遵守法律的要求
何時(shí)確定優(yōu)先級(jí)抵碟?
一旦存在兩項(xiàng)任務(wù)即可作出選擇桃漾。
讓需求知識(shí)變得越可視,就越有機(jī)會(huì)進(jìn)行不盲目的選擇拟逮,并幫助他人進(jìn)行選擇撬统。
不斷排列優(yōu)先級(jí)的一部分,原因是期望值管理敦迄。
利益相關(guān)者常常假定術(shù)語(yǔ)“需求“恋追,意味著這些功能肯定會(huì)實(shí)現(xiàn)。
需求實(shí)際上是一些期望和愿望罚屋,需要清楚地了解他們苦囱,以決定是否實(shí)現(xiàn)它們。
如果你在項(xiàng)目過(guò)程中一直不斷地排列優(yōu)先級(jí)沿后,人們就能夠接受這種折中沿彭,而不會(huì)感覺(jué)到欺騙朽砰。
排列優(yōu)先級(jí)讓利益相關(guān)者準(zhǔn)備好接受一個(gè)事實(shí)尖滚,也就是你不能實(shí)現(xiàn)所有的需求喉刘。
小婧的小結(jié):
需求的遺漏一直是一個(gè)大難題。
而需求的遺漏也是造成需求變更的一個(gè)非常常見(jiàn)的原因漆弄。
有的時(shí)候是BA覺(jué)得這“顯而易見(jiàn)”睦裳,不需要進(jìn)行描述。卻沒(méi)有想到會(huì)產(chǎn)生二義性撼唾。
我認(rèn)為復(fù)查等方式是非常有必要的廉邑。
特別是找別人來(lái)復(fù)查。
當(dāng)大家開(kāi)始針對(duì)一段需求的描述進(jìn)行討論時(shí)倒谷,二義性就產(chǎn)生了蛛蒙。
我們必須保證需求是清晰、明確渤愁、可測(cè)試牵祟、完整,才能保證產(chǎn)品的正確性抖格。
另外诺苹,關(guān)于需求的優(yōu)先級(jí)我覺(jué)得有多種評(píng)分方式。
現(xiàn)在簡(jiǎn)單的高中低已經(jīng)完全沒(méi)有辦法滿(mǎn)足我們?nèi)找鎻?fù)雜的產(chǎn)品的需要了雹拄。
小婧是一名行走在產(chǎn)品路上的資深業(yè)務(wù)分析師(BA)收奔,如果想與我同行,就請(qǐng)關(guān)注我吧滓玖!