一個PRD的誕生 | 教新手設(shè)計一個頂級表單定制后臺PRD

21 評論 16353 瀏覽 263 收藏 42 分鐘

在我面試幾百個產(chǎn)品經(jīng)理的經(jīng)歷中,我發(fā)現(xiàn)很多產(chǎn)品新人都在學(xué)習(xí)一些質(zhì)量不高的教程。這些教程通常用前大半截的篇幅來介紹一些形而上的理論,真的到了實操階段卻草草收尾,只教你一些表面的東西,例如流程圖長什么樣、動態(tài)面板怎么畫,很少去討論在真正的工作中,一個PRD到底是怎樣誕生的。所以我想做一些教程給你們看,讓你們能夠真正掌握實操的過程。

但在我整理過去作品的這段時間里,我發(fā)現(xiàn)很少作品可以寫成圖文教程,因為我采用的都是面向?qū)ο蟮脑O(shè)計方法,每個模塊都是靜態(tài)的,模塊之間是互相成就的,不存在一個“線性的流程”。用幾小時視頻加上我的嘴炮旁白是可以做到的,但是用圖文的形式就很難表達(dá)清楚。

每當(dāng)這種時候我都很希望能掌握電影《降臨》中外星人傳授給地球人的表意文字。一個水墨狀的圓弧上,每一個突觸都代表一個事物,突觸之間的位置關(guān)系代表了它們在這個故事里的角色。這個故事沒有開頭和結(jié)尾,你可以用一萬個聲音去敘述這個故事,而故事本身卻并不復(fù)雜,因為時間的一維方向性在這里被打破,只有角色,和角色之間的所有的關(guān)系。

不過這個系統(tǒng)是個例外,它是我上家公司政務(wù)SAAS系統(tǒng)中的一個小功能,叫做簡易表單系統(tǒng)。顧名思義,它比較簡易,因此它有機會寫成圖文教程。

寫這篇教程之前,我花了半天的時間來整理它的提綱,然后花了一天半的時間從以前的文檔里慢慢找到配圖并PS。從提綱來看,雖然沒有介紹到全部的思路,但是我在敘事結(jié)構(gòu)上做了一些取舍,讓你可以更輕松地跟著我的思路走下去,所以現(xiàn)在我們進(jìn)入正題。

注:本文在第3章之前都是抽象邏輯探索,你可能會覺得枯燥而跳過。但是當(dāng)你看完后面的原型章節(jié)之后,你會發(fā)現(xiàn),你還是得返回來重看一遍。

立項和整理需求

我不會人五人六地告訴你我是怎么調(diào)研市場和研究競品的,因為這個項目不存在。在實際的互聯(lián)網(wǎng)公司工作中,很多痛點是痛到不行的,但是很多時候大家對痛苦的忍受程度、愚鈍程度也是超過你想象的,越大型、人均頭發(fā)數(shù)量越少的公司越是這樣。

這種時候,產(chǎn)品經(jīng)理也很容易因為壓力而隨波逐流,但你的使命就是去做指路人。只要把你的方案表述出來,告訴別人怎么你是怎么解決老板和大家的痛苦的,你就可以立項。調(diào)研報告和各種炫彩的ppt不是必須的,它們通常是因為你的策劃案不夠漂亮,或者大家還不夠相信你。沒有什么ppt能比一個漂亮的落地計劃直接甩在大家臉上更有說服力。

上圖是某個銀行給我們的Excel表,他們想把這套表格搬到線上來,圖里只是其中一個合作銀行的一部分的表格。而且,我們當(dāng)時在做的也不光是銀行的線上表單,剛好還有某個地區(qū)政府的科創(chuàng)局也需要上線一個系統(tǒng),讓企業(yè)用在線表單填寫信息上傳上去。

當(dāng)你看到這樣的可怕的表格,不是上圖這一份,而是十幾份,你會怎樣做?

“讓我們直接一頁一頁畫成原型,然后交給程序員一個字段一個字段開發(fā)吧!”——在我看到我的產(chǎn)品經(jīng)理莫名其妙地加班、程序員也在莫名其妙地加班之前,他們就是這樣做的。我現(xiàn)在截圖給你看,你會覺得這樣很愚蠢,然而當(dāng)你身臨其境的時候,每天被老板分配的任務(wù)壓到喘不過氣的時候,你真的會很容易失去跳出來說皇帝沒穿衣服的勇氣。

顯然你要去制作一個通用的表單系統(tǒng),這個表單系統(tǒng)能照顧到這些不同的數(shù)據(jù)填寫需求,讓程序員開發(fā)出來,然后撒手不管,丟給客戶或者運營去配置具體的數(shù)據(jù)。

很多產(chǎn)品經(jīng)理不知道去分辨老板哪些指令是專業(yè)的,哪些是業(yè)余的,自己甘心做一個“需求翻譯器”,還納悶為什么自己的需求不被人好好執(zhí)行。其實你的方案能讓大家少加班,還能讓大家出品更好,你的威信就在不斷建立,大家就會把你當(dāng)做指揮官。

