天天看點

技術人員的一點産品思維思考

一  産品思維是什麼?

作為一線的開發人員,大家是不是都經曆過和産品吵得不可開交的經曆,甚至最後誰也無法說服誰,隻能将問題上升。最後由老闆出面解決,而大多數情況下老闆還真能夠以某種方法去解決,并且是一個雙方都能接受的方案。這個時候可能大部分同學會認為是老闆的權威,地位導緻了這一結果。其實這很不準确(可能有一部分原因但絕對不是主要原因)其實更多的是各個老闆們有比一線開發更強的産品力,能夠聽懂對方的訴求和抓住沖突點并且給出解決方案。同時其中的表達方式更容易讓彼此接受,才導緻了最終你看到的老闆出馬,問題解決,好像自己的觀點繼續保持了,同時對方也留有餘地。那這裡這項重要的能力來源于什麼呢?其實我認為更是一種産品思維的方式。

技術人員的一點産品思維思考

從這裡可以看到産品思維是通過科學方法論來持續擷取最大化價值的思維方式、但這樣說或許有點空洞、在基于日常産品技術的産品疊代、更想說産品思維以下這幾種形式。

技術人員的一點産品思維思考

 二  為什麼技術人員要具備産品思維?

1. 覺得産品提的這個需求沒有意義、對業務沒有任何幫助、是一種雞肋需求;

2. 疑問産品的需求為什麼每天改來改去?十分降低工作效率;

3. 覺得産品的想法天馬行空、不專業。完全沒有考慮系統的可行性、基本無法落地實施;

4. 覺得産品的方案一點都不周全、這麼明顯的邏輯漏洞都沒有考慮到;

5. .......

在日常的工作當中、作為程式員的你是不是經常聽過如上的吐槽、其實抛開有一小部分産品可能确實由于經驗導緻方案不成熟、但更多的有沒有想過是由于産品思維和工程師思維的碰撞、導緻了大家對同一件事情的認知不一樣、從各自的角度出發的時候會覺得難以了解。首先我們來看一組産品思維和技術思維的對比。

技術人員的一點産品思維思考

舉個例子:之前盒馬倉儲産品評審過一個活鮮倉按箱出庫的需求、大緻意識呢就是針對活鮮類商品(例如魚、螃蟹之類)直接以箱為機關進行出入庫管理。但這裡如果從工程師思維出發會出現幾個不可避免的問題:

1、箱入箱出這種場景在之前盒馬的倉儲系統中是不存在的、具不具備可實施性未知(how、技術至上); 2、全鍊路要适配這種改造、改造點會非常大、難以實作(關注細節、解決方案); 3、針對少貨或者多貨的場景、涉及上下遊鍊路庫存對賬會非常麻煩、且極端場景下壓根無法對齊(完美情節);

針對這幾個問題、研發側進行了需求的打回、并協定産品業務對齊方案和風險後再次進行評審。但從産品的角度來看角度完全是另一種場景:

1、箱入箱出以前不存在、不代表現在以及将來不會有。這是線下真實需要的業務場景、盒馬的倉儲需要擴充這類能力(why、使用者價值); 2、全鍊路改造工期大、可以梳理工期進行正常排期疊代(疊代思維); 3、異常場景是小機率事件、不能因為小機率事件影響整個項目的超前推進。真正少量異常資料由業務自己兜底。(全局觀、完成比完美重要);

在這裡由于産品和技術出發的角度不一樣、則會帶來天然的沖突、在情緒帶入之後會很難了解對方的訴求和問題點在哪裡、以及是否有綜合2者之後相對靠譜的解決方案。在這裡技術人員如果轉換一下視角用産品思維去應對這個需求、這樣去溝通是不是會更合适一些呢?

1、認可箱入箱出是一種新的能力、讓産品确定業務價值之後去擴充此類能力。也是對現有倉儲系統庫存能力的一種補充。 2、告知産品具備心理預期、全鍊路改造方案成本會比較高、耗時會比較長。看是否能夠接受、如果不能接受去嘗試中間方案。 3、技術側如果投入大量成本去改造鍊路、則需要産品和業務認可此事的技術價值和投入産出比。

當采用這種方式去溝通之後會明确告訴産品技術側的問題點以及擔憂的問題、這樣當雙方都認可此需求的價值和必要性之後再一起同步攜手往前走。回到這個例子、其實就是程式員如果具備産品思維,你就能站在産品角度去思考問題、就容易和産品團隊溝通協作培養更加融洽的工作關系、更有利于提升工作效率。

技術人員的一點産品思維思考

我們再來看如果技術具備産品思維之後除了更加便于溝通還能給技術人員帶來哪些工作上的優勢呢?

