如何建立模塊化工具設計思維

2 評論 7491 瀏覽 43 收藏 10 分鐘

筆者深入細節從多個角度解析了模塊化設計的概念,幫助我們認識、搭建模塊化設計思維。

一、什么是模塊化設計?

這兩年來,產品模塊化設計逐漸受到大家的推崇,那么什么是產品模塊化設計呢?

產品模塊化設計就是將產品分成幾個部分,每一部分都具有獨立功能,具有一致的幾何連接接口和一致的輸入、輸出接口的單元,相同種類的模塊在產品族中可以重用和互換,相關模塊的排列組合就可以形成最終的產品。

通過模塊的組合配置,就可以創建不同需求的產品,滿足客戶的定制需求;相似性的重用,可以使整個產品生命周期中的采購、物流、制造和服務資源簡化。

模塊化或者說接口式開發,讓產品在功能使用過程中,靈活性更高,下面是我在今年平臺成長體系搭建過程中,進行了任務體系產品設計時,運用模塊化設計思路,將功設計成模塊接口形式,提高運用效率的過程。

二、僵硬的功能設計思路

今年年初,我開始著手進行用戶成長體系——任務體系的功能設計;

在成長體系的構建中,任務體系是不可缺少的模塊:通過任務和獎勵的合理刺激,用戶以物質,榮譽為目的,在平臺中不斷貢獻自己的活躍,獲得更高級的物質和榮譽,循環遞進,就像《上癮》中說到的上癮模型:

上癮模型

任務體系就是上癮模型中的行動創造者,不同的任務搭配不同層級的獎勵,形成多變的酬賞,讓用戶更容易投入到平臺中。

在一開始接觸這項工作時,我的設計思路是:梳理出平臺所有的任務,將對應的獎勵也羅列出來,每一項任務綁定一個獎勵,生成后即永久固定,這樣的設計方法在開發過程中一步到位,所有的任務和獎勵設計好后,不會再有變化,如下圖所示:

但仔細想想就會發現,這樣的設計存在著一個巨大的缺陷:成本計算,運營效果預估,運營方案等等的準備工作都需要進行先期預估,才能進行開發;

針對不同運營時段,或者不同用戶群體,同一個任務可能會有不同的獎勵,一旦運營有新的任務或新的獎勵時,就需要通過研發重新進行任務埋點和獎勵開發;

結合上面的條件,可以想見,后臺的功能設計和開發上將會非常僵硬,無論是使用還是后續延展,都會有很大的難度,這樣的產品開發方式,也與敏捷開發模式背道而馳,若在前期沒有做到完整的梳理和運營規劃,將會對后續的產品運營產生極大的困難。

三、模塊化設計思維的轉變

在了解到模塊化設計方法后,我對任務體系的設計有了一個新的想法:將任務和獎勵進行分離。

任務模塊進行功能拆解,將用戶屬性,時間維度,行為等變成可編輯式, 生成后隨時調控,靈活運營。

獎勵模塊作為工具化產品開發,以接口形式對外進行組合搭配,不僅僅適用于任務,還可以對接至活動,從而實現一個模塊多處使用,真正實現隨時調用,隨時上線。

模塊化設計思路

此時,產品開發前期需要梳理的內容就只剩下平臺行為,其他的工作,例如運營方案、運營效果的預估均可以在開發過程中同步完成,而不必占用項目的開發時間。

四、數據效果

在這樣的設計思路下,每一次的運營活動只需要進行活動邏輯設計,不再需要重復進行獎品模塊和任務模塊的開發。

同時運用模塊化的思路,每一次的活動都做成模版工具,和任務模塊,獎勵模塊做好功能接口對接,直接調用,在后續的運營過程中,活動的復用性也得到了保證。

經過這套模塊化工具設計方法,活動運營的前置開發時長減少了85%,運營人員只需要準備好活動方案,就可以在后臺進行活動的設置,獎品的設置以及任務關聯。

五、模塊化設計思維的好處

也許你會說上面的經歷僅僅是某次需求設計時的思路變化,但當真正掌握模塊化設計思維方式,并應用在其他方面時,你就會發現模塊化設計思維的強大。

1. 輸出的統一性

舉個例子,當有兩個設計師負責同個項目,列表模塊在多個頁面都會出現,這時兩個設計師就會設計出兩個不同樣式的列表在APP中出現,這樣子是極其不合理的。

這個時候,采用模塊化設計思維,針對復用性高的模塊形成設計規范,保證最終成品輸出的統一性,就像微信小程序的設計規范一般:

統一的頁面體驗和有延續性的界面元素都將幫助用最少的學習成本達成使用目標,減輕頁面跳動所造成的不適感。

2. 便于維護

每當系統出現bug的時候,查找問題總會是一個大難題,錯綜復雜的接口代碼關系總會讓錯誤查找也變成一個難題,如上文的例子如采用第一種設計思路,功能設計的高耦合度會讓任務體系出現問題時,問題查找極其麻煩,無法定位問題究竟是在任務模塊出現的還是在獎勵模塊出現的,只能全部代碼所有流程跑一次。

而當你采用模塊化設計時,bug的初始就能很快定位是哪個模塊出現了問題,你只需要在對應模塊查找問題,將模塊內的問題解決就可以了;

3. 提高效率

以最近遇到的web端頭部UI修改舉例,前端人員根據設計師重新設計好的頁面頭部進行修改時發現,web端的部分頁面采用的是同一套js代碼,修改后即可直接替換,而部分頁面卻是獨立設計,無法進行復用,如果要進行頭部修改,只能一個頁面一個頁面的修改,修改工作繁重。

如果在網站建立的初期,我們就采用模塊化設計思路,復用性高的模塊抽取出來共用,將來需要修改時,也只需要修改對應模塊,而不需要每個使用到的頁面都進行修改。

4. 低耦合高內聚的程序思維

在產品功能設計的過程中,我們現在經常采用的是敏捷開發,快速迭代的方式。

在這個過程中,若設計思路不明確,就會在功能設計中出現功能之間交互復雜,聯系過于緊密,開發的時候也會因為功能設計的缺陷,而造成功能模塊之間耦合性加強,即使是敏捷開發,在迭代過程中也要不斷地為前面的功能進行修補,對后續的功能迭代和拓展造成影響。

當采用模塊化設計思維時,我們其實就進入了程序開發中經常講到的低耦合高內聚設計思維

降低模塊間的耦合度能減少模塊間的影響,防止對某一模塊修改所引起的“牽一發動全身”的水波效應,保證系統設計順利進行,使得模塊的可重用性、移植性大大增強。

六、總結

從上文可以看出,采用模塊化設計就像搭建積木一樣,統一的接口輸出規范,高效的維護成本,以及與高效程序思維一致的產品設計思路,帶來的是高效率,高復用性的產品設計。

 

本文由 @DHAllison 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自 unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 2張圖將問題和解決方案展示的淋漓盡致,一下子就記住了,筆者棒棒棒。

    來自陜西 回復
  2. 筆者應該是個資深的程序員

    來自廣東 回復