當(dāng)遇到客戶或者老板丟給你十幾張Excel表的時候,你首先要看這些表格是不是規(guī)范的。如果是一張大寬表,所有的數(shù)據(jù)都被整理得井井有條的,那就不需要去梳理它,可以直接走下一步。但是如果你遇到的是我這樣的,不同的幾個機構(gòu)給的不同的表格,而你想把它們都做成一個表單系統(tǒng),那你就需要先去好好梳理這些數(shù)據(jù)了。

梳理數(shù)據(jù)時不要挑軟柿子,而是要去挑那些最硬的柿子。比如有些表格要求用戶上傳各種附件,有些表格的行數(shù)是不確定的,有些表格的層級數(shù)量特別多……你并不是要把所有客戶給的數(shù)據(jù)項全部整理到xMind,而是把這些難點在梳理的過程中理順。一旦把這些都理順了,就不需要再繼續(xù)梳理下去了。

我在第二步(右圖)嘗試著把梳理出來的數(shù)據(jù)轉(zhuǎn)化成業(yè)務(wù)模型,新手不要這樣做。因為畫這種模型的基礎(chǔ),是你已經(jīng)可以很嫻熟地撰寫業(yè)務(wù)邏輯文檔,從而能夠直接憑空想象這些文檔,在大腦里直接把它圖形化。這種能力對我來說,是在我寫過至少80萬字的文檔之后才產(chǎn)生的。

撰寫后端邏輯文檔

大部分產(chǎn)品經(jīng)理不會撰寫后端邏輯文檔,而在傳統(tǒng)的游戲界,這個技能是普遍存在的。這跟互聯(lián)網(wǎng)行業(yè)資金太多,產(chǎn)品經(jīng)理門檻太低有直接關(guān)系,會用墨刀就能做PM,這是多少培訓(xùn)班的謊言。我這么說有的人可能不服,“我明明也寫了很多文字類的文檔啊”。但是大多數(shù)這些文字類的文檔,都是對原型的補充說明,是前端層面的,而不是接口層面的,更不是后端層面的。

抽象后端邏輯是我快速落地一個項目的法寶。考慮周全的后端邏輯直接帶來后端大佬的好心情,后端大佬的好心情直接帶來好的接口,好的接口直接帶來前端大佬的好心情,前端大佬的好心情直接帶來好的用戶體驗。跟后端程序員開會的時候,我大部分時間只跟他們講后端邏輯文檔,至于原型長什么樣子,其實除了接口方面,后端程序員根本不關(guān)心。如果你不能把后端邏輯說清楚,而是一味地說“這個按鈕點了之后就去到哪一頁”,證明你還是在用外行人的眼光來分解一個產(chǎn)品的構(gòu)成。

在你不熟悉后端邏輯文檔的情況下,你可以把本章內(nèi)容放在原型畫完的下一步來做。當(dāng)你嫻熟掌握之后,你會發(fā)現(xiàn),先寫邏輯文檔可以省下你很多由于業(yè)務(wù)邏輯不清晰而畫出錯誤原型的時間,對于后臺產(chǎn)品來說尤其如此。

不管一個線上表單玩出什么花樣,最終的顆粒都是不同類型的字段,我把它們稱作“簡單字段”。簡單字段沒什么好探索的,無非是文字、圖片、附件、選擇題、聯(lián)動選項等等一些不同類型的字段。這里的關(guān)鍵點是下圖所示的“復(fù)合型字段”。

為什么要設(shè)計這些復(fù)合型字段?

因為在前面梳理這些Excel表的時候你會發(fā)現(xiàn),很多字段之間是有內(nèi)在關(guān)聯(lián)的,而我們設(shè)計一個后臺系統(tǒng)不管它再復(fù)雜,最終也是為了讓用戶填表的時候心情更爽。

  • 聯(lián)合字段的目標(biāo):在用戶端把幾個字段連在一起,消掉它們之間的間距,讓用戶知道這幾個字段是一起的;
  • 主從字段的目標(biāo):幾個字段也是一起的,但是它們之間有從屬關(guān)系。這個時候哪個字段在最上面,就代表它是老大。例如,主字段是“2016總營收”,而兩個從屬的字段是“其中高新科技收入”和“其中醫(yī)藥產(chǎn)品收入”;
  • 多條組的目標(biāo):我們不知道用戶要填多少項數(shù)據(jù),只能粗略地設(shè)定一個上限,讓用戶自由添加條目。例如我們要求用戶填寫他公司的股東信息,我們只知道用戶每個股東的信息都要填寫姓名、職位和占股比例,但是具體用戶要填多少條,是用戶自己點“添加”按鈕的次數(shù)來決定的;
  • 二維表的目標(biāo):有些數(shù)據(jù)是由橫縱交錯的行和列組成的,例如財務(wù)報表,縱向是具體的財務(wù)報表數(shù)據(jù),橫向是時間軸。這種表格顯然不管是在網(wǎng)頁端還是手機端,都應(yīng)該跳轉(zhuǎn)到一個單獨的頁面來填寫。