抽象能力相信大家做技術的都或多或少有一些、平時寫代碼中也經常用到。但是根據已有的内容去抽象、和面向未來去抽象是2種完全不一樣的能力。當技術人員具備産品視角之後,會更容易發現抽象的角度、也更容易表達出來抽象的概念。例如最近接到一個針對大倉加工智能秤稱重的産品訴求(将加工過程中的原料重量通過系統記錄下來)如果簡單的抽象可能是稱重任務可以稱原料、稱成品。如果和産品交流過後具備産品思維就會問這個稱重主要解決什麼問題?是在實操作業哪一步的動作?這個時候可能結合mes系統你想到的是工序、會進行一個工序任務的抽象。但是這裡再考慮表達、是否要更加讓大家明白工序是什麼意識?這裡就會自然的類比精修、貼膜、貼标等等實操環節是否都可以通過工序去表達、再結合他應用的場景這樣一個面向未來的工序模型就可以逐漸沉澱下來、也便于未來擴充(有興趣的同學也可以去了解下倉内的精華裝載單元是如何面對過去進行統一歸納沉澱、面向未來是如何抽象擴充的、這是一個十分經典的抽象例子)。

技術人員的一點産品思維思考

修煉思考力,提升角度,更容易看問題本質。大家想一下具備産品思維去形象表達事物的根本屬性的時候是不是大多從這三個角度出發:

1、給出清晰的定義;

2、做出準确的簡單類比;

3、打出精妙的比方;

你在工作中一直具備如此的習慣、在你遇見困難的時候、會把思考攥在自己手中、而不是交給别人。這是一件當下比較累、但對未來很爽的事情、保持一定的好奇心和想象力去思考、會讓自己收獲更多的成長。電影《教父》裡有一句經典的台詞:“花半秒鐘就看透事物本質的人,和花一輩子都看不清事物本質的人,注定是截然不同的命運”。

技術人員的一點産品思維思考

更好的全局視角、這裡針對技術人員更好的全局視角意味着什麼呢?

1、首先當然是提高系統熟練度、不僅僅是針對目前你所負責的子產品、更是你所負責系統的上下遊鍊路也具備相當的了解。這樣會給你更多的機會去承擔更大的職責。

2、明确的知道做這個需求、這個項目的價值、知道為什麼去做、而不是簡單的執行機器。會去從需求合理性、投入産出比等問題上去思考需求的必要性。

3、更容易知道如何去展現價值、知道這個項目的重點是什麼?知道如何去沉澱資料、從系統的角度來闡述和達到目标。

技術人員的一點産品思維思考

4、更好的通過技術創造業務增值、技術同學如果具備産品力會更容易發現産品當中的優化點、并創造不小的業務價值。舉個例子:之前優選網格倉針對中心倉發貨容器進行二次分撥到站點、技術側發現這裡可以針對容器内貨品進行配置設定關系的打亂(總體配置設定關系不變)進而減少分撥次數。僅這一個技術小點、就減少了網格倉現場12%的分撥次數。再舉個例子:之前b2c大倉邊揀邊播、是揀完一個sku進入一次巷道,如果巷道中有多個sku需要折返多次;技術側具備産品思考之後通過細微的改動給了更好的産品體驗、對總揀和分撥這倆個動作進行抽象歸類。統一進行總揀,再進行分撥的方式,避免總揀分撥交叉使用的方式下揀貨人員往返多次的問題,提升現場14%的揀貨人效。

三  如何提升産品力

技術人員的一點産品思維思考

在不同的思考階段、我們看待問題的角度一定要有進步。能夠針對具體表現層的變化、去抽象底層的概念和能力來以不變應萬變(舉個例子、倉儲系統複雜演進的過程更多的就是圍繞産能 & 人效 & 成本 & 數字化的不斷演進)要不斷鍛煉自己的思維習慣、這樣才能去提升思考力的邊界。最近筆者在看一本關于産品法的書并做了部分筆記、這裡面關于思維方式我認為以下幾點是值得我們技術人員去注意并且不斷學習和提升的

本質思維:第一性原理從頭算起,隻采用最基本的事實作為依據,然後再層層推導,得出結論。抛開别人怎麼做,過去怎麼做得到不一樣的視角(拒絕被同類産品的設計影響和壓根不懂同類産品的設計是倆回事 )連環追問法是一種手段,理清過往思路和關鍵環節,幫助快速判斷并且産生新的idea。

相對思維:日光與陰影,讓東西明亮不一定是加強它的亮度,可以通過調低周邊的環境。這是一種逆向思維。成功與失敗,優勢與劣勢都是暫時,相對的概念。看問題很重要的倆個角度:關系和時間

抽象思維:白癡與上帝,進階抽象視角看問題和使用者本能層級看問題會有沖突。如果看不同局部可以切換是比較重要的能力。具體與抽象像飛機騰空時一個個點被不斷縮小的過程。多考慮新元素(能力)而不是新功能,元素可以搭建功能。

系統思維:回報的地位。回報系統模型是基礎的抽象模型,本質上都是在設計回報。思維誤區所有極端和異常的路徑是小機率現象。

