從4個角度談談:B端需求的演變路線
要想做出好的產品,前提就是要深刻的理解需求,需求不止是個問題,它貫穿了產品的全生命周期,它的形態不斷發生變化。
需求是什么?需求本質上就是問題,問題是什么?問題本質就是現狀和預期的差距,產品經理終其一生要做的事就是發現問題并提出問題的解決方案,同時讓這個解決方案在商業上獲得成功,這個解決方案就是我們所說的產品。
要想做出好的產品,前提就是要深刻的理解需求,需求不止是個問題,它貫穿了產品的全生命周期,它的形態不斷發生變化,需求的變化過程也是從產品從一個初步構想的點子、到形成解決方案、完成功能設計到最后形成產品的過程。
1. 用戶需求
隨著產品的推進,需求形態也會發生變化,最開始的時候,當這個需求被發現時,我們管它叫用戶需求,也許這個需求是運維或者市場人員傳達過來的二手需求,也許是產品經理和用戶調研后獲取的一手需求,也可能是通過系統的數據分析得到的優化需求,本質上都是用戶需求。
用戶需求是最原始的需求,有以下4個特點:
(1)煙囪需求
這是一個特立獨行的需求,類似的用戶都沒有這個訴求,完全是一個個性化的需求,用戶的意圖是追求滿足個人的需求,而非滿足帶有集體人格的角色需求,這類需求被稱為煙囪需求,在需求采集階段發現了這類需求要果斷拋棄掉 。
曾經我們做PMS系統,需要管項目的流程,一個項目可能涉及很多個流程環節,這些環節有嚴格的前后關系,有個別的項目經理提需求,希望能有項目信息補錄功能,可以在項目執行完畢后統一補錄,或者可以跳過某些環節。
顯然這個需求不符合企業管理上對項目經理這個角色要求的定義,管理就是要固流程,規范項目經理的操作,領導可以實時看到項目的進展,如果按照某個項目經理要求開個后門,管理目標就達不到了,這個需求就是煙囪需求。
(2)重復需求
在需求調研時,從不同渠道、不同用戶收集來的需求,可能存在很多相似或者重復的需求,這類需求在下一階段需要進行合并處理,有時這些重復的需求帶有一定的隱蔽性,只從用戶的需求描述上感覺完全是兩個不同的用戶需求,但實際上是相同的需求。
這個時候就需要了解需求的層次,不能只看表面的需求,需要理解用戶更深層次的需求,比如:一個用戶說希望把某個功能菜單改為一級,另一個用戶希望把這個功的菜單改為特殊顏色標志,只看表面確實是兩個不同的需求,我們的解決方案可能最終按照用戶的想法把菜單提升到一級并且修改了顏色,這么做是典型用戶說什么,我們就做什么,最后的結果就是把系統做爛掉。
往深層次分析一下用戶的動機,這兩個用戶的動機其實是一致的,都是為了快速找到自己常用的功能,只是分別提出了不同的解決方案。
分析到這個層次機會發現,要解決用戶的這個問題,比較好的解決方案,不是改變現有的菜單體系,而是在個人首頁單獨增加一個快速菜單的入口,這是個通用的功能,用戶可以定制自己經常訪問的功能。
(3)矛盾需求
用戶需求很多都是矛盾的,不同人提的需求有矛盾,比如:一個功能按鈕的顏色,有的用戶希望是灰色的,這樣整體色調顯得更協調,有的用戶希望按鈕顏色更深一些,可以更顯眼。
還有就是一個人提的需求,前后存在矛盾的地方,針對這類問題一定要及時和用戶溝通,有時候可能是表述上的失誤,也有可能是我們理解上問題,一定和用戶確認清楚。
(4)不可實現需求
用戶一般不會考慮技術的可行性或者開發的成本,大部分用戶都是不懂技術的,他們提出這些需求很多時候是被互聯網產品教化的結果,用戶接觸太多互聯網產品,總覺得實現起來都很簡單,人家能做你們也應該能做。
比如:原來我們做訂單管理模塊,用戶就說你們按照淘寶做就行了,有現成的可以借鑒,不用你們單獨造輪子,這就是典型的不計成本,大公司互聯網產品背后的研發團隊豈能和一個項目組同日而語,遇到這這種情況也就只能呵呵了。
2. 業務需求
業務需求是對用戶需求第一次過濾、分析后形成的需求, 業務需求本身并沒有很抽象的功能設計,用戶很容易看得懂,研發也能清晰的知道要做什么,所以業務需求更像一個用戶思維和系統思維的轉換器。
用戶需求和業務需求之間的關系是多對多,也就是說不同的用戶需求可以合并為一個業務需求,一個用戶需求也可能拆分成多個業務需求,最終產出業務需求需要經過需求識別、場景分析、流程分析、數據分析4個步驟.
(1)需求識別
這個步驟就是對用戶需求的重新篩選、整合的過程,去除技術上無法實現和煙囪需求、整合重復需求,明確矛盾需求,初步產出一個需求列表,這個需求列表還不是最終的業務需求,而是明確要做、能做、無歧義的用戶需求。
(2)場景分析
對這些明確的用戶需求通過具體的場景分析,明確產品的喚起點和喚起人,這個人就是角色,角色對B端產品而言非常重要,往往B端的產品涉及的角色更復雜。
場景的喚起存在主動喚起和被動喚起,主動喚起就是在某個場景下需要使用產品,比如:移動OA的主動喚起場景是用戶在出差的火車上、被動喚起場景是系統的一條待辦審批的短信通知。
另外做場景分析一定不要忘記例外場景分析,比如:我們設計一個工程現場管理的APP,要在現場采集一些施工檢查的圖片,很多時候施工都是在大山里,網絡環境不好,如果連不上移動網絡怎么辦, 這個是時候就要考慮在網絡不好情況下的緩存機制,后面可以直接將緩存數據導入PC服務端。
(3)流程分析
流程分析是對場景的細化,需要分析清楚具體的業務流程,這個流程不一定完全是系統流程,而是完整的業務流,有些需要在線下完成,有些需要通過系統完成,通過完整的業務流程分析,能夠基本明確不同的用戶通過系統需要完成哪些事。
流程也是分級的,管理級的流程看到的是端到端的業務線條,操作級的流程就是全流程中的一環。比如:采購過程從提出請購、采購方案立項到招標、是一個端到端的長流程,發出招標公告就是一個操作級的流程,由項目經理負責起草,相關領導審批后發出。
(4)數據分析
數據分析是在流程分析的基礎上建立業務數據模型,明確每個流程的輸入和輸出數據,然后在此基礎上梳理出整體數據模型,明確業務實體之間的關系,這個時候針對每個實體的屬性可能并不全,沒關系這是下個階段的事,現在關鍵是要出一張完整的業務數據模型圖。
是不是一定要用UML工具,我覺得也未必,UML是比較通用的語言,研發做設計是一定要用,描述需求只要能表達清楚,工具顯得不那么重要。
3. 系統需求(項目需求)
系統需求一般是指針對某個項目的定制開發需求,所以系統需求也叫項目需求,這個時候完全是根據用戶需求進行定制,不會考慮過多的靈活性、通用性、多版本。
業務需求要轉化為系統需求還要經過功能設計、交互設計和數據割接設計3個步驟。
(1)功能設計
通過業務需求的整理,輸出的是業務功能,而通過功能設計產出的是系統功能,業務功能和系統功能存在映射關系,一般也是多對多的關系。
舉例說明,業務需求是一個報表需求,但是要在系統上完全實現這個報表需求可能需要很多個系統功能去實現。
- 首先分析這個報表需要展示的字段,目前系統數據不全,需要增加一個單獨的采集功能采集更多的數據才能展示。
- 其次這個報表中的某些字段需要從現有的流程模塊中提取,而目前流程模塊記錄形式不滿足要求,需要對現有的流程模塊進行功能優化。
- 最后這個報表的數據量非常大,可能是百萬、千萬級別的,目前的技術架構在性能上無法滿足快速采集并生成數據報表,這個時候可能需要在技術架構層面進行優化,引入solr和es,可以實現數據的快速檢索。
如果不在技術架構層面改造,也需要針對這種大數據量的報表增加定時處理功能,比如每天定時生成報表推送給用戶,這在一定程度上也能規避性能問題。
經過分析發現要滿足一個報表生成的業務功能需求,需要新增1個采集功能,1個定時報表生成功能、1個報表展示功能,優化1個流程表單,甚至還要優化技術架構。
(2)交互設計
交互設計這一步就是要根據具體的系統功能,由產品經理和交互設計師配合完成,通過交互設計輸出原型,原型是系統需求的一部分,系統需求文檔和原型設計才是一份完整的需求說書。
產出高保真原型的成本很低,針對B端產品我個人建議盡量產出高保真原型,很多時候需要和用戶領導匯報,高保證原型是需求確認的最好方式,可以最大限度的避免需求理解的差異,減少后續的需求變更。
高保證原型大部分時候是由專職的交互設計師完成,產品經理和交互設計師對接的方式,根據不同的管理模式有差異。
如果設計師屬于自己的產品團隊,為了更高效的產出原型,產品經理可以通過白板畫些草圖就可以交付設計了,如果設計師是資源池共享資源,建議由產品經理先畫一版線框圖原型交付設計,當然作為產品經理具備交互設計師的能力,完全自己搞定也是可以的。
關于交互設計,相關的文章很多,我先前也寫過一些類似文章,這里不再多說。
(3)數據割接設計案
這個步驟常常是容易被產品經理忽略的,總感覺這個是研發的事,實際在B端項目實施時,每次大的迭代都可能涉及到數據割接。比如:本次迭代設計流程變更,在原來基礎上取消了幾個流程環節,這些取消的環節可能在系統上線時候有很多正在處理的待辦,這些待辦如何處理?
一種方法是通知大家,在系統上線前人工把全部待辦處理掉,還有一種方法就是把流程退回上一環節,取消當前待辦,這就需要研發寫個腳本在系統上線時統一處理,數據割接的業務規則,需要產品經理來定,研發給出割接的技術方案,最后由工程人員實施。
4. 產品需求
最后談談產品需求,產品需求是對多個項目需求的抽象總結,項目需求要干的事,產品需求都要做,功能設計、原型設計一個都不能少,除此之外有兩個關鍵點,是產品需求有別于項目需求的部分,第一是需求抽象、第二是產品版本管理。
(1)需求抽象
產品抽象的初步目標是讓系統的通用性更高,最直接的實現方式就是增加各種各樣的配置功能,滿足各種各樣的需求,整個產品的靈活性更好,需求的響應速度更快。
產品需求抽象的最終目標是不斷進行業務積累,逐漸形成自己產品線的業務中臺。
比如:一個采購管理的產品,web門戶、 采購訂單、業務告警都是這個產品的功能模塊,在這個產品里這些功能模塊抽象程度很高,但是如果現在要做一個PMS系統,也會用到web門戶,也需要對業務用戶進行進度告警,直接把采購系統的功能拿過來沒法直接用,還要進行大量的改造。
這時的辦法就是把門戶、告警單獨提出來做成共享的產品模塊,預留接口,不同的產品或者項目可以直接使用,可以快速完成不同項目的交付,所以做產品需求的目標是做中臺需求甚至是后臺需求。
(2)多版本
產品需求要考慮多版本,一個是按照市場定價,會有免費版、基本版、高級版等相關的版本,另外一個就是根據不同的行業劃分不同的版本。
#專欄作家#
奮斗De奶爸,微信公眾號:奶爸的小客棧(ID:naiba2000),人人都是產品經理專欄作家。10年以上產品、項目管理實戰經驗,關注企業供應鏈、數據中心、IT監控等產品,喜歡琢磨,希望把有價值的產品理念和實戰經驗傳遞給需要的人。
本文原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Unsplash,基于CC0協議
要想做出好的產品,前提就是要深刻的理解需求,需求不止是個問題,它貫穿了產品的全生命周期,它的形態不斷發生變化。–對這句話無比贊同
純干貨,收獲滿滿,感謝分享