選單

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

作者 | 行溪

一 產品思維是什麼?

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

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

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

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

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

1 技術視角的侷限性

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

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

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

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

5……。。

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

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

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

1。箱入箱出這種場景在之前盒馬的倉儲系統中是不存在的、具不具備可實施性未知(HOW、技術至上);

2。全鏈路要適配這種改造、改造點會非常大、難以實現(關注細節、解決方案);

3。針對少貨或者多貨的場景、涉及上下游鏈路庫存對賬會非常麻煩、且極端場景下壓根無法對齊(完美情節);

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

1。箱入箱出以前不存在、不代表現在以及將來不會有。這是線下真實需要的業務場景、盒馬的倉儲需要擴充套件這類能力(WHY、使用者價值);

2。全鏈路改造工期大、可以梳理工期進行正常排期迭代(迭代思維);

3。異常場景是小機率事件、不能因為小機率事件影響整個專案的超前推進。真正少量異常資料由業務自己兜底。(全域性觀、完成比完美重要);

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

1。認可箱入箱出是一種新的能力、讓產品確定業務價值之後去擴充套件此類能力。也是對現有倉儲系統庫存能力的一種補充。

2。告知產品具備心理預期、全鏈路改造方案成本會比較高、耗時會比較長。看是否能夠接受、如果不能接受去嘗試中間方案。

3。技術側如果投入大量成本去改造鏈路、則需要產品和業務認可此事的技術價值和投入產出比。

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

2 技術人員提升產品力後的優勢

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

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

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

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

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

1。給出清晰的定義;

2。做出準確的簡單類比;

3。打出精妙的比方;

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

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

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

1。首先當然是提高系統熟練度、不僅僅是針對當前你所負責的模組、更是你所負責系統的上下游鏈路也具備相當的瞭解。這樣會給你更多的機會去承擔更大的職責。

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

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

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

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

三 如何提升產品力

1 思維的轉變

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

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

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

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

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

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

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

2 現實中的一小步

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

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

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

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

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

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

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

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

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

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

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

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

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

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

c。 再聯想到現有系統的瓶頸和最佳化點、現在的排程根據分割槽&任務能力選擇佇列拉取任務、本質是一種“實時排序”、只能夠基於配置優先拉取。其實我們也應該擴寬任務排程的“選擇能力”、例如這次的按商品索取、其實是一種佇列內部的選擇能力。在獲取任務時除了L1級別的選擇不同佇列的能力、我們在佇列內部應該要具有L2級別的選擇能力、來豐富我們的任務排程中心在實操側的另一種排程方式(和排序平級的能力);

d。 最後結合過去和可能的未來、除了按商品揀貨、之前的DPS揀貨 & 標籤揀貨走任務佇列時透過工具去拉取完臨時過濾的方式不應該是一種長期的方式。包括後續可能存在的按位置揀貨(分割槽內部的巷道庫位、根據人力位置實時獲取最優揀貨單)、按銷售訂單揀貨(哪個訂單要超時了緊急提高優先順序)等等可能存在的場景、本質都是根據實時的實操動作去具備L2維度的選擇能力、是否可以借本次需求來搭建基礎實現能力;

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

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