提升B端產(chǎn)品靈活性最重要的手段——配置化

6 評論 15151 瀏覽 102 收藏 12 分鐘

編輯導語:不同于C端產(chǎn)品面向大眾,B端產(chǎn)品是面向企業(yè)用戶的產(chǎn)品,是用來解決企業(yè)需求的,因而實現(xiàn)界面的可配置化成為提升B端產(chǎn)品靈活性的必要要求。本文作者從自身工作實踐出發(fā),對此展開了分析說明, 與大家分享。

為了應(yīng)對更多的業(yè)務(wù)場景,較低成本的滿足豐富多變的業(yè)務(wù)需求,B端產(chǎn)品在設(shè)計之初就要考慮較高的靈活性,這是B端產(chǎn)品設(shè)計中最重要的原則之一。

然而,當面對具體業(yè)務(wù)場景時,B端產(chǎn)品經(jīng)理們很容易按照已明確的需求,做成固化的方案,從而導致開發(fā)同學在實現(xiàn)時代碼都“寫死”了,后面再想做些啥改動,真是難如登天。

要想達到B端產(chǎn)品較高靈活性的目標,需要從產(chǎn)品架構(gòu)、實現(xiàn)方式、功能設(shè)計多個層面共同支持,作為產(chǎn)品經(jīng)理,主要從功能設(shè)計層面進行思考。

此篇作為本系列開篇,先幫助大家建立全局認知。

01 如何提升靈活性?

總體來說,從功能設(shè)計上提升靈活性有兩種思路:

第一:預(yù)測需求

即我們思考一個需求方案時,同時預(yù)測未來業(yè)務(wù)中可能發(fā)生的多種場景,并提前做好普適方案。

這種方式在一定程度上可以提升產(chǎn)品靈活度,但局限性也很強:

  • 一方面需要產(chǎn)品經(jīng)理對業(yè)務(wù)有非常深入的了解,才能預(yù)測得比較精準;
  • 另一方面能夠提前設(shè)想的場景是有限的,因此方案普適范圍也是非常有限的,不可能做到完全靈活。

所以這條思路主要應(yīng)用于需求場景較少且容易明確的功能。

第二:配置化

第二種思路就是我們這個系列要介紹的主角——配置化。將產(chǎn)品功能做成靈活可配置,通過不同配置的組合,來滿足業(yè)務(wù)中各種“意想不到”的需求。

接下來進入正題。

02 什么是功能配置化?

不同的角度定義有所區(qū)別,從產(chǎn)品設(shè)計層面看:

功能配置化是用戶通過可視化的界面,采用無代碼低代碼的方式,即可快速配置出滿足自身需求的功能。

用人話翻譯一下就是:用戶直接通過系統(tǒng)界面就能配置出自己想要的功能,而不用找開發(fā)小哥排猴年馬月的期。

大多數(shù)B端同學或多或少都接觸過一些產(chǎn)品功能的配置化,小到一個自定義字段、列表排序,大到一個流程,乃至整個系統(tǒng),都可以做成可配置的。

一些aPaaS廠商,如國內(nèi)的明道云、簡道云、氚云等,企業(yè)用戶通過可視化的系統(tǒng)頁面,無需代碼即可從零搭建出許多業(yè)務(wù)邏輯較簡單且通用的企業(yè)級應(yīng)用。Tips:

aPaaS:全稱是application Platform as a Service,即應(yīng)用平臺即服務(wù),用于支持應(yīng)用程序直接通過PaaS(平臺即服務(wù))開發(fā)、部署和運行,包括數(shù)據(jù)對象、權(quán)限管理、用戶界面等。

因為是以SaaS的形式提供給企業(yè)用戶,同時又具有開發(fā)工具(即PaaS)的性質(zhì),所以把它單獨列為了aPaaS,可以理解為是一種介于PaaS與SaaS之間的形式。

前段時間陳果和任向暉兩位大佬關(guān)于“低代碼”的辯論,針對的就是這個。