所以這個時候就可以寫字段部分的后端邏輯文檔了。不管這些字段在手機里的交互能玩出什么花樣來,我們現(xiàn)在這一步只需要關(guān)注它在后端儲存哪些屬性,以及管理員可以對它進(jìn)行什么操作(我在文檔里用“func_”表示)。

簡單字段是字段的最小顆粒,而復(fù)合型字段是對這些簡單字段的進(jìn)一步拼裝。不過上圖其實有誤,因為我前面介紹的復(fù)合字段有4種,而上圖文檔里只有2種,因為我在結(jié)合兩三個產(chǎn)品文檔來寫這個教程,請大家假裝看到我寫對了吧。

下一步就是把這兩種字段封裝起來,把它們統(tǒng)稱“獨立字段”。在設(shè)計后端文檔的時候,什么情況下需要封裝呢?

就是當(dāng)你搞了幾種東西,而這幾種東西有很多統(tǒng)一的屬性,或者在很多情況下需要統(tǒng)一的管理。例如,你山寨一個小微博功能,用戶分為普通、黃V、藍(lán)V,顯然你應(yīng)該在“用戶”層面封裝一層,然后把通用的功能例如關(guān)注、發(fā)推等等都放在這里來描述。

  1. 字段的基本屬性:例如一個字段的標(biāo)題叫什么,描述是什么;
  2. 字段的額外屬性:其實,設(shè)計到額外屬性的時候,我才覺得有必要把簡單字段和復(fù)合字段封裝起來。因為在給這些字段附加一些buff的時候,不管它是什么類型的,運營人員都應(yīng)該直接當(dāng)做一個對象來操作。例如,運營人員決定把8個字段構(gòu)成的“股東信息”標(biāo)記成注冊必填,那么顯然它們要作為一個整體來對待,不準(zhǔn)運營人員節(jié)選其中的某些字段來標(biāo)記。否則,整個系統(tǒng)的重心會被打亂;
  3. 字段的操作:同理,一個字段也好,一串關(guān)聯(lián)的字段也好,對于操作來講都是整體的。即使復(fù)合字段內(nèi)部有另外的操作,也不影響它作為一個整體進(jìn)行操作;
  4. 字段數(shù)據(jù)的儲存:略。

接下來你就要考慮,剛才形成的那些一個個獨立字段,要怎樣進(jìn)一步儲存起來?

在剛才我們梳理數(shù)據(jù)的時候,你會發(fā)現(xiàn)這些數(shù)據(jù)是一層一層裝起來的,而且不同的甲方在歸類這些數(shù)據(jù)時的偏好也不相同。有些可能比較喜歡套娃,五六層目錄才看到數(shù)據(jù);有些數(shù)據(jù)量比較少,一兩層數(shù)據(jù)就可以搞定。所以獨立字段最外面肯定是由N層目錄包裹起來的。我們把目錄做成套娃的模樣,甲方爸爸喜歡多少層套娃,我們就給他多少層套娃。

但是,是不是用戶打開最后一層套娃之后,就直接看到一個個字段了?

這又需要你從后臺的思維跳脫出來,去考慮用戶體驗的事情了。

之前我看到一個網(wǎng)友的提問:“HR說我只有后臺經(jīng)驗,所以覺得我不具備用戶端方面的才能”(大意),我想說,HR這個行業(yè)的平均水平可能還不如產(chǎn)品經(jīng)理的平均水平,牛逼的后臺產(chǎn)品經(jīng)理設(shè)計任何一個后臺功能的時候,都會去想象它在前端會長什么樣。后臺直接決定了一個產(chǎn)品的用戶端好不好用,而反過來,如果你只設(shè)計C端,而不了解后端,那么你設(shè)計的東西可能在數(shù)據(jù)結(jié)構(gòu)上完全沒法跟服務(wù)器搭上,那么你想它怎么落地呢?

這套后臺做好之后,它所定制的表單,用戶在手機和網(wǎng)頁都可以訪問,兩個端的設(shè)計也會有不同。這個時候最好的辦法就是去思考它在手機端的效果。手機的屏幕小,對體驗的要求更苛刻,如果你的設(shè)計在手機走得通,那么在網(wǎng)頁端只會走得更通。

在手機端YY(不一定要畫出原型來)之后你會發(fā)現(xiàn),最后一層數(shù)據(jù)的體驗是上圖這樣才會比較舒服。當(dāng)用戶進(jìn)到某個最終的目錄,他首先會看到一些入口(左圖),這些入口點進(jìn)去就是一個小型的表單(右圖)。這樣設(shè)計之后,用戶的填表壓力就被拆解了,同時,用戶進(jìn)入一個小表單之后,上下滑動就可以填寫所有的數(shù)據(jù),不需要再左右跳轉(zhuǎn)層級了。

所以這個小表單我把它定義為“數(shù)據(jù)體”。一堆有關(guān)聯(lián)的字段裝進(jìn)一個數(shù)據(jù)體里,然后這個數(shù)據(jù)體放在目錄里,最后形成整個業(yè)務(wù)的表單。

你可能會想,我直接讓前端把最后一層目錄自動展示成這樣不行嗎?這樣不是更簡潔嗎?為什么還要多一個“數(shù)據(jù)體”的概念?

