批量導(dǎo)入的那些坑,請(qǐng)注意避開!
編輯導(dǎo)讀:對(duì)于B端產(chǎn)品來說,批量導(dǎo)入是一個(gè)常見的功能。尤其是在歷史數(shù)據(jù)很多的情況下,批量導(dǎo)入能減少很多工作量。但是,批量導(dǎo)入看似簡(jiǎn)單,實(shí)則是個(gè)大坑。本文作者基于自身工作經(jīng)歷,梳理了批量導(dǎo)入應(yīng)該避開的四個(gè)大坑,希望對(duì)你有幫助。
看了好多文章,都在講如何進(jìn)行批量導(dǎo)入,不過實(shí)在是最近被批量導(dǎo)入坑得太慘了,所以這篇文章是勸退的,沒想好這幾個(gè)問題點(diǎn),建議批量導(dǎo)入的功能先緩緩,您先冷靜冷靜再?zèng)Q定要不要做。
誠(chéng)然,對(duì)于B端產(chǎn)品來說,好像很多地方都會(huì)用到批量導(dǎo)入。尤其是在系統(tǒng)冷啟動(dòng)的時(shí)候,商家會(huì)有一堆理由與說辭讓你覺得,好像確實(shí)有做批量導(dǎo)入的必要,如果不做批量導(dǎo)入對(duì)商家很不友好,大批量的歷史數(shù)據(jù)不能盡快錄入系統(tǒng)的話,那商家可能就會(huì)說要考慮考慮要不要用你這個(gè)系統(tǒng)了。
這時(shí)候,為了讓甲方爸爸們買單,我們就妥協(xié)了。然而,你以為做了這個(gè)功能就結(jié)束了,天真,之后你才會(huì)發(fā)現(xiàn),這只是個(gè)開始。
以CRM系統(tǒng)為例,歷史客資的導(dǎo)入基本上是避開不了的議題?;蛘呤莻}(cāng)庫(kù)系統(tǒng),歷史物料的快速錄入也是個(gè)不得不考慮的問題。
但不管是哪種,其實(shí)做批量導(dǎo)入的大部分場(chǎng)景都是為了解決商家冷啟動(dòng)的問題,但是由于系統(tǒng)在不斷迭代,批量導(dǎo)入的邏輯也需要一直跟隨修改,基本需要和線上保持完全一致的邏輯,畢竟這是一個(gè)可能三五個(gè)迭代不會(huì)有人用,但是一旦用起來體驗(yàn)糟糕或者邏輯跑不通那就是死罪了。
所以整理了以下幾個(gè)問題點(diǎn),各位看官好好考慮。
靈魂拷問一:開發(fā)資源是否足夠?
其實(shí)這是個(gè)過于實(shí)在的問題了。就問一句,各位產(chǎn)品有沒有經(jīng)歷過由于開發(fā)資源不夠所以需求被延期的情況。
有一說一,迄今為止我碰到的產(chǎn)品就沒有一個(gè)說每次功能都是開發(fā)說能做但是他自己給砍掉了的。
開發(fā)資源在絕大多數(shù)公司都是緊張的,所以產(chǎn)品核心能力有一個(gè)是排需求優(yōu)先級(jí),但是批量導(dǎo)入是一個(gè)你一旦做了那之后沒有辦法考慮優(yōu)先級(jí),必須每個(gè)版本跟著你迭代邏輯同步修改的功能。這就導(dǎo)致,一旦有涉及到字段調(diào)整或者是相關(guān)邏輯調(diào)整的情況,你必須做同步,這點(diǎn)沒商量,就必須占用一定的開發(fā)資源。
如果只是版本微調(diào)還好,基本也不會(huì)修改太多。但是一旦涉及比較大的功能調(diào)整,本身開發(fā)任務(wù)就是很重的,這時(shí)候你還需要考慮批量導(dǎo)入的每個(gè)字段邏輯以及導(dǎo)入邏輯是否有關(guān)聯(lián)影響,需要做對(duì)應(yīng)的調(diào)整。
當(dāng)然,有人會(huì)說,這些應(yīng)該是默認(rèn)跟著系統(tǒng)邏輯走的,恕我直言,會(huì)用批量導(dǎo)入的系統(tǒng)部分邏輯還是比較復(fù)雜的,往往做不到完全自適應(yīng)。除非是最基礎(chǔ)的字段導(dǎo)入,涉及邏輯很少,就只是展示,不關(guān)聯(lián)導(dǎo)入后數(shù)據(jù)狀態(tài)變更的一些問題,如果這樣,你可以到下一步了。
靈魂拷問二:你準(zhǔn)備好因?yàn)樗雍芏嗵厥膺壿嬃藛幔?/h2>
這個(gè)問題也是最近幾個(gè)月折磨了我好久的問題。
第一次做批量導(dǎo)入就是做CRM系統(tǒng)里的歷史客資導(dǎo)入,本以為這個(gè)需求很簡(jiǎn)單,無非就是客資字段的導(dǎo)入,如果格式不匹配報(bào)錯(cuò)就好了,第一版上線后,csm小伙伴跑來跟我說,客資導(dǎo)入成功率不足5%,我??(黑人問號(hào)臉),我都給示例數(shù)據(jù)了還看不懂嗎?我都按照各位產(chǎn)品大佬的意見來了呀,注釋也告訴他們什么字段有什么填寫要求了,每一步該干嘛也引導(dǎo)了,為什么還失敗率那么高。
跑去看數(shù)據(jù),原來是本身平臺(tái)有填寫限制的一些字段直接被商家無視了,比如某個(gè)字段,因?yàn)樯婕暗胶罄m(xù)內(nèi)部員工的績(jī)效問題,所以填寫的要求是需要商家填入在當(dāng)前企業(yè)的員工。但是,商家給了一份攢了十年的文件來導(dǎo)入。
十年啊!兄弟們,都?jí)驈奈也徽J(rèn)識(shí)你,你不屬于我到我們是朋友了。這里面有好多老板都記不起名字的曾經(jīng)的員工,他表示肯定要導(dǎo)入,而且數(shù)據(jù)不能亂改啊。
雖然我一度質(zhì)疑過十年前的數(shù)據(jù)拿來有什么用,但是一旦被甲方爸爸說出那句“如果你們不能實(shí)現(xiàn)這個(gè)功能我就要退款?!边@種一聽就想甩手走人的話來就只能妥協(xié)了(當(dāng)然,因?yàn)槲覀兤脚_(tái)剛做不是很久,所以很珍惜每一位甲方爸爸,平臺(tái)大一點(diǎn)的話這種要求應(yīng)該可以拒絕,不過這只是一個(gè)示例)。
甲方爸爸都說要了,想辦法加唄,那就正常錄入的時(shí)候不能自己填,但是批量導(dǎo)入的時(shí)候可以,先校驗(yàn)這個(gè)人是不是在企業(yè)里,如果有正常導(dǎo)入,如果沒有,則作為文本字段特殊導(dǎo)入,導(dǎo)入后對(duì)應(yīng)位置需要可以展示,一旦修改則只能修改為當(dāng)前企業(yè)下的員工。
還有我們要求部分字段只能填固定的幾個(gè)選項(xiàng),商家說我就是有另外一個(gè),為了提高導(dǎo)入成功率,加唄,如果識(shí)別到?jīng)]有,直接在設(shè)置里添加,哪怕原來這個(gè)字段編輯有權(quán)限控制,在批量導(dǎo)入這兒也開放了,不做鑒權(quán)……
諸如此類,其實(shí)會(huì)有很多。大家都應(yīng)該知道,平臺(tái)越復(fù)雜,特殊邏輯應(yīng)該要越少,因?yàn)樘厥膺壿嬐螛?biāo)不治本,而且等于在平臺(tái)上埋地雷,一旦哪天不小心碰到,就是炸。但是批量導(dǎo)入就是為了提升效率,所以往往會(huì)做很多兼容,相當(dāng)于是在挖坑了。
靈魂拷問三:你真的能夠做到不遺漏邏輯嗎?
有些時(shí)候吧,甚至覺得開發(fā)資源嘛,擠擠總是有的;特殊邏輯嘛,加就加吧,能導(dǎo)入就行。
但是,你每一個(gè)版本迭代的內(nèi)容真的你都能記得往批量導(dǎo)入同步嗎?你這邊可能只是順手改了個(gè)字段的格式,沒準(zhǔn)兒只是從多行文本變成了單行文本,填入字?jǐn)?shù)限制從100變成了20,或者是限制不能填入某個(gè)敏感詞。如果你漏了批量投入,可能導(dǎo)入就報(bào)錯(cuò),并且可能是之前你沒有考慮到的錯(cuò)誤原因,商家導(dǎo)入,報(bào)錯(cuò),錯(cuò)誤原因,未知,再導(dǎo)入,再報(bào)錯(cuò)……“
什么垃圾功能!”我都能想象到商家的氣憤,并且說了,批量導(dǎo)入很多就是解決冷啟動(dòng)的問題,所以那時(shí)候商家遷移成本很低。因?yàn)椴]有太多數(shù)據(jù)在你平臺(tái)里。所以,出現(xiàn)這樣的問題可能讓商家對(duì)平臺(tái)的初始印象就不好,后續(xù)對(duì)接真的會(huì)耗費(fèi)更多精力。所以,你必須保證隨時(shí)批量導(dǎo)入是可用狀態(tài),因?yàn)殡S時(shí)可能有新簽商家。
所以,批量導(dǎo)入真的是耗費(fèi)資源的一件事,不止開發(fā)資源,還有你的精力。
靈魂拷問四:你認(rèn)為的簡(jiǎn)單真的商家也覺得簡(jiǎn)單?
開發(fā)資源,有!特殊邏輯,加!迭代內(nèi)容,跟著走!
到現(xiàn)在了,你覺得商家總該沒有問題了吧。但是,商家真的會(huì)看你那一堆文字注釋,按照要求修改每個(gè)字段?商家真的能理解,為什么只是導(dǎo)入一批數(shù)據(jù)而已,設(shè)置里卻多了那么多可能是幾年前用的一些選項(xiàng)?商家真的知道每個(gè)字段匹配上之后對(duì)應(yīng)的數(shù)據(jù)狀態(tài)會(huì)變成什么樣?
在字段沒辦法完全匹配的情況下,商家真的能理解他源文件里的一些字段我們真的無能為力了,就是導(dǎo)入不了,因?yàn)槲覀儧]有對(duì)應(yīng)的位置或者功能去使用到這個(gè)字段?部分情況下是不會(huì)的,商家不會(huì)看你的注釋,除非是一些常規(guī)搜集的文件,可能按照你的要求來填寫,但是如果是純歷史數(shù)據(jù),肯定是大量的情況下商家才會(huì)用批量導(dǎo)入,你讓他挨個(gè)核對(duì)完再導(dǎo)入他不會(huì)認(rèn)為這是個(gè)提效的方法。
如果有字段真的導(dǎo)入不了,他會(huì)問你,這樣我的數(shù)據(jù)是不是就有丟失啊……
商家有時(shí)候是真的不聰明,有時(shí)候是聰明但是懶,懶到他覺得這東西丟給你就是能完全兼容處理,不能處理就是你的問題。如果操作失敗率高,也是你的問題。
你真的準(zhǔn)備好接受這些問題的洗禮了嗎?
以上,差不多就是我認(rèn)為批量導(dǎo)入四個(gè)很關(guān)鍵的問題了。
當(dāng)然,不要太悲觀,做好了真的感覺還是很開心的,我從最開始導(dǎo)入成功率不足5%做到現(xiàn)在基本都能成功也是很不容易的,看著導(dǎo)入成功10000條這種感覺還是很棒的,瞬間覺得“哇自己真的給商家省了好多事情誒?!备杏X賊6,還是比較有成就感,雖然這個(gè)成就感來得有些艱難。
雖然如此,其實(shí)建議大家能不做批量導(dǎo)入的地方最好還是不要做,太多坑了,如果是一個(gè)有行業(yè)通用點(diǎn)的庫(kù),其實(shí)提供給商家所有可選的可能比讓他批量導(dǎo)入更合適,最近準(zhǔn)備試驗(yàn)這個(gè)方案!看看能不能脫離批量導(dǎo)入的坑。
本文由@一白 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash, 基于CC0協(xié)議
做完了設(shè)計(jì),發(fā)現(xiàn)真的有很多細(xì)節(jié)。就比如上傳失敗、系統(tǒng)問題、其他錯(cuò)誤的信息提示;導(dǎo)入是否支持在線修改;操作日志該如何讓顯示;遇到新的字段如何規(guī)避,如果直接保存會(huì)不會(huì)影響全局規(guī)范。就比如,正常都是順豐快遞,那個(gè)人寫了個(gè)順豐,這種怎么處理,是不符合還是直接寫入。
是的,其實(shí)單從頁(yè)面設(shè)計(jì)來說,市面上已經(jīng)有很多成熟的方案了,稍微改下可以直接復(fù)用。
而實(shí)際的邏輯處理,問題主要有三個(gè):
1、由于各個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)要求不一致,所以對(duì)數(shù)據(jù)異常處理的這種細(xì)節(jié)會(huì)很多:什么時(shí)候該用什么樣的格式要求、異常后是舍棄部分?jǐn)?shù)據(jù)還是直接報(bào)錯(cuò)……
2、導(dǎo)入的時(shí)候?qū)^程數(shù)據(jù)的處理(比如操作日志),這一點(diǎn)其實(shí)很容易遺漏,但是遺漏之后需要反查的時(shí)候就會(huì)發(fā)現(xiàn)大問題
3、正常迭代涉及到相關(guān)字段的增刪改需要在批量導(dǎo)入的邏輯里做同步
所以感覺從執(zhí)行角度來看核心還是字段級(jí)的細(xì)節(jié)邏輯
很有幫助,受教了,希望博主能經(jīng)常普及這種新聞,對(duì)產(chǎn)品設(shè)計(jì)具有極大的幫助??!關(guān)注點(diǎn)贊了~~~~
感謝~
1、歷史,異構(gòu)系統(tǒng)數(shù)據(jù)導(dǎo)入,導(dǎo)出,涉及到前臺(tái),后臺(tái),數(shù)據(jù)庫(kù)表,字段,邏輯,約束等,大學(xué)問,你要踩的大坑,深坑,還早,,
2、繼續(xù)修煉業(yè)務(wù)流程和邏輯,場(chǎng)景不精通
妥妥的**樣
妥妥的zb樣
你繼續(xù)呆在,元素周期表51號(hào)元素位置上, 蜀犬吠日
哈哈,我能蜀犬吠日,可惜你還是個(gè)排泄物集合
你是不排泄非人類,雜交?
發(fā)自己的總結(jié)是為了能夠跟小伙伴們討論交流,我確實(shí)還有很多需要學(xué)習(xí)的地方。在不了解對(duì)方的時(shí)候您說話還請(qǐng)注意,言者志之苗
嗯嗯 確實(shí)還有很長(zhǎng)的路要走,所以開始慢慢總結(jié)輸出了