那么無代碼和低代碼又是指的什么呢?

  • 無代碼是指用戶在配置過程中不需要使用任何一種開發(fā)語言即可完成全部配置;
  • 低代碼是指用戶在配置過程中需要自己寫一些簡單的代碼,例如某些接口或SQL語句,主要應(yīng)用于非常個性化的需求場景,大多數(shù)情況下是不需要的。

03 配置化的組成

那么一個完整的功能配置化包含哪些方面呢?要回答這個問題,需要從一個B端產(chǎn)品最基本的組成部分出發(fā)。

大部分的B端產(chǎn)品都可以抽象為以下四個部分組成(有的只有其中幾項):

  • 業(yè)務(wù)數(shù)據(jù)管理
  • 工作流執(zhí)行與管理
  • 分析圖表
  • 基礎(chǔ)信息

而一個全面系統(tǒng)的功能配置化方案,就是針對這四個部分進行的,當然,這個粒度太粗了,沒有辦法直接做配置,我們再細化一下。

業(yè)務(wù)管理的配置化包括:

  • 業(yè)務(wù)數(shù)據(jù)配置
  • 業(yè)務(wù)邏輯配置
  • 頁面布局配置
  • 輔助功能配置

工作流的配置化包括:

  • 業(yè)務(wù)流程配置
  • 審批流程配置

分析圖表配置化包括:

  • 可視化圖形配置
  • 統(tǒng)計表配置

基礎(chǔ)信息配置化包括:

  • 用戶、組織配置
  • 角色配置
  • 權(quán)限配置

我們用下圖整理一下:

圖1 功能配置化的組成

從這張圖中大家可以看出,功能配置化是個系統(tǒng)且龐大的工程,涉及到產(chǎn)品的方方面面,想要做好,需要投入巨大工作量,因此關(guān)于配置化的思考越早越好,拖得越晚,產(chǎn)品越臃腫復(fù)雜,所需付出的成本越高,當產(chǎn)品復(fù)雜到一定程度后,最后會發(fā)現(xiàn)與其在現(xiàn)有產(chǎn)品的基礎(chǔ)上做配置化,還不如重做。

04 配置化的步驟

無論做哪方面功能的配置化,都可以總結(jié)為以下三大步:

圖2 配置化三大步

4.1 抽象

抽象是指提煉出你要配置功能包含哪些對象,即這個功能有哪幾個組成部分,例如頁面布局的配置,可以抽象出頁面元素、位置、大小、顏色、樣式幾個對象,我們的配置化,就是針對這些對象進行的。

圖3 頁面布局抽象配置對象

在抽象配置對象時,有以下幾條重要原則:

第一:根據(jù)需求進行抽象

一般來說,在沒有其他要求的前提下,抽象出的對象也應(yīng)該滿足MECE原則,即這些對象組合起來就能形成最終的完整功能,同時這些對象相互間沒有交叉。

不過在實際功能設(shè)計中,我們其實只需要根據(jù)具體需求,抽象出需要做配置的對象即可,例如需求只是想換個皮膚,那只需要抽象出“顏色”做成可配置就行了;如果需求是想做頁面元素可以調(diào)整區(qū)域,那只需要抽象出“位置”。

第二:明確抽象對象間關(guān)系

抽象出的幾個配置對象雖然獨立,但不是毫無關(guān)聯(lián),需要思考清楚這些對象之間的關(guān)系是什么,相互之間是如何影響的,例如位置、顏色、大小、樣式都是在元素的基礎(chǔ)上實現(xiàn)的,先有頁面元素,才有其他的配置,這個關(guān)系就會影響到我們設(shè)計這個功能時,需要考慮順序、主次。

第三:不同的功能配置化抽象方式不同

很多同學一說到配置化,首先想到的就是模塊化,以至于將這兩者等同起來了,其實這是片面的認識,例如前面說的頁面布局的配置,用的就不是模塊化的原理。

模塊化本質(zhì)是一種從業(yè)務(wù)角度,對業(yè)務(wù)數(shù)據(jù)做的內(nèi)聚和解耦,所以模塊化的抽象方式適合業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯的配置,但并非適合所有的功能配置。