這是因為——

第一,數(shù)據(jù)體只能儲存平級字段,從邏輯上直接避免字段跟目錄混搭。這樣就能有效地保證,用戶面對的都是一整頁的字段,上下滑動就可以填寫完畢。我們考慮重要功能的時候,一定要假設(shè)運營人員是懶惰的,是跟你完全對著干的,在重要的用戶體驗上,要用邏輯的強制性來對抗人性的普遍弱點。正因為運營人員可能是懶惰的,所以當(dāng)你設(shè)計了數(shù)據(jù)體之后,他更傾向于把同類的數(shù)據(jù)全部裝進(jìn)一個數(shù)據(jù)體,而不是勤勞地創(chuàng)建多個數(shù)據(jù)體,這就保證了用戶填表的爽快感。

第二,每個數(shù)據(jù)體都是有主題的。例如,某個數(shù)據(jù)體叫做“個人信貸記錄”,里面有幾十個字段讓用戶填寫這方面的數(shù)據(jù)。那么,它需不需要整體的教程?在未來需不需要作為一個討論話題開放給用戶社區(qū)?所以,當(dāng)你遇到這種業(yè)務(wù)上有必要歸類的東西時,你可以考慮它的未來場景。如果在未來它應(yīng)該具備一些場景,那么你就可以提前把它設(shè)計成一個獨立的主體。

根據(jù)上面的討論,數(shù)據(jù)體和目錄的文檔就寫出來了,整個后端邏輯文檔的主體就大概成型了。文檔寫好之后,你再設(shè)計相應(yīng)的后臺原型會發(fā)現(xiàn)真的相當(dāng)輕松,你可以開著音樂來畫原型,因為你在大的方向上不可能有什么遺漏。比如有了上圖結(jié)尾的“目錄的操作”之后,當(dāng)你畫到目錄的原型時,你難道會漏掉“調(diào)整排序”這個按鈕嗎?

找到原型的套路

對于一個任意復(fù)雜度的后臺系統(tǒng)來講,只要你能寫出上面的邏輯文檔來,那么其實你的原型已經(jīng)可以consider it done了。只有畫出來好不好看、好不好用的區(qū)別,沒有功能實現(xiàn)上的區(qū)別。不過恰好那段時間我比較閑,所以畫了一個很規(guī)范的單頁應(yīng)用原型。也正因如此,我選了這個產(chǎn)品來寫教程。

對于一個專業(yè)寫文檔的產(chǎn)品經(jīng)理來講(不知道什么時候起,追求專業(yè)的文檔被當(dāng)做一個產(chǎn)品經(jīng)理可有可無的特性?好像還會被人當(dāng)做手作人那樣帶點居高臨下的味道?各種數(shù)字報表和商業(yè)計劃ppt被當(dāng)成了時代首選技能?),沒有固定的原型套路,只有最適合當(dāng)前產(chǎn)品的原型套路。如果不是以前的套路,那就去發(fā)明一種新的套路,這樣你的套路就會越來越多,所以接下來我們就看看這個產(chǎn)品適合哪種套路。

在不知道怎么動手的時候,與其在那里不斷規(guī)劃(實際上是拖延癥),往往不如直接開工把最硬的骨頭先啃下來,對這個產(chǎn)品來講先去畫主界面就對了。上圖就是我畫的主界面。畫完之后你會發(fā)現(xiàn),整個后臺其實只有這一頁。左邊是目錄,中間是這個目錄下的數(shù)據(jù)體,而右邊是選中了一個數(shù)據(jù)體之后的具體配置。

但是這一頁是分三種狀態(tài)的,除了平時的狀態(tài)之外,還有兩種特殊的狀態(tài)。當(dāng)用戶在目錄里選擇的不是普通的目錄,而是回收站的時候,由于回收站的功能會比較受限,所以頁面的布局和元素也出現(xiàn)了閹割,從而影響了整個頁面的布局。然而這三種狀態(tài)又有很多共用的元素。如果在原型里把它們分開去講述,顯然就是把工作量擴大了至少三倍。

在純粹具象的原型設(shè)計思路上,這個頁面分為三種狀態(tài),意味著三份重復(fù)勞動;而從最抽象的眼光來看,這三種狀態(tài)有100%的元素都是共用的,就好像除了靈魂和記憶之外,我們可以把一個人看做等價于他身上的任意一個、沒有癌變的細(xì)胞,但是用這種眼光去欣賞你的同類又顯得有點乏味了。

