編輯導語:產品經理在工作中經常會遇到系統對接的問題,系統對接並不是個簡單的事情,要涉及到技術方面的問題,處理不好可能會導致專案延遲;本文作者用自身經驗詳細分析了系統對接的流程和經驗。
做過B端業務的同學都知道,我們在工作中難免會遇到系統之間的對接問題。為此,我們不僅需要了解對方系統所能提供的內容,還需要知道雙方之間可以互動的節點。
對接的順暢,可以大大提升自己系統的擴充套件性;對接的不暢,步步是坑事倍功半。
最近自己剛好正在對接一個ERP系統,規模在國內算是比較大的那種。切記,請不要相信對方提供的所謂開發文件,關鍵時刻還是要靠人對人的溝通。
如果你也準備做系統間的對接,那麼我希望下面這些內容能夠對你所有幫助。
一、瞭解對接目的是什麼有些是公司規劃需求,有些是客戶定製需求,無論哪種型別,我們都需要明確具體的需求是什麼。
1. 目前迫切的痛點如果將需求按優先順序來劃分,那目前最迫切的痛點問題,自然是我們需要優先關心的。
你可能會說,做目前最迫切的痛點,這是句正確的廢話,誰都知道。為什麼還要特別說明呢?
因為關於系統對接,為此所涉及到的功能和可能要動用的資源,實在是太多太多。
如果我們不提前規劃好需求的優先順序,最後的結果往往是什麼都做不了。
以我們目前的情況來說,自己系統裡的功能就將近10個,要對接的系統中的功能則更多。
在這樣的情況下,你要對接哪些功能?具體要怎麼對接?這些都是產品經理需要考慮的。
- 首先,我們需要和需求方明確當前階段最緊急、最迫切的功能。你可以這樣考慮,為了保證業務能夠走下去,我們至少需要做哪些工作;儘量聚焦在核心業務流程上。
- 其次,在瞭解到需求方的要求之後,我們自己需要梳理一遍這流程中可能涉及到的關鍵和資料對接節點;要確保不遺漏、不多餘。
舉個例子:我們的客戶要求首先將訂單流程對接跑通,即使用者能夠下單,然後發貨、庫存這些資訊能夠做到同步。
針對上面的情況,如果你僅僅只做訂單這一塊,那肯定是不行的。
經過仔細的梳理,至少有下面這三大塊內容需要考慮:
- 商品資訊:包括商品基本資訊、庫存資訊;
- 訂單資訊:包括下單流程、發貨流程;
- 售後資訊:包括退款流程、退貨流程;
有的放矢,抓大放小,一步一個腳印。
2. 未來可能的需求所謂的腳踏實地,心向遠方,就是這樣的狀態。我們不僅需要知道當下最重要的事情,還需要知道未來可能的方向。
可能你會問,我們將當下的事情做好、滿足需求了,就已經不容易了,哪還有時間和精力去考慮其他。
話是這樣說沒錯,但如果真的這樣,那以後產品的升級,也許將難上加難。
瞭解需求方未來可能的潛在需求,無論是對自己產品的規劃和功能的迭代,都有著重要的指導作用。
首先,透過對潛在需求的瞭解和分析,來判斷未來的發展趨勢和我們自己的規劃是否相符。
如果相符,我們可以考慮怎樣更好的進行融合;如果不相符,我們可以考慮是調整自己的方向還是放棄未來的可能。
其次,透過對需求的深挖和抽象,對我們自己的產品規劃有參考價值;多種選擇、多種方向,也許能為我們提供新的視野和方向。
以我們這次的對接來說,透過這次實踐,對於我們自己以後的微服務有著很好的借鑑意義,也為我們以後的方向找到了一個可能的機會點。
未來的不可知,需要我們多思路、多角度思考問題。
二、明確對方能提供什麼俗話說,知己知彼才能百戰百勝,放在我們這裡,那就是知己知彼才能更好的對接融合。在開始對接前,首先要做的,就是要了解對方能夠提供什麼。
1. 自己先了解概況想了解對方能提供什麼,最直接也是最有效的方式就是自己去體驗、去了解。
在這裡,我們要感謝這個時代。現在大部分的網際網路產品,都會有官網介紹和產品體驗,有些產品還可以進行試用甚至免費使用。
這就為我們瞭解第一手資料提供了很多便利,儘可能多的獲取對方的資料。
當然,也是需要有重點的:
- 搞清楚對方主要提供哪些功能;
- 搞清楚對方是否能夠提供標準的API介面;
- 搞清楚對方能否進行針對性開發等等。
如果對方有API介面和文件,那將能夠大大的提升我們對接的效率。畢竟能夠提供標準介面的,大部分都是經過驗證可行的。
如果我們的需求,超出了對方的標準範圍,能夠針對性的提供功能開發,具體費用如何,這些我們最好也要提前瞭解和準備,為後續的方案溝通做準備。
以上,是我們自己作為需求方,需要去了解的內容。
如果需求來源是我們的客戶,那我們就可以透過與客戶的溝通,深入瞭解對方系統的功能。
而且,在這種情況下,我們還可以進入客戶的賬號,親自體驗對方產品的操作流程和邏輯,梳理頁面欄位和內容,針對性整理彙總。
透過以上兩種方式,先形成自己的初步印象。
2. 有針對性的進行溝通當我們自己首先了解到對方系統大致的內容後,我們就需要結合自己前期瞭解到的需求,有針對性的整理出可能存在的問題,切勿漫無目的的去了解。
當我們有了自己的初步判斷後,緊接著就需要進行進一步的確認核實。畢竟,我們所體驗到的,未必就是正確的。
這時候,我們就可以直接聯絡對方,而且儘可能聯絡到相關部門,有時候400電話客服,並不能解決我們的對接需求,打過電話的人都懂。
聯絡到關鍵人之後,針對之前我們整理的問題,進行有效溝通,儘量避免談一些大而空的內容,這是我個人的建議,畢竟大家的時間都很寶貴,直奔主題比較好。
也千萬不要問百度能搜尋到答案的問題,將時間留給最有用、最核心的關鍵點。
以我們自己為例,在明確了客戶需要對接的需求後,我們初步整理出需要的商品、訂單、售後三大模組;然後針對這三大模組的對接問題,進行深入的溝通。
在此基礎上,我們還了解到如果想進行這三方面的對接,第一步則是需要我們拿到客戶的授權,而獲得授權的方式和資料,也需要額外準備。
透過上面的例子你會發現,看似簡單的對接流程,其實背後的相關操作邏輯有很多。
有時候,我們僅僅透過產品是無法感知的,必須在此基礎上,進行針對性溝通。
查缺補漏,才能萬無一失。
三、知道自己能對接什麼明確了對方能提供什麼,接下來要做的就是知道自己能做什麼、不能做什麼;為了完成有效對接,我們又需要額外準備些什麼。
1. 自己需要做哪些準備透過前面兩步,現在我們不僅瞭解到需求是什麼,而且還了解到對方能提供什麼,那麼接下來要做的就是我們自己要準備些什麼。
我們不僅要梳理出雙方整體的框架流程,還需要明確兩個系統之間的資料互動。
在什麼時間節點,我們需要將資訊推送給對方;對方進行了什麼操作,會將資訊推送給我們,這是我們必須要搞清楚的。
資料傳遞過程中的API介面、訊息推送機制,作為產品經理,我們需要提前做好預判,否則在後續開發過程中,會遇到各種問題。
與此同時,我們還需要知道,為了滿足這些需求,我們自己的平臺是否需要做相應的調整。
如果調整,會涉及哪些模組,會影響哪些功能,對現有功能是否造成影響,是做成公共模組還是定製模組。
如果不調整,能否快速的滿足現有這些需求,能否順利的完成對接。
以上這些,我們都需要事先定義好。
以我們為例,為了完成這次對接,需要在建立商品、建立訂單、取消訂單、申請售後等相關地方,都需要做開發判斷。涉及到的相關介面,都需要進行資料推送和訊息反饋讀取。
不打無準備之仗,將問題提前暴露。
2. 整體到細節一個都不能少我們不僅要從宏觀層面瞭解整體流程,緊接著具體到每個功能,我們也需要儘可能的細分。
- 宏觀層面:幫助我們概括思路和梳理流程;
- 細節落地:推進開發具體執行。
很多時候,我們看大流程、大思路都沒有問題,可一旦深入到細節,才會發現步步是坑,寸步難行。
作為產品經理,我們不能讓問題在開發階段暴露,我們需要提前告知並梳理。
這樣做,不僅是為了幫助我們自己理清思路,也是幫助整個對接過程更好的開展。
我們要做的,就是耐下心來,一個流程、一個頁面、一個欄位的梳理,最好是對照著API文件來看,儘量做到不遺漏。
以我們目前遇到的情況來舉例,在做整體規劃的時候,關於售後流程,只簡單的提了一嘴,流程上也只是輕描淡寫的畫了。
可誰曾想,就是因為這個疏忽,導致了開發在評估時輕視了,造成實際開發週期延長了1天左右,因為這其中涉及到的點實在太多了。
簡單的售後流程,雙方的資料互動就有如此之多。
所以,在力所能及的範圍內,儘量細化每一個關鍵節點和內容。
四、看到未來能產生什麼最後我還想說一下此次系統對接,對於我們自己產品的一些啟發。
很長時間內,我們自己關於不同系統之間的資料互動,都是透過所謂的後端程式碼寫死來實現的;這樣的好處是開發簡單、快速上線。
可隨著系統功能越來越多、資料量越來越大、流程越來越複雜,導致了現在改動任意一個小點,都極其繁瑣。
要麼是這裡不支援,要麼就是那裡耦合太強,以至於現在想加新功能越來越難。而且如果一個系統出問題,其他系統也都無法正常使用。
正當技術部門為此頭疼的時候,透過此次對接,為我們自己提供了另一種思路。
不同系統之間,其實可以透過介面的方式進行呼叫,每個系統保持相對獨立。
這樣一來,即能夠實現各自執行,又能夠保證互聯互通。
正所謂,山窮水盡疑無路,柳暗花明又一村。
作者:明天上線 微信公眾號:明天上線
本文由 @明天上線 原創釋出於人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基於 CC0 協議