開始接觸需求工作時(shí),在對(duì)用戶需求的溝通基礎(chǔ)上,多依據(jù)于做軟件開發(fā)的結(jié)構(gòu)化思維方式來編寫需求文檔,這種方式易陷入實(shí)現(xiàn)細(xì)節(jié)的陷阱。如何在用戶需求和軟件需求之間找到平衡點(diǎn),使得做出的產(chǎn)品即是用戶想要的又在技術(shù)可行和成本上性價(jià)比最高,甚至超出用戶期望,給用戶驚喜,開展需求工作時(shí)需認(rèn)真考慮。業(yè)內(nèi)談得比較多的‘六何法(what、why、when、who、where、how)’,在需求分析工作中同樣適用,可作為問題分析的基本習(xí)慣。下面談些自己的理解:
1、信息收集和初步分析:
what:需求是什么,解決什么人的什么問題(用戶群體、用戶規(guī)模、業(yè)務(wù)場(chǎng)景、性能指標(biāo)和組網(wǎng))?
why:背景是什么,為什么有這個(gè)需求(高層領(lǐng)導(dǎo)思路、團(tuán)隊(duì)主動(dòng)規(guī)劃需求、競(jìng)品分析需求)?
when:需求的市場(chǎng)時(shí)間(實(shí)驗(yàn)室驗(yàn)收、試運(yùn)營(yíng)和正式上線等各階段時(shí)間)?
who:需求的用戶對(duì)象是誰(如:技術(shù)部門),是否與其他用戶對(duì)象(如:業(yè)務(wù)部、內(nèi)容部、運(yùn)維部門等)有關(guān)聯(lián)?
where:哪里做(現(xiàn)場(chǎng)開發(fā)還是團(tuán)隊(duì)本地開發(fā))?
how:怎么做(需求端做可行性分析、技術(shù)團(tuán)隊(duì)負(fù)責(zé)實(shí)現(xiàn))?
需求端需要關(guān)注的幾個(gè)維度:
1.關(guān)注需求的輸入
2.關(guān)注需求的輸出
3.關(guān)注中間的業(yè)務(wù)流程
4.關(guān)注對(duì)歷史需求的影響
5.關(guān)注需求的價(jià)值延生
6.關(guān)注中間業(yè)務(wù)流程的數(shù)據(jù)回收
2、結(jié)合現(xiàn)有產(chǎn)品的情況做進(jìn)一步分析:
原則:樹葉—>樹枝—>樹干—>樹枝—>樹葉(樹X思路借鑒自《人人都是產(chǎn)品經(jīng)理》)
過程:首先,從樹葉—>樹枝—>樹干,其次,從樹干—>樹枝—>樹葉的過程。一方面不能漏掉提煉用戶需求的這個(gè)過程,目的是透過現(xiàn)象看本質(zhì),另一方面也不能停在本質(zhì)上,試想如果做到“樹干”就結(jié)束,后端的執(zhí)行人員可能還是不知道要做什么東西,所以要繼續(xù)把樹干再重新分解成樹枝、樹葉。總結(jié)成一句就是:自底向上的透過現(xiàn)象看本質(zhì)以抓心核心,自頂向下的將需求逐步分解以指導(dǎo)研發(fā)。
分析過程:
1)從業(yè)務(wù)流程的角度,搭建需求框架。
2)對(duì)各個(gè)功能需求逐步細(xì)化。
3)將需求分析過程中的疑問形成訪談清單。
4)與用戶溝通澄清,達(dá)成一致。
5)根據(jù)澄清意見修訂需求。
6)根據(jù)修訂后需求及全流程,重新梳理一遍。
7)考慮和已有功能的關(guān)系及并行下的業(yè)務(wù)處理。
8)考慮需求的外延(基于新業(yè)務(wù)規(guī)劃和運(yùn)營(yíng)數(shù)據(jù)分析),為后續(xù)迭代準(zhǔn)備。
9)考慮不同區(qū)域客戶或同一區(qū)域不同客戶的易用性需求。
10)需求查漏補(bǔ)缺,形成閉環(huán)。
讀后感:《項(xiàng)目經(jīng)理應(yīng)該知道的97件事》中關(guān)于“矛盾體的需求說明書”
良好的需求具體描述了你正努力解決的問題,并描述了為何一定要解決這個(gè)特別的問題(即需求需要說明“做什么”和“為什么要做”),這會(huì)使程序員在開發(fā)過程中更靈活、更高效和更積極。編碼人員只有致力于解決問題并深入了解這個(gè)問題時(shí),才會(huì)做出獨(dú)立的設(shè)計(jì)選擇。他們應(yīng)只受限于他們已經(jīng)選用的技術(shù),而不受限于非編程人員制作的教條式的脆弱說明書。
將你努力制作的東西與怎樣去制作它區(qū)分開來。然后,讓訓(xùn)練有素的各個(gè)團(tuán)隊(duì)成員根據(jù)他們自己在項(xiàng)目中的角色來做決定。
倘若不分清用戶需求和軟件需求說明書的界線,就會(huì)導(dǎo)致錯(cuò)誤的人在作決定。導(dǎo)致的結(jié)果無外乎兩種,要么是讓軟件開發(fā)人員來決定什么功能對(duì)客戶重要,要么是軟件項(xiàng)目經(jīng)理來告知開發(fā)人員如何構(gòu)建代碼。無論如何,都只會(huì)產(chǎn)出低劣的軟件產(chǎn)品。