這兩種做法都比較極端,你的目標(biāo)就是去找到其中的平衡點,也就是我在前面提到的,去找到符合這個產(chǎn)品的套路。每個人的性格都不一樣,原型畫風(fēng)和用戶理念也不一樣,套路自然也不一樣。以我個人比較潔癖的性格為例,以下是我找到的套路。

  1. 把三種主界面的形態(tài)畫成三個頁面(使用“CASE_”前綴);
  2. 把頁面的共同元素抽離出來,作為一個單獨的對象(使用“#obj_”前綴,其中井號在我的原型中的意義是:它并不代表一個真實的頁面,只是某個頁面中的一個提取出來的東西,例如對象、彈窗或流程)來描述;
  3. 把這個對象做成超鏈接小方塊,扔進(jìn)使用這個對象的頁面里。一個對象在多少個頁面出現(xiàn),你就扔多少個小方塊在這些頁面,而具體這個對象的文檔,你只需要維護(hù)一頁;
  4. 在原型的第一頁寫上閱讀說明。上圖的閱讀說明是我從其它原型里翻出來的,所以有些東西對不上號,請大家假裝看到了正確的閱讀說明。

我這樣說比較抽象,下面先舉一個簡單的例子——

如上圖所示,主界面的兩個狀態(tài)都出現(xiàn)了數(shù)據(jù)體列表,所以我把鏈接到數(shù)據(jù)體列表的小方塊扔進(jìn)了這兩頁中。程序員不管在其中那一頁,只要他說“這個列表是怎么展示的?哦,下面有個小方塊,我點進(jìn)去看一下”,他都會進(jìn)到下面這個文檔里。

我做原型基本上都是用這些小方塊來跳轉(zhuǎn)的,除非是用來給客戶演示的原型,否則我很少在頁面元素本身做交互。都是把所有跳轉(zhuǎn)的按鈕放在小方塊里,然后單獨擺在頁面上。頁面是頁面,方塊是方塊。為什么這樣?因為迭代的時候太舒服了,我從來不用去尋找動態(tài)面板里面的動態(tài)面板里面的交互,所有的鏈接都是平鋪出來的,所見即可拖。

有的人就要說了,“Axure不是這樣用的,你得做交互!”——我為什么要做交互?

我們不妨深入想一想這個問題,就是我們?yōu)槭裁匆鼜腁xure設(shè)計思維的問題。Axure并不是一個純粹的原型設(shè)計軟件。從使用體驗上,他要照顧新手,所以搞了很多所見即所得的效果,但是它的這些效果實際上是高不成低不就的。

設(shè)計動態(tài)交互上,為什么不去畫時間軸或者直接用AE呢?幾個吭哧吭哧的動畫,幾個動態(tài)面板的特效,就能代表所有瀏覽器和移動設(shè)備的交互效果嗎?

從用戶群上,他更不是針對產(chǎn)品經(jīng)理的,而是針對那些要看原型的外行老板們。老板們不會裝專用客戶端,所以Axure最終輸出的是網(wǎng)頁,因此它的所有交互事件也都建立在瀏覽器事件上,同時它還只是瀏覽器的閹割版,不論是事件的傳遞、一個前端對象的狀態(tài)切換,還是頁面元素之間的布局關(guān)系,全都不如直接寫代碼來的簡單。

例如在iOS開發(fā)App時,想要讓一個按鈕左右離屏幕20pt,自動拉伸,并且懸浮在頁面底部100pt處,你只需要填幾個數(shù)字就行了,而在Axure里你反而要寫很多的邏輯才能實現(xiàn)。

就是這樣的繞路實現(xiàn),還被很多人當(dāng)成技術(shù)的炫耀,我覺得跟整天探索“茴”字有幾種寫法是沒有任何區(qū)別的。更不用提Axure那種故作高級的態(tài)度了,例如把回收站功能和圖片壓縮選項都取消掉,好像這樣顯得比較“簡潔”。

Axure它只是一個工具,同時很不幸的是,目前(我拿到投資之前),我們基本只有這個工具能用。但這并不影響工具的使用者不是去服務(wù)工具,而是讓工具服務(wù)使用者。

話說回我怎樣讓Axure服務(wù)于我,我們接著看我的原型。

有堅不摧的對象繼承鏈條

如果一個產(chǎn)品上線之后不需要迭代,畫原型只需要一個版本就結(jié)束工作,那么我接下來說的全都是廢話。所以我在下文展示原型圖的時候會重點告訴你:為什么對于產(chǎn)品迭代來講,我需要這樣的設(shè)計。

接下來就承接上一章的設(shè)計套路,為你展現(xiàn)原型里最重要的“數(shù)據(jù)體”模塊的“對象繼承鏈條”。你現(xiàn)在不需要知道這個鏈條具體的概念,只需要打起精神來,跟著我的7個連環(huán)鏈條(倒敘)走下去,不要中途走神。

鏈條第7環(huán):數(shù)據(jù)體

數(shù)據(jù)體就是前文提過的,主界面中最主要的一個模塊,用來配置一個具體的數(shù)據(jù)體。還記得數(shù)據(jù)體在后端邏輯文檔里面的規(guī)劃嗎?

沒錯,數(shù)據(jù)體就是用來直接裝載字段的東西。所以數(shù)據(jù)體在原型里,除了自身頭部信息之外,主要就是用來裝載具體的字段了。另外,上圖中所有的菜單功能,你如果翻回前面的后端邏輯文檔,你會發(fā)現(xiàn)我早就已經(jīng)用“func_”把它們都規(guī)劃完了。這就是我說的,后端邏輯文檔寫完之后,你可以聽著音樂畫原型。

鏈條第6環(huán):獨立字段