演化思維:自下而上的設計。極簡是演化的基礎,好的架構重點突出并且能夠收放自如。

看到這裡大家可能會問、上面說了這麼多軟思維、方法論相關的觀點。如果從落地的角度看、在平時的工作中怎麼去提升呢?怎麼去潛移默化的改變自己的思維呢?

普适的套路:多看書籍、培養自己的知識儲備;多做總結、将自己所學到的盡量系統化的表達出來、這也是進一步鞏固自己的知識成果;多做分享、如果一個知識點你不光能夠自己懂、還能夠讓大家都聽懂你講了什麼你的思考是什麼這樣會進一步提升你的結構化思考 & 表達能力;

保持好奇心:這一點我更想表達在平時的工作中不要局限于自己的邊界、不要僅僅滿足于配置設定給你的工作、要多探尋配置設定你工作之外的部分擴大自己的領域能力。基礎的要求:列如一個項目你負責其中的某一個子產品之後、你是否能cover住你上下遊的問題、線上出現問題時你是否能及時定位到原因并且協助解決;另外就是保持對周邊領域的探尋,對比下周邊同學的工作内容和思考看看自己還欠缺哪部分能力、能做哪些針對性的提高。例如工作時可能某個同學負責倉儲的揀貨實操部分:

那是否有了解過揀貨單生成部分的主流程?

是否了解打包部分的設計?

是否知道裝籠發運的幾種主要方式和限制?

又是否知道倉儲系統之外單據的互動節點和主要資料?

再放大一些到除開工作之外、是否平時會關心他人的生活經驗?是否對于大到國際新聞小到周邊内網八卦一概充耳不聞?這樣會讓自己處于資訊的閉塞狀态、久而久之會導緻思維的僵化。是以一定要保持自己的好奇心、保證自己知識儲備的寬度、讓自己的思維處于活躍的狀态。

多去思考産品需求的本質、至少先做到在prd評審上多換位思考、多了解産品設計背後的原因。舉個例子如果有個使用者減肥的需求你會聯想到什麼?普通人可能想到的就是減肥、但産品思維下的思考應該想到的是、可能是他想要更優美的外貌?可能他需要尋找伴侶?可能想要提升社交地位?

技術人員的一點産品思維思考

多保持聯想、鍛煉想象力、平時接到産品的需求之後是否能夠聯想到系統的現有能力、是否能夠結合現有系統來達到需求的最優解?在這裡舉個倉儲系統揀貨的例子:之前盒馬加工中心有過一個按商品揀貨的需求、大意是當揀貨員看到庫位的商品之後可以自己主動選擇商品去揀貨、按商品揀貨這個需求從産品側來說是一個比較簡單的訴求。這裡一般會怎樣聯想呢?

技術人員的一點産品思維思考

a. 第一反應接到這個需求一般是直接根據商品選擇揀貨單傳回給使用者、再讓使用者做選擇即可(同時需要更改揀貨單相關索引);

b. 聯想到全局、如果深層次想一下結合b2c倉内揀貨任務作業的實時排程、就可以想到這裡用任務排程實作是否更符合倉内實操全局排程的規劃?

c. 再聯想到現有系統的瓶頸和優化點、現在的排程根據分區&任務能力選擇隊列拉取任務、本質是一種“實時排序”、隻能夠基于配置優先拉取。其實我們也應該擴寬任務排程的"選擇能力"、例如這次的按商品索取、其實是一種隊列内部的選擇能力。在擷取任務時除了l1級别的選擇不同隊列的能力、我們在隊列内部應該要具有l2級别的選擇能力、來豐富我們的任務排程中心在實操側的另一種排程方式(和排序平級的能力);

d. 最後結合過去和可能的未來、除了按商品揀貨、之前的dps揀貨 & 标簽揀貨走任務隊列時通過工具去拉取完臨時過濾的方式不應該是一種長期的方式。包括後續可能存在的按位置揀貨(分區内部的巷道庫位、根據人力位置實時擷取最優揀貨單)、按銷售訂單揀貨(哪個訂單要逾時了緊急提高優先級)等等可能存在的場景、本質都是根據實時的實操動作去具備l2次元的選擇能力、是否可以借本次需求來搭建基礎實作能力;

e. 最終給出一些抽象歸納的建議、揀貨實操時的變動、具備人的因素、去動态選擇。生成任務的時候照正常生産、實操的時候具備動态能力(插入的選擇能力根據人的因素去抉擇)如果不配置那就預設使用原有隊列的排序能力。

當然這裡隻是一個聯想的例子、可能最終決策還要考慮投入産出比等各方面的因素。保持想象力無論是對程式員還是産品經理都是一個提升思考深度比較不錯的方式。我們要做的就是培養習慣、讓自己的思考伴随着自己的想象力去得到成長。