原文鏈接:Managing Product Development by Integrating Around Concerns
by Ryan Singer (@rjs)
產(chǎn)品設(shè)計(jì)時(shí)怎樣為需求劃分優(yōu)先級(jí)秽誊?開(kāi)發(fā)過(guò)程中如何監(jiān)控所有功能點(diǎn)的進(jìn)度构韵?產(chǎn)品的整體規(guī)劃是怎么完成的?如何有效避免開(kāi)發(fā)過(guò)程中由于規(guī)劃問(wèn)題導(dǎo)致的需求變更?
很多人好奇我是如何做產(chǎn)品開(kāi)發(fā)規(guī)劃的留美?這通常是產(chǎn)品經(jīng)理需要考慮的問(wèn)題而非僅限于開(kāi)發(fā)者或者程序員。完善的產(chǎn)品開(kāi)發(fā)計(jì)劃不僅是高效完成當(dāng)期工作的保證射沟,同時(shí)還能在未來(lái)的迭代過(guò)程中為我們指明里程碑路徑套蒂,幫助產(chǎn)品經(jīng)理更有彈性的分配研發(fā)資源,最終完成與MRD相一致或者更為完善的產(chǎn)品吟榴。
作為產(chǎn)品經(jīng)理魁蒜,如果你一直在重復(fù)設(shè)計(jì)著同樣的產(chǎn)品,這篇文章對(duì)你不會(huì)有太大的幫助吩翻。我喜歡創(chuàng)新性的工作兜看,這就導(dǎo)致我很難準(zhǔn)確的估算開(kāi)發(fā)工作量或者某一個(gè)功能是否真的可以滿(mǎn)足用戶(hù)的需求。在這個(gè)情況下狭瞎,我嘗試用我自己的方法來(lái)應(yīng)對(duì)未知的工作细移。
每當(dāng)我開(kāi)始一個(gè)新項(xiàng)目的時(shí)候,并沒(méi)有現(xiàn)實(shí)的產(chǎn)品存在熊锭。在一件產(chǎn)品變成現(xiàn)實(shí)之前弧轧,我們會(huì)腦暴或者調(diào)研出無(wú)數(shù)的用戶(hù)需求、功能規(guī)劃球涛、產(chǎn)品目標(biāo)等信息劣针。我可以輕易列舉出上百個(gè)務(wù)必完成的功能模塊。舉例來(lái)說(shuō):僅僅一個(gè)會(huì)議日程管理的應(yīng)用亿扁,就必須包含活動(dòng)日程表、來(lái)賓簽到表鸟廓、簽到流程、支付流程、信用額度及折扣管理等家坎。所有的這些功能都等著你一步步地實(shí)現(xiàn)疮茄。
另外,每一個(gè)功能模塊都包括了更多需要在PRD中體現(xiàn)的細(xì)化功能點(diǎn)员咽。僅來(lái)賓簽到表就包含區(qū)域管理毒涧、校驗(yàn)規(guī)則、錯(cuò)誤狀態(tài)反饋贝室、瀏覽器適配契讲、UI設(shè)計(jì)等更多方面仿吞。在需求提交開(kāi)發(fā)之后,所有的這些需求必須被正確的劃分成功能點(diǎn)捡偏,還得確保被正確的執(zhí)行以保證高可靠性與可維護(hù)性唤冈。
我們上面提到的這些功能模塊還沒(méi)有包括各個(gè)組織模塊之間的交互以及依存性關(guān)系等。所以银伟,如果你企圖在需求調(diào)研階段搞定所有的功能點(diǎn)規(guī)劃你虹,那會(huì)是很恐怖的工作量。
怎樣才能更好地規(guī)劃產(chǎn)品的需求優(yōu)先級(jí)呢彤避?我通常把這些大塊的功能點(diǎn)想象成一個(gè)未經(jīng)探索的地圖傅物。這張地圖包含了所有針對(duì)用戶(hù)痛點(diǎn)的需求,而我的任務(wù)就是把不同的功能模塊串聯(lián)起來(lái)琉预,并探開(kāi)整片地圖挟伙。為了更有效的確定哪些區(qū)域是已經(jīng)探索過(guò)的,哪些仍然被戰(zhàn)爭(zhēng)迷霧籠罩模孩,我們首先應(yīng)該把整片地圖劃分為不同的區(qū)域尖阔。
這幅圖片僅僅展示我腦中的開(kāi)發(fā)計(jì)劃。在實(shí)際工作中榨咐,我使用清單來(lái)管理他們介却。(譯者更多的使用思維腦圖,工具不同块茁、各有千秋)
在我們完成區(qū)域標(biāo)定之后齿坷,下一步的工作就是權(quán)衡需求的優(yōu)先級(jí)。會(huì)為你的目標(biāo)用戶(hù)提供同樣的價(jià)值的兩個(gè)需求是不存在的数焊。有些解決用戶(hù)核心問(wèn)題的功能必須要首先開(kāi)發(fā)永淌,因?yàn)殡x開(kāi)他們整個(gè)應(yīng)用都是毫無(wú)價(jià)值的。另外一些錦上添花的功能雖然同樣必不可少佩耳,但優(yōu)先級(jí)不必太高遂蛀。當(dāng)我看著這幅被戰(zhàn)爭(zhēng)迷霧籠罩的地圖,我會(huì)問(wèn)自己三個(gè)非常重要的問(wèn)題
- 從用戶(hù)的角度看干厚,這個(gè)功能有價(jià)值么李滴?
- 這個(gè)功能屬于“缺一不可”還是“錦上添花”?
- 這個(gè)功能點(diǎn)的最終表現(xiàn)形式是什么蛮瞄?什么情況下才算是開(kāi)發(fā)完畢所坯、測(cè)試合格?
你必須明白這條法則:產(chǎn)品中沒(méi)有兩個(gè)功能的價(jià)值是一模一樣的挂捅!UI與RD會(huì)嘗試把他們自己負(fù)責(zé)的所有工作做到盡可能的完美芹助。作為產(chǎn)品經(jīng)理,如果你提升了交付標(biāo)準(zhǔn),開(kāi)發(fā)團(tuán)隊(duì)的這種“務(wù)求最好”的工作態(tài)度很有可能會(huì)導(dǎo)致開(kāi)發(fā)進(jìn)度延期以及成本的增加状土。你需要自己衡量這些投入的價(jià)值无蜂,把更多的資源向關(guān)鍵功能傾斜。
在項(xiàng)目開(kāi)始初期声诸,我根據(jù)上面三個(gè)問(wèn)題的答案粗略地給主要功能點(diǎn)劃分優(yōu)先級(jí)酱讶,來(lái)找到最重要的那些需求。就好像《Getting Real》所說(shuō):“找到震中彼乌!”
或者我們換一個(gè)思路來(lái)衡量功能點(diǎn)的優(yōu)先級(jí):哪些功能才是促使用戶(hù)打開(kāi)應(yīng)用的關(guān)鍵泻肯!你會(huì)用微信看新聞么?你會(huì)用微博跟閨蜜聊天么慰照?面向?qū)ο蟮脑O(shè)計(jì)方式比傳統(tǒng)的面向過(guò)程的設(shè)計(jì)流程更加有效灶挟。舉例來(lái)說(shuō),我們到底是先開(kāi)發(fā)“看似需要”的用戶(hù)授權(quán)系統(tǒng)還是先投入資源完成“缺一不可”的重要模塊開(kāi)發(fā)毒租?
當(dāng)我們完成需求的優(yōu)先級(jí)分類(lèi)工作之后稚铣,就可以把上面的地圖變成熱點(diǎn)圖,并從中發(fā)現(xiàn)產(chǎn)品中的哪些功能才是更有價(jià)值的墅垮。
不要糾結(jié)一次就給每個(gè)區(qū)域都準(zhǔn)確地標(biāo)明優(yōu)先級(jí)惕医。重要的是明確找出那些事情是我一定要在第一步完成的。等這些事情搞定之后算色,就把優(yōu)先級(jí)標(biāo)定的流程再做一遍然后找出下一批最重要的事情抬伺。往復(fù)循環(huán),直到整個(gè)產(chǎn)品全部完成灾梦。
還是上面這個(gè)關(guān)于會(huì)議管理應(yīng)用的例子峡钓,“在線注冊(cè)與支付系統(tǒng)”給用戶(hù)帶來(lái)了最大的價(jià)值。用戶(hù)首先會(huì)因?yàn)檫@兩個(gè)方便的功能而使用我們的產(chǎn)品若河,與這兩個(gè)功能近乎同樣重要是“注冊(cè)數(shù)據(jù)的快速統(tǒng)計(jì)”能岩。用戶(hù)可以通過(guò)這些數(shù)據(jù)知道所需的場(chǎng)地規(guī)模與工作餐數(shù)量。其次萧福,用戶(hù)授權(quán)與賬號(hào)管理功能也需要盡快上線拉鹃,但他們?cè)趦?yōu)先級(jí)中排名第二。最后统锤,我們還能上線一些優(yōu)化類(lèi)的功能來(lái)幫助用戶(hù)更好的使用毛俏,例如數(shù)據(jù)導(dǎo)出等。
好了饲窿,現(xiàn)在我們可以開(kāi)始做些實(shí)際工作了。我們先從最重要的會(huì)議登記表開(kāi)始焕蹄。注冊(cè)表的界面設(shè)計(jì)將會(huì)首先進(jìn)行逾雄,因?yàn)槲蚁M迷O(shè)計(jì)來(lái)驅(qū)動(dòng)整個(gè)項(xiàng)目,而不是開(kāi)發(fā)的難易程度。當(dāng)我真正開(kāi)始UI設(shè)計(jì)時(shí)鸦泳,我發(fā)現(xiàn)仍然有好多關(guān)于產(chǎn)品的設(shè)想银锻。
整個(gè)會(huì)議登記模塊其實(shí)是一系列小功能點(diǎn)的集合。我們需要考慮很多應(yīng)用場(chǎng)景而不單單是設(shè)計(jì)一張表格做鹰。什么樣的情況是注冊(cè)成功击纬?什么情況是注冊(cè)失敗钾麸?需要設(shè)計(jì)郵件模板么更振?如果我們不能列出所有的小需求點(diǎn),我們就很難順利的完成開(kāi)發(fā)工作(說(shuō)白了就是提前想清楚饭尝、別亂改需求)肯腕。為了更有效率的完成這些功能點(diǎn),我們需要把剛才的區(qū)域標(biāo)定工作在“會(huì)議注冊(cè)”這塊區(qū)域里再做一次钥平,把整個(gè)區(qū)域進(jìn)一步細(xì)化实撒。這是一個(gè)層層遞進(jìn)的過(guò)程。
現(xiàn)在產(chǎn)品需求已經(jīng)細(xì)化到足夠的顆粒度涉瘾,我開(kāi)始進(jìn)行界面設(shè)計(jì)知态,首先規(guī)劃出不同的狀態(tài),接著加入細(xì)節(jié)與原型模板立叛。這個(gè)時(shí)候负敏,開(kāi)發(fā)人員將在這個(gè)時(shí)間段進(jìn)入項(xiàng)目。這時(shí)其實(shí)才是整個(gè)產(chǎn)品開(kāi)發(fā)工作的開(kāi)始囚巴。
這時(shí)原在,大多數(shù)產(chǎn)品經(jīng)理會(huì)將整個(gè)團(tuán)隊(duì)劃分為不同的角色,例如“設(shè)計(jì)團(tuán)隊(duì)”彤叉、“開(kāi)發(fā)團(tuán)隊(duì)”庶柿,并分配給他們不同的“任務(wù)列表”。
這個(gè)管理方式的缺陷在于:兩個(gè)不同角色的工作實(shí)際是割裂的秽浇,沒(méi)有人能同時(shí)了解對(duì)方團(tuán)隊(duì)的開(kāi)發(fā)進(jìn)度浮庐,因?yàn)檫@樣的團(tuán)隊(duì)劃分不能與我們之前的地圖相交互。
為了解決這個(gè)缺陷柬焕,我通常使用面向?qū)ο蟮姆椒▉?lái)劃分任務(wù)列表审残。如下圖:
我可以非常清晰明了的從新版的任務(wù)列表中知道整個(gè)會(huì)議注冊(cè)模塊每一個(gè)細(xì)分功能點(diǎn)的情況。每當(dāng)一個(gè)子列表的所有確認(rèn)項(xiàng)被完成斑举,都意味著這個(gè)產(chǎn)品已經(jīng)有一部分已經(jīng)開(kāi)發(fā)結(jié)束搅轿、可以進(jìn)入測(cè)試環(huán)節(jié)了。我喜歡這樣的任務(wù)列表富玷,因?yàn)槲铱梢郧宄刂烂恳粋€(gè)細(xì)微部分的具體情況璧坟。
在產(chǎn)品地圖上給一個(gè)區(qū)域標(biāo)明“完成”是非常激動(dòng)人心的既穆!因?yàn)檫@需要設(shè)計(jì)團(tuán)隊(duì)、開(kāi)發(fā)團(tuán)隊(duì)雀鹃、支持團(tuán)隊(duì)與測(cè)試團(tuán)隊(duì)的通力合作幻工。面向整個(gè)功能模塊的任務(wù)列表可以把所有的成員都放在一個(gè)平面內(nèi)進(jìn)行討論,最大化溝通效率黎茎,因?yàn)閳F(tuán)隊(duì)的每個(gè)成員都隨時(shí)準(zhǔn)備跟其他人配合解決問(wèn)題囊颅。舉個(gè)例子來(lái)說(shuō):當(dāng)開(kāi)發(fā)對(duì)界面設(shè)計(jì)有疑問(wèn)時(shí),馬上就可以找到相關(guān)的設(shè)計(jì)人員傅瞻;而測(cè)試人員在發(fā)現(xiàn)問(wèn)題后可以直接推送回開(kāi)發(fā)去修改踢代。
我的這種方法適應(yīng)性很強(qiáng),不管你是自己工作俭正、在小組工作奸鬓、或者是與大型團(tuán)隊(duì)公事,都可以非常好的掌控整個(gè)產(chǎn)品開(kāi)發(fā)進(jìn)度掸读、了解每一個(gè)功能點(diǎn)的具體情況串远,幫助你快速準(zhǔn)確的從一個(gè)模塊開(kāi)發(fā)轉(zhuǎn)入下一個(gè)模塊開(kāi)發(fā)。
不論何時(shí)何地儿惫,只要看到這份開(kāi)發(fā)地圖澡罚,我就會(huì)問(wèn)自己:“我們?cè)谀睦铮俊辈⒋_認(rèn)項(xiàng)目的任務(wù)列表肾请。我希望知道哪些需求已經(jīng)被完成了留搔,而哪些仍在進(jìn)行;哪些問(wèn)題已經(jīng)得到了解決铛铁,而哪些仍在排期隔显?在過(guò)去的數(shù)年中,通過(guò)把數(shù)百個(gè)細(xì)化功能點(diǎn)用十幾個(gè)功能模塊概括出來(lái)的產(chǎn)品開(kāi)發(fā)管理方法饵逐,幫助我對(duì)每個(gè)項(xiàng)目都保持清晰地視角括眠。
這篇文章包含了下列重要的觀點(diǎn):
- 不要覺(jué)得產(chǎn)品的未開(kāi)發(fā)部分所包含的需求優(yōu)先級(jí)是永遠(yuǎn)不變的。
- 你需要在心中對(duì)整個(gè)產(chǎn)品關(guān)鍵功能模塊有整體性的規(guī)劃倍权。
- 要細(xì)心的衡量每個(gè)產(chǎn)品功能模塊的價(jià)值掷豺,明確他們存在的必要性以及各自的特色。不要像傻瓜一樣只聚焦在那些“需要薄声,但是卻毫無(wú)差異化競(jìng)爭(zhēng)力的功能”上面当船,例如:用戶(hù)授權(quán)功能。
- 每一個(gè)功能模塊都是由更多的次級(jí)功能點(diǎn)構(gòu)成默辨,你同樣可以衡量他們的價(jià)值并確定開(kāi)發(fā)順序德频。
- 不要使用”角色“型的任務(wù)列表來(lái)追蹤開(kāi)發(fā)進(jìn)度。你需要明確整個(gè)團(tuán)隊(duì)任務(wù)每一個(gè)組成部分的完成情況缩幸,確認(rèn)后才可以開(kāi)始進(jìn)行下一項(xiàng)工作抱婉。
- 將整個(gè)團(tuán)隊(duì)的工作綜合管理档叔,并允許每一個(gè)成員提出疑義桌粉。同時(shí)蒸绩,每個(gè)成員都要做好幫助他人的準(zhǔn)備。
- 一個(gè)健康的產(chǎn)品開(kāi)發(fā)過(guò)程是穩(wěn)定的铃肯,所有的需求是逐步實(shí)現(xiàn)的患亿,不要奢望一步登天。
- 我們的最終目標(biāo)是在開(kāi)發(fā)過(guò)程中清楚地朝著未知區(qū)域前進(jìn)押逼。產(chǎn)品經(jīng)理應(yīng)該經(jīng)常提問(wèn):“我們?cè)谀睦锊脚海俊辈⒅獣阅男┬枨笫且呀?jīng)完成的,哪些是還未完成的挑格,哪些是正在開(kāi)發(fā)的咙冗,哪些是正在排期的,哪些是令人滿(mǎn)意的而哪些需要優(yōu)化等漂彤。
本譯文微信首發(fā)“三節(jié)課”公眾號(hào)