從剛才標(biāo)注了獨立字段的鏈接,就可以進(jìn)入獨立字段的說明頁。回憶一下后端邏輯文檔,獨立字段是什么?

沒錯,獨立字段是我們提前規(guī)劃好的,對兩種字段的封裝,這兩種字段分別是“簡單字段”和“復(fù)合型字段”。所以,必然地,獨立字段的具體展示也要分兩種情況來介紹給前端程序員了。

你問后端程序員去哪了?

后端程序員看完我的邏輯文檔早就開發(fā)完了,正在催著前端程序員趕緊聯(lián)調(diào)。如果前端程序員在這一頁粗心大意,沒有按照我的設(shè)計把獨立字段的具體展示分成兩種,我根本不用去管,后端接口的報錯已經(jīng)用滿屏的紅色閃現(xiàn)在前端程序員的屏幕上了。

鏈條第5環(huán):添加或修改字段中轉(zhuǎn)頁

在前面兩個環(huán)節(jié),你看到了數(shù)據(jù)體,也看到了數(shù)據(jù)體下面的獨立字段。這兩個環(huán)節(jié)不是平級的,但是它倆都具備添加或修改字段的功能。

為什么會這樣?因為數(shù)據(jù)體本身肯定可以添加字段,而數(shù)據(jù)體下面的具體字段,你得提供再次修改這些字段的功能啊,你不能讓運營的人每次錄入都簽字無悔啊。

但是,問題在于,“添加修改簡單字段”和“添加修改復(fù)合型字段”我是分成兩個具體頁面來畫原型的。從數(shù)據(jù)體的菜單添加一個字段的時候,用戶在菜單里直接就選擇了一個字段類型,所以是直接前往具體的原型頁面。而修改一個獨立字段的時候,由于我已經(jīng)抽象了兩種字段的菜單,所以我是不知道你到底要去哪個具體原型頁面的。

這個時候,只要加多一個上級的中轉(zhuǎn)頁面,然后把這兩頁具體文檔變成它的子頁面就行了。然后,你在中轉(zhuǎn)頁面里把這兩頁的鏈接放進(jìn)去。使用這個功能時,當(dāng)邏輯不確定的時候,你就鏈接中轉(zhuǎn)頁;邏輯很確定的時候,你就鏈接具體的文檔。你可能要問了,我為什么要搞這么麻煩呢?因為這個中轉(zhuǎn)頁對以后的迭代是有重大意義的。

在以后迭代的時候,如果字段的復(fù)合類型變多了,那么添加修改字段的文檔也就不止兩頁了,可能有十頁。到了那個時候,如果你要增加第11種文檔,你要把整個原型所有用到添加修改字段功能的頁面全部更新一遍。

而我這樣做就不需要了,因為其它頁面只是指向這個中轉(zhuǎn)頁,你每次在中轉(zhuǎn)頁下面增加一個頁面,就記得把它的鏈接也放進(jìn)中轉(zhuǎn)頁,這不就不用整個原型改一遍嗎?

鏈條第4環(huán):修改復(fù)合型字段

從剛才所說的中轉(zhuǎn)頁或者具體的鏈接,我們就進(jìn)入了“添加或修改一個復(fù)合型字段”的頁面。復(fù)合型字段除了本身的字段描述信息之外,主要就是由簡單字段構(gòu)成的了。所以這個模塊主要的功能自然就是去添加、修改和刪除這些簡單字段。

再次重申,由于復(fù)合字段中可以對簡單字段進(jìn)行哪些操作,我們早就在后端邏輯文檔里用“func_”整理完畢了,所以這里你可以完全放空大腦就能無遺漏地把這些功能菜單設(shè)計齊全,根本輪不到別人挑你的BUG。

我的記憶力極差,初中的時候背一首唐詩背到放學(xué)一小時老師還不準(zhǔn)我回家,到現(xiàn)在我女朋友還整天說我是花生仁那么大的腦袋。但是我發(fā)原型文檔給程序員時,每次都說“一個設(shè)計BUG請吃飯一次”,然而最近兩三年基本沒人吃到我的謝罪大餐,靠的就是先寫邏輯文檔。

鏈條第3環(huán):修改簡單字段

在前面一個環(huán)節(jié)里,你會發(fā)現(xiàn)復(fù)合型字段是由簡單字段構(gòu)成的,所以,雖然在文檔中,修改簡單字段和修改復(fù)合字段是平級的。但是用戶在復(fù)合型字段中修改或者添加一個簡單字段的時候,實際調(diào)用的是修改簡單字段的功能。所以,除了第5環(huán)節(jié)的中轉(zhuǎn)頁之外,復(fù)合型字段也可以調(diào)用這個修改簡單字段的功能。

修改簡單字段的功能,就是終于接觸到最終的實際字段了。但是我在上圖里為什么只畫了“選擇題”這一種情況呢?其它類型的字段我為什么沒畫在這里,而是又鏈接到其它頁面呢?難道我就這么喜歡套娃?

鏈條第2環(huán):字段表傳送門