當配置對象抽象出來后,需要針對它們進一步的細化——分解。

4.2 分解

分解是對配置對象再次細化,以達到最小粒度。做好配置化最重要的一環(huán),就是確定好最小粒度。

什么是最小粒度?在功能配置化場景中,最小粒度是指產(chǎn)品中有完整功能意義的最小組成單位。

在這個定義中,最小組成單位比較好理解,不過前面有個修飾語——有完整功能意義。

那么怎樣才算完整功能意義呢?在不同的配置化場景中,這個結(jié)論還不一樣,舉個例子:在業(yè)務(wù)數(shù)據(jù)的配置化場景中,對某個業(yè)務(wù)數(shù)據(jù)的增刪查改,從功能角度可以定義為四個功能(最小粒度),但這樣定義對用戶來說沒有任何意義,也不完整,因為新增完了啥也干不了,看都不能看,那有什么意義呢,而真正有意義的是一個業(yè)務(wù)數(shù)據(jù)完整的增刪查改合集,這個才是業(yè)務(wù)數(shù)據(jù)配置化的最小粒度。

但是,在角色權(quán)限的配置化場景中,增刪查改就可以定義為四個不同的最小粒度,因為這四個功能對應(yīng)四個權(quán)限,不同角色或用戶的權(quán)限就是有區(qū)別的,所以在這個場景中增刪查改就是四個最小單位。

所以,我們在定義最小粒度時要結(jié)合配置化場景來看。

4.3 重組

將前面分解后的最小粒度按不同規(guī)則排列組合,進行重組,就能配置出新的一套功能出來了。

到這里,關(guān)于配置化基礎(chǔ)認知方面的介紹就完了,接下來文章將進入實操干貨部分,來告訴大家這些配置化具體怎么做。

下一篇:業(yè)務(wù)數(shù)據(jù)配置化

 

作者:周翔;公眾號:周翔Fly;個人微信:zhouxiangxgg

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

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

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 啥時候更新呀,沒看到第二篇~

    來自北京 回復(fù)
  2. 老師請遵守你的承諾,更新《下一篇:業(yè)務(wù)數(shù)據(jù)配置化》哈哈哈哈??

    來自上海 回復(fù)
    1. 同期待??

      來自河南 回復(fù)
  3. 班門弄斧一下,實際上配置化在生產(chǎn)中有著廣泛的應(yīng)用,如做電商小程序產(chǎn)品,往往允許商家自己裝修店鋪,更深一層的,允許商家配置是否允許部分退,僅退款等等,目的還是為了靈活的適應(yīng)業(yè)務(wù)場景。如果配置化是發(fā)散,那么將多個配置化業(yè)務(wù)組合在一起就相當于聚合,針對某個特殊行業(yè),如美妝,就形成了行業(yè)方案,兩者相輔相成。但是應(yīng)該注意到的是,配置化是依賴于1、豐富的行業(yè)經(jīng)驗(知道哪里需要配置化,同時控制配置化的顆粒度不要太大也不能太小,太大則不夠靈活,太小則運維成本高) 2、較為充足的開發(fā)資源(小公司修一條路且不容易,想要條條大路通羅馬則要花費真金白銀)。請老師指正

    來自上海 回復(fù)
    1. 第一點:豐富的行業(yè)經(jīng)驗是做好配置化的重要輔助條件,不過不是根本條件;
      第二點:配置化對現(xiàn)有產(chǎn)品的改造可能非常大,有的時候不亞于重做,必然需要投入大量資源,這個時候需要評估值不值得,如果有差異的場景比較少,變動頻率不高,直接寫死到業(yè)務(wù)規(guī)則比做配置化更劃算。

      來自廣東 回復(fù)
  4. 我的新書《不枯燥的B端產(chǎn)品實戰(zhàn)課》已上線,更多干貨盡在書里,京東地址:https://item.jd.com/12786741.html

    來自廣東 回復(fù)