一份良好的需求文檔,應(yīng)該包含哪些部分
一份良好的需求文檔,可以很好地傳遞產(chǎn)品經(jīng)理的思路,更好地實(shí)現(xiàn)與開發(fā)的溝通。
一份可讀性強(qiáng)、文脈和思路清晰、流程和功能闡述明白、頁面元素、輸入和輸出都定義明確的需求規(guī)格說明書、通常都是需要經(jīng)過幾次持續(xù)的迭代和梳理,才能逐漸完善起來。
到底需要迭代幾次,就取決于你對(duì)業(yè)務(wù)的理解能力和需求分析能力了。然而不論你迭代多少次、最終也是為了讓程序員讀到它的時(shí)候,能夠心領(lǐng)神會(huì),不用BA和PM解釋過多。愉快地實(shí)現(xiàn)玩耍和編碼,最終實(shí)現(xiàn)系統(tǒng)/產(chǎn)品(后統(tǒng)稱產(chǎn)品)的功能。
所以需求規(guī)格說明書的目的,不是為了給領(lǐng)導(dǎo)和User看(領(lǐng)導(dǎo)和User并不關(guān)心這個(gè),領(lǐng)導(dǎo)和User在乎的是這個(gè)產(chǎn)品啥時(shí)候能用,能為他們帶來什么樣的價(jià)值?。。。9ぷ髁魴n?也完全沒有必要,除非你今天做了一半要辭職回家去種田,需要工作交接。因?yàn)榻桓兑粋€(gè)良好的產(chǎn)品比這個(gè)都重要100倍。如果為了紀(jì)念,你曾把大把的時(shí)間和精力投入到這個(gè)產(chǎn)品的規(guī)劃、設(shè)計(jì)、功能交互、后臺(tái)邏輯梳理等等上面。你倒是很要必要給自己留個(gè)檔案。多年后,無意中再打開,你會(huì)看到自己成長(zhǎng)的軌跡和脈絡(luò)。
基本內(nèi)容
時(shí)間、版本、修訂者、 編寫目的、編寫背景諸如此類的內(nèi)容,就不必再多說了。我不是說這些不重要,而是這些與要實(shí)現(xiàn)的產(chǎn)品具體的需求功能均無關(guān)系。不要在這些點(diǎn)上浪費(fèi)時(shí)間,但這些小細(xì)節(jié)會(huì)體現(xiàn)出你做需求的規(guī)范、流程及專業(yè)性。
1.用戶及應(yīng)用場(chǎng)景
不同層次、不同角色的User有不同的訴求和應(yīng)用場(chǎng)景。對(duì)于BI類的產(chǎn)品不同類型的User使用數(shù)據(jù)的場(chǎng)景均不一樣,明確用戶群體、用戶角色、用戶權(quán)限等,根據(jù)業(yè)務(wù)場(chǎng)景,梳理、構(gòu)建并完善用戶應(yīng)用場(chǎng)景有助于讓需求分析更準(zhǔn)確,讓產(chǎn)品功能更全面,更貼近用戶需求。
比如一個(gè)數(shù)據(jù)分析系統(tǒng),針對(duì)不同的User,對(duì)需要做業(yè)務(wù)的一線業(yè)務(wù)人員,在設(shè)計(jì)的時(shí)候,基本上就是要通過界面展現(xiàn)關(guān)鍵指標(biāo),不涉及詳細(xì)分析功能。并且在某些指標(biāo)異動(dòng)時(shí)能及時(shí)通過手機(jī)通知。而運(yùn)營(yíng)分析的數(shù)據(jù)分析師,則必須提供多維度分析、靈活分析、對(duì)比分析、趨勢(shì)預(yù)測(cè)分析、假設(shè)分析等功能。
另一方面,不同層級(jí)User關(guān)心的功能、數(shù)據(jù)粒度都不一樣。需要站在User的立場(chǎng)上去規(guī)劃和引導(dǎo)應(yīng)用場(chǎng)景。而每一個(gè)應(yīng)用場(chǎng)景的設(shè)計(jì)是否剛好符合用戶的需求,又解決了User的痛點(diǎn)問題。這是一個(gè)大的前提和關(guān)鍵。因?yàn)橹挥性趯?shí)現(xiàn)基礎(chǔ)功能之上再考慮用戶粘度和用戶體驗(yàn)度才是有意義的,否則錦上添花的東西有時(shí)候會(huì)變的華而不實(shí)。
用戶群組、角色權(quán)限、應(yīng)用場(chǎng)景等內(nèi)容需要反復(fù)Check和逐一假定演繹系統(tǒng)的應(yīng)用場(chǎng)景,而在這樣的過程中,很有必要和User保證緊密的聯(lián)系和溝通。這也是產(chǎn)品規(guī)劃和設(shè)計(jì)的關(guān)鍵,只有在一開始,就盡最大程度的努力讓User參與進(jìn)來,關(guān)注產(chǎn)品的功能、應(yīng)用場(chǎng)景和體驗(yàn),你的設(shè)計(jì)才不會(huì)距離User太遠(yuǎn)。
2.系統(tǒng)/產(chǎn)品的目標(biāo)
通俗一點(diǎn)講,就是要解決什么問題、帶來什么價(jià)值。這本質(zhì)上是要明確產(chǎn)品需要滿足用戶的什么需求。但凡需求,均有價(jià)值和優(yōu)先級(jí)。判斷需求的價(jià)值,可用 PST方法分析,但通常這個(gè)理論都比較繁瑣。其實(shí)優(yōu)先級(jí)很容易得出,通常User急切想要的東西,或者急切想要借助一個(gè)系統(tǒng)或一款產(chǎn)品來幫助他解決業(yè)務(wù)當(dāng)中棘手的問題時(shí),這些都是優(yōu)先級(jí)比較高的需求。
這一章節(jié)的內(nèi)容,它決定了,我們要設(shè)計(jì)什么樣的產(chǎn)品,用這個(gè)產(chǎn)品能夠用來做些什么。比如一個(gè)績(jī)效系統(tǒng),主要就是要實(shí)現(xiàn)企業(yè)不同部門,不同層級(jí)、角色的績(jī)效指標(biāo)的自動(dòng)化計(jì)算、匯總、可視化呈現(xiàn)。做的好一點(diǎn),時(shí)間維度、能夠自由而靈活界定, 準(zhǔn)確而便捷地評(píng)鑒個(gè)體的績(jī)效趨勢(shì)和走向方便績(jī)效的精細(xì)化管理和追蹤。另一方面能夠從全面的職責(zé)維度出發(fā),對(duì)比和觀測(cè)不同職責(zé)的績(jī)效表現(xiàn)與趨勢(shì)。能夠更加容易、全面、公正地績(jī)效考評(píng)并有效聯(lián)動(dòng)獎(jiǎng)金激勵(lì)機(jī)制。
3.功能模塊概要介紹
這一章節(jié)是概要地介紹,你要設(shè)計(jì)和規(guī)劃的產(chǎn)品都需要具備哪些功能模塊、功能點(diǎn)、大致會(huì)有哪些主要的功能頁面來支撐這個(gè)功能模塊。
模塊的定位、模塊間的劃分與交互都需要有基本的介紹。目的主要有2個(gè):
一方面,是為了方便PM清晰地將產(chǎn)品規(guī)劃的功能落地下來,因?yàn)檫@些瑣碎的創(chuàng)意和設(shè)計(jì),只有在你具體去描述它的時(shí)候、并畫出它的Mockup的時(shí)候,它的局限性、用戶交互、用戶體驗(yàn)等種種缺陷才會(huì)展現(xiàn)出來,你才能進(jìn)行持續(xù)的思考和摒棄。通過這樣的過程,PM把這些星星點(diǎn)點(diǎn)的創(chuàng)意和設(shè)計(jì),經(jīng)過一個(gè)產(chǎn)品化(系統(tǒng)化)的體系思考、演繹之后變得生動(dòng)和流暢起來。
另一方面,功能概述的意義旨在為程序員服務(wù),程序員前期不參與需求、系統(tǒng)規(guī)劃和設(shè)計(jì),拿到需求規(guī)格說明書后,如果立馬進(jìn)入到具體某個(gè)頁面、功能點(diǎn)的詳盡規(guī)格描述里,通常都會(huì)一臉懵逼,然后開罵和抱怨。
所以功能模塊概要需要用盡量簡(jiǎn)練的語言將各個(gè)功能模塊里的主要功能點(diǎn)提煉概述而過,不拖泥帶水、不瞻前顧后。最好圖文并茂地將功能模塊的profile像一張藍(lán)圖呈現(xiàn)在程序員面前。這是他們讀需求規(guī)格說明書的一個(gè)前奏,要不然都不能愉快地編碼和玩耍。
而所有有才的程序員,大多數(shù)都是機(jī)智過人的漢子,你若遇見冰雪聰明的妹子,可以一塊共事,那該是多么大的小確幸,且行且珍惜。
有點(diǎn)才華的PM遍地都是,但才華橫溢的程序員真的是千里難尋。因?yàn)樵诰幋a和玩耍的世界里,不存在“三個(gè)臭皮匠頂一個(gè)諸葛亮”程式,一個(gè)有才而好學(xué)的程序員遠(yuǎn)遠(yuǎn)勝過10個(gè)平庸的呆笨男。
4.功能需求詳細(xì)規(guī)格說明
看到標(biāo)題,機(jī)智的程序員瞬間就懂得從愉快玩耍的前奏里,停頓幾秒后直入主題。然后開始了一場(chǎng)痛并快樂著的旅程。閱讀、思考、玩耍、編碼、加班、熬夜、糾結(jié),繼續(xù)玩耍和編碼,周而復(fù)始。那這一章節(jié)到底要寫點(diǎn)神馬,才能讓程序員讀的開心、想的明白,熬夜的甘心、糾結(jié)的痛快,從而實(shí)現(xiàn)持久的玩耍和編碼呢?這一章節(jié)是核心,我需要花更多的時(shí)間去梳理和胡說額。好吧,趕緊切入主題。
4.1.描述系統(tǒng)產(chǎn)品的容顏
按照User訪問系統(tǒng)功能模塊的界面的依次順序,從上而下,界定和描述頁面上的全部元素(Text Field、Droplist、Button、Box、可視化圖表等等)及元素的屬性。
如下拉單包含那些枚舉值,填寫框輸入的數(shù)據(jù)類型、哪些元素需要弱化,哪些元素需要突出,有/無數(shù)據(jù)時(shí)怎么樣。
描述過系統(tǒng)的容顏之后,需要明確界定,功能模塊中全部頁面的輸入和輸出項(xiàng)。比如一個(gè)可視化的報(bào)表頁面,輸入:需要選擇的組合查詢條件,輸出:要呈現(xiàn)的數(shù)據(jù)可視化圖表。
4.2.USER在界面的交互
通常,User對(duì)系統(tǒng)的體驗(yàn)都是老司機(jī),你只要告訴這個(gè)系統(tǒng)會(huì)提供什么功能、能給他帶來什么,即刻他便明白他將在系統(tǒng)里能怎么操作,能得到什么。因?yàn)閁ser永遠(yuǎn)會(huì)在最大程度地想讓自己在使用某個(gè)系統(tǒng)或者某款產(chǎn)品的時(shí)候得到最大的靈活和便捷,以及滿足感。所以,功能和用戶體驗(yàn)才會(huì)成為所有系統(tǒng)和產(chǎn)品研發(fā)的最根本的出發(fā)點(diǎn)和立足點(diǎn)。
USER在這個(gè)界面是單純的瀏覽,還是編輯,是操作的主流程,還是分支流程都需要有清晰的定義和描述。例如,一個(gè)互動(dòng)功能,不論是點(diǎn)贊、關(guān)注還是評(píng)論,我們要從用戶體驗(yàn)的角度和先后次序去闡述它:鼠標(biāo)/手指觸控/點(diǎn)擊后控件的樣式變化, 取消的時(shí)候又是什么變化等等。
很多時(shí)候,User是不愿意告訴PM實(shí)際的目的和想法,只是純粹在爭(zhēng)取他們想要什么,強(qiáng)調(diào)一個(gè)系統(tǒng)/一款產(chǎn)品必須要能夠解決掉User在業(yè)務(wù)流程里的難點(diǎn)和痛點(diǎn)。這沒有錯(cuò),但PM需要能夠站在User的立場(chǎng)上,去思考對(duì)方的真實(shí)想法,需要去分辨那些才是真正實(shí)際的、有利于業(yè)務(wù)發(fā)展的需求,然后前瞻性地考慮功能頁面的交互。在這過程中,需要不停地將很多需求點(diǎn),進(jìn)行轉(zhuǎn)換和變通。把需求的理解,從User的角度、演化為系統(tǒng)/產(chǎn)品的理解:交互和功能層面。而后,拋開體驗(yàn)層面,回歸到需求層面,不斷地驗(yàn)證和完善系統(tǒng)/產(chǎn)品設(shè)計(jì)背后的邏輯。
所以,你看到了嗎,PM的地位在User面前就像低到了塵埃里,并且還開不出花來。
4.3.系統(tǒng)產(chǎn)品業(yè)務(wù)邏輯和規(guī)則
基本上有80%的PM都停留在這一階段,認(rèn)為自己完成了基本功就是長(zhǎng)久之能,懂得畫圖懂得做原型懂得項(xiàng)目跟進(jìn),就是懂做產(chǎn)品了。
我也是一樣的,目前在一家新公司。也是處在這樣的一個(gè)邊思考邊行走的階段。但我明白,對(duì)業(yè)務(wù)的理解非常重要,只有你對(duì)業(yè)務(wù)邏輯相當(dāng)熟悉了、明白和領(lǐng)悟了基于這一系列業(yè)務(wù)邏輯之上的各種業(yè)務(wù)規(guī)則,你才有可能把產(chǎn)品做好,不然你淪為的只是老板或領(lǐng)導(dǎo)的畫圖工具,這個(gè)時(shí)候你規(guī)劃設(shè)計(jì)的產(chǎn)品的價(jià)值是很難體現(xiàn)出來的。
業(yè)務(wù)邏輯,呈現(xiàn)在系統(tǒng)里就是一個(gè)合理的架構(gòu)業(yè)務(wù)的框架,并不是具體的一個(gè)交互。深入的了解業(yè)務(wù)邏輯和規(guī)則,以及對(duì)他們的思考,明白業(yè)務(wù)為何是這樣的邏輯流程、為何這些業(yè)務(wù)流程邏輯上要設(shè)定這么多的規(guī)則?你不要試圖去改善業(yè)務(wù)流程和邏輯,因?yàn)榇蠊竞芏鄷r(shí)候輪不到你思考業(yè)務(wù)或者提出更好的業(yè)務(wù)。而且業(yè)務(wù)框架也定了,但你可以把業(yè)務(wù)梳理好,可以把需求方服務(wù)好,要一起前進(jìn)。
這也是提升的地方。明白了業(yè)務(wù)流程邏輯是什么樣子,這些流程規(guī)則上為何設(shè)定這么多的業(yè)務(wù)規(guī)則。就已經(jīng)成功一半。把這些內(nèi)容分主題、分類別、梳理出來,歸屬到規(guī)劃好的功能模塊當(dāng)中,當(dāng)然還是從User的角度、習(xí)慣、意愿去梳理規(guī)劃這一切。
5.非功能性需求
非功能的需求,本身跟User無關(guān)。比如用戶體驗(yàn)的需求,這個(gè)User不用說,PM自己要考慮。就簡(jiǎn)單的響應(yīng)方面,如果一個(gè)報(bào)表系統(tǒng),User選好組合條件,點(diǎn)擊查詢后,數(shù)據(jù)或者可視化圖表要經(jīng)過很久才能展現(xiàn)(比如超過10秒或者更久),那基本這個(gè)系統(tǒng)/或者產(chǎn)品已經(jīng)接近失敗了。另外還有一些系統(tǒng)性能和安全方面的隱性需求,都是需要進(jìn)行規(guī)劃和設(shè)計(jì)的。我在此就不一一敘述了。
作者:楊進(jìn)玉(微信號(hào)公眾號(hào)Bear-it-am),VIPABC BI產(chǎn)品經(jīng)理,4年產(chǎn)品設(shè)計(jì)經(jīng)驗(yàn),曾主導(dǎo)過企業(yè)級(jí)BI產(chǎn)品的策劃和運(yùn)營(yíng)工作。
本文由 @楊進(jìn)玉 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
首先贊一個(gè)!另外,系統(tǒng)/產(chǎn)品的目標(biāo)中,PST方法是什么?是PEST方法么?
有點(diǎn)才華的PM遍地都是?你對(duì)有點(diǎn)才華的定義是什么?
感覺不深入不全面 ?
這篇文章好雞肋 ??
然而文章并沒有聚焦到PRD上。 ??
這篇文章本身就是,有點(diǎn)冗余,不能用圖標(biāo)來闡述嗎
一份好的需求文檔 是讓開發(fā)團(tuán)隊(duì)能看懂 這個(gè)產(chǎn)品到底要做什么,每個(gè)功能點(diǎn)為什么這么做,目的是什么,所謂的輸入輸出那些,不是你產(chǎn)品該操心的事,研發(fā)可能比你更專業(yè)!
說的太對(duì)了
業(yè)務(wù)邏輯和規(guī)則是提升自己的關(guān)鍵
業(yè)務(wù)邏輯,業(yè)務(wù)流程很重要
亂,沒點(diǎn)