不是我喜歡套娃,而是“簡單字段的配置與展示”出現(xiàn)的地方飄忽不定。所以我必須到處安插傳送門,至于這個傳送門通向什么領(lǐng)域,你馬上就會知道。

鏈條第1環(huán):字段表

所有的傳送門都通向這張字段表。我們在這里把所有類型字段的展示、配置都放進(jìn)來,然后好好維護(hù)它。

為什么要這樣做?

想必你也知道了——這畢竟是一個表單系統(tǒng),表單系統(tǒng)的基石就是字段,字段在未來的擴充肯定是相當(dāng)頻繁的。

這張表看起來現(xiàn)在還沒什么,但是如果不去這樣設(shè)計它,那么你每一次迭代這個系統(tǒng),都要花一半的時間去修改每個具體頁面所展現(xiàn)的字段。真要這樣頭鐵,那么恭喜你,你離人類的本質(zhì)越走越近了。

你說,你沒有我這么多的后臺設(shè)計經(jīng)驗,不知道字段表需要拆出來單獨維護(hù),不知道要把頻繁更新的功能放進(jìn)中轉(zhuǎn)頁,也不知道不同層級的模塊要怎么拆分、怎么互相連接?再看一眼這一章的標(biāo)題:“有堅不摧”的對象繼承鏈條。

沒有任何文檔撰寫套路是無堅不摧的。如果有一篇文章在你的feed里冒出來,告訴你“掌握這20個技巧,就能讓你設(shè)計一個專業(yè)的XXXX原型”,那么你應(yīng)該趕緊點進(jìn)去屏蔽這個人,然后再舉報這篇文章,然后再返回你的feed點擊“我不感興趣”。

你唯一能做的,就是每次反省自己原型設(shè)計的問題,每次迭代的時候看一看自己做了多少無用功,把每個周末的時間都花在完善自己的文檔上,力圖讓它達(dá)到你現(xiàn)在的100分。然后等下一次迭代的時候,輕蔑地看它一眼,說一聲“垃圾原型,50分鑒定完畢”,存?zhèn)€版本,然后開一個新的文檔,把有用的東西復(fù)制進(jìn)來,把沒用的結(jié)構(gòu)打散扔掉,然后再力圖把它變成新的100分……

結(jié)語

在結(jié)語部分,我們先用一張關(guān)系圖來回顧一下,前兩章我花了那么大的篇幅來講原型的繪制,我到底講了什么。

是的,我檢查了很多遍,我仔細(xì)檢查了右圖的每個方塊、每條連線,最后我才說服自己相信,這張關(guān)系圖已經(jīng)完整、沒有遺漏地,表達(dá)了我在前面兩個章節(jié)煞費口舌地描述的所有模塊之間的關(guān)系。

我統(tǒng)計了一下,那兩個章節(jié)我寫了大概4400字,其中用來表述模塊之間的關(guān)聯(lián)關(guān)系的,我們算它有3000字。而圖表里面的漢字是128字。圖表里除了漢字之外,就只剩下方塊、位置、線條這些圖形關(guān)系了。所以,圖形帶來的文字表達(dá)效率之比是24比1。

——你需要注意的是,我畫的是關(guān)系圖,而不是流程圖。流程圖是具有方向性的,本質(zhì)上只是更簡潔的文字。而關(guān)系圖是沒有方向性的(這就是為什么我的連線沒有箭頭),從任何一個局部都可以順著線條向外推導(dǎo),推導(dǎo)出任何你想講述的故事。

關(guān)系圖是簡潔、低調(diào)和安靜的,但正如老劉說的:“記得大三的一次信息課中,教授掛出了兩幅大圖片,一幅是畫面龐雜精細(xì)的《清明上河圖》,另一幅是一張空曠的天空照片,空蕩蕩的藍(lán)天上只有一縷似有似無的白云。教授問這兩幅畫中哪一幅所包含的信息量更大,答案是后者要比前者大一至兩個數(shù)量級”。

這就是我在文章開頭提到的,我多么希望我能掌握《降臨》里外星人使用的表意文字。為了講清楚我的產(chǎn)品設(shè)計思路,我講了很多的話,你花了很久的功夫來閱讀。但是實際上,我真正希望你掌握的,是這門安靜的語言,是純粹圖形化的思維。我指的不光是前面的原型繪制部分,其實更包括后端邏輯文檔的部分,它們都可以被圖形化。

事實上,在我寫完這篇教程之前,我根本不知道原來我要講這么多的話。整個產(chǎn)品的設(shè)計過程里,我的腦子里基本是不存在語言的,只有一個個的形狀像狄拉克海那樣,從虛空里不斷潮起潮落。你把它們摘下來,不斷地重組它們,當(dāng)你把它們捏成一團一團之后,你會發(fā)現(xiàn),你已經(jīng)完成了對一個產(chǎn)品的整個設(shè)計過程。

當(dāng)你越來越適應(yīng)這種圖形化思維之后,你會發(fā)現(xiàn),你能比別人快很多倍地構(gòu)思一個復(fù)雜的系統(tǒng)出來。唯一的缺點是,你的圖形思維模塊會侵占你的語言中樞——你更說不過那些喜歡講ppt的人了。

 

作者:黃聯(lián)樵,微信:arubagod

本文由 @黃聯(lián)樵 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. “大多數(shù)這些文字類的文檔,都是對原型的補充說明,是前端層面的,而不是接口層面的,更不是后端層面的。”小白落淚

    回復(fù)
  2. 加好友吧!

    來自香港 回復(fù)
  3. 看不懂。。。

    來自浙江 回復(fù)
  4. 值得好好細(xì)品??!

    回復(fù)
  5. 求解二維表格該如何配置呢

    來自浙江 回復(fù)
  6. 新手產(chǎn)品,求解prd文檔怎么寫才好,最好那位大佬給個樣本感激不盡??! ??

    來自重慶 回復(fù)
  7. 新手產(chǎn)品,求解prd文檔怎么寫才好,最好那位大佬給個樣本 ??

    來自重慶 回復(fù)
  8. 辛苦了。。。。支持一下無私分享。實際上我想說的是,如果從傳統(tǒng)軟件工程的角度去認(rèn)識,沒必要這么復(fù)雜的自己造輪子摸索。關(guān)系型數(shù)據(jù)庫,ER圖,這就是面向后端的開發(fā)需求描述方式。。難嗎?不難,只不過C端產(chǎn)品這波潮流導(dǎo)致很多人太忽視了傳統(tǒng)軟件工程的方法論

    來自廣東 回復(fù)
    1. ER圖或者直接表達(dá)數(shù)據(jù)庫的圖形,以前我走過這個彎路,那個會導(dǎo)致外行管理內(nèi)行,插手開發(fā)。所以后來我的業(yè)務(wù)模型僅限于我要表達(dá)的核心業(yè)務(wù),盡量去掉任何對開發(fā)人員實現(xiàn)的干擾。

      來自廣東 回復(fù)
    2. (接上條評論)另外我還走過一個彎路,就是過分在意開發(fā)實現(xiàn)。所以后來邏輯文檔只注重我自己對業(yè)務(wù)的歸納,等于當(dāng)做一個腦圖一樣的東西來用,方便展現(xiàn)業(yè)務(wù)邏輯就行了。

      來自廣東 回復(fù)
  9. 滿滿干貨?。。?!最近在用墨刀的「PRD模式」可以邊畫原型,邊寫PRD 真的爽,不過知其然也需要知其所以然,框架梳理等,感謝分享!

    回復(fù)
    1. 感謝支持!

      來自廣東 回復(fù)
  10. 初看晦澀難懂,再看驚為天作!

    來自四川 回復(fù)
    1. 感謝支持!

      來自廣東 回復(fù)
  11. 這是我在本網(wǎng)站看過質(zhì)量最高的文章。感謝作者的分享。

    來自北京 回復(fù)
    1. 過獎了啊,感謝!

      來自廣東 回復(fù)
  12. 打擾了,大佬

    來自四川 回復(fù)
  13. 在分享干貨的同時,無情的抨擊了人人都是產(chǎn)品經(jīng)理這個行業(yè)亂象。

    還有就是同行襯托問題
    尤其是PRD怎么寫,就是看是什么樣的產(chǎn)品和什么樣的團隊。
    PRD本身也是產(chǎn)品經(jīng)理輸出的產(chǎn)品,如果一味追求好看、頁數(shù)、文字量,那最多讓外行人覺得豐富。
    本來是人就能看得懂的功能,硬是要編輯成長篇大論,注釋都可以幾百字,技術(shù)開發(fā)團隊看了直接搖頭。

    也再次打擊到了我這種純前端的產(chǎn)品經(jīng)理,我完全不懂技術(shù)原理的那種。
    感覺自己很不值錢,很快會被淘汰。
    因為跟后臺比起來,摸著良心說。前端產(chǎn)品真的是初中生學(xué)個把月就能做的東西,哎。

    來自上海 回復(fù)
    1. 前端產(chǎn)品經(jīng)理更多是對用戶需求的拿捏與把握,跟功能實現(xiàn)邏輯無關(guān)。前后端產(chǎn)品經(jīng)理本身的側(cè)重點就不一樣。人人都能去買中藥,但是能配出方子的只有醫(yī)生。

      來自廣東 回復(fù)
    2. 我個人前臺和后臺都做,還是更喜歡設(shè)計一些好的用戶體驗,比如工具類的東西。個人前端跟后臺是一樣的,不管從用戶角度還是從文檔角度,都有無限追求的空間。

      來自廣東 回復(fù)
    3. 我正好是做工具類的產(chǎn)品,所以思維上很偏C。
      一開始都是從抄開始的,這也就是我說的初中生的部分。
      但隨后衍生出的一些設(shè)計我感覺都是通過長期和用戶、場景及行業(yè)接觸,就會有屬于自己的新想法。
      后臺這塊我覺得相對來說,我最常見的場景是因為不懂技術(shù),無法真正的站在程序員角度換位思考。
      尤其是跑一些敏捷開發(fā)的時候,都需要和程序員商量哪套方案性價比更高。
      總得來說感謝2位回復(fù),與大神共勉。

      來自上海 回復(fù)