批量新增功能的價值&實現(xiàn)方法

0 評論 8833 瀏覽 54 收藏 15 分鐘

在涉及范圍廣、信息龐雜的業(yè)務(wù)系統(tǒng)中,做好批量新增功能有助于高效增加信息,同時又不至于對系統(tǒng)的正常運行造成阻礙。

一、背景

在加入K公司的第三周,接到第三個需求,系統(tǒng)某模塊要增加批量新增的功能,而且是很急的那種,剛來公司不久的我,接到這種無前因后果的需求時,一臉蒙B。

雖然在以往負(fù)責(zé)的項目中處理過批量新增的需求,這次我仍決定摒棄過往,待“批量新增”如初見時,對它進行一翻調(diào)研,借助以下幾個問題,來回答為什么需要做批量新增:

  • 它是什么,有什么價值?
  • 沒有它的日子是怎么過的?
  • 為什么是它?為什么要它?
  • 未來它存在的必要性?
  • 現(xiàn)在不要它,會不會有什么問題?

二、什么是批量新增??

農(nóng)民在收割的稻子的時候,都是一把一把用鐮刀割掉,后來科技發(fā)展隨著收割機的出現(xiàn),進一步提高了農(nóng)民的勞作效率,降低勞力成本的同時也避免了因收割不及時造成的損失。

生活中類似的批量操作場景比比皆是,在社會發(fā)展與進步的過程中,效率是人類不懈的追求

在產(chǎn)品設(shè)計中,無論是3C硬件產(chǎn)品/C端產(chǎn)品/B端業(yè)務(wù)系統(tǒng),拋開業(yè)務(wù)本身的差異,系統(tǒng)功能的設(shè)計本質(zhì)上都是圍繞增、刪、改、查、顯、算、傳、異而展開。

為了提高業(yè)務(wù)信息維護的效率、準(zhǔn)確性和產(chǎn)品的易用性,衍生出例如淘寶購物車的批量刪除商品、ctrl+A、WORD的批量替換、一鍵清空、一鍵已讀、列表的批量選擇、快遞單號的批量查詢等等對數(shù)據(jù)的批量操作。

1. 批量新增的概念

批量新增,是新增場景下的一個分支場景,相對于單項新增而言,批量新增是為了提高系統(tǒng)信息維護的效率、準(zhǔn)確性和產(chǎn)品的易用性,針對重復(fù)有規(guī)律的數(shù)據(jù)的批量操作。

2. 批量新增做法

常見的批量新增的做法有以下兩種:

(1)批量導(dǎo)入(如圖2)

產(chǎn)品設(shè)計時為用戶在系統(tǒng)中設(shè)計一個批量導(dǎo)入的功能入口,并提供一個信息填寫模板,模板需要為excel的文件格式,常用的有.xlsx、.cvs兩種格式,提供的模板需要約定好模板中的字段與數(shù)據(jù)庫字段的對應(yīng)關(guān)系以及每列內(nèi)容的輸入格式(例如:圖1中,模板中手機號字段,可以限制只能輸入數(shù)字)。

用戶事先按照模板的要求填寫數(shù)據(jù),并保存在某個文件模板里面,然后將填寫好的模板導(dǎo)入到系統(tǒng)中,系統(tǒng)按規(guī)則對導(dǎo)入的數(shù)據(jù)進行校驗,完成信息的批量插入。

圖1

圖2

(2)批量表單(如圖3)

產(chǎn)品設(shè)計中在用戶界面為用戶提供一個填寫信息的表單,用戶按表單的指引填寫信息,如果需要錄入多條類似信息,用戶可以選擇點擊【新增】按鈕,新增一行輸入框,如此用戶在前端界面完成信息的錄入并提交,系統(tǒng)按規(guī)則對提交的數(shù)據(jù)進行校驗,后臺批量接收并保存。

批量表單是導(dǎo)入功能的升級版,過程中必須由用戶手動填寫數(shù)據(jù)并點擊【提交】之后才能上傳數(shù)據(jù),在方便用戶操作的同時,進一步降低操作的錯誤率。同時批量表單可以很好地兼顧到單項新增的場景。

一般情況下承載批量表單的形式有彈窗和頁面兩種,具體采用哪種形式可以根據(jù)具體用戶的場景來決定,設(shè)計過程中考慮給用戶提供更多便捷性,表單初始狀態(tài)是可以是多行。

圖3

在初步了解了什么是批量新增和主要的兩種實現(xiàn)方式之后,在產(chǎn)品方案設(shè)計的過程中,具體采用什么樣方式實現(xiàn),可以從以下幾點去考慮:

3. 具體實現(xiàn)方式

(1)緊急程度

無論是批量導(dǎo)入或是批量表單,都會涉及到前端開發(fā)+后端開發(fā)。兩者后端的開發(fā)工作量相近,兩者前端實現(xiàn)的難度都不大。

在實現(xiàn)批量表單的過程中會涉及到頁面開發(fā)、交互、前端校驗及反饋、前后端聯(lián)調(diào)、頁面調(diào)試等工作,所以相對于批量導(dǎo)入的前端工作而言,批量表單的前端工作量是翻倍的。所以在需求比較緊急的情況下,可以優(yōu)先考慮批量導(dǎo)入的方式滿足需求。

(2)數(shù)據(jù)量級

一般情況下用戶在使用批量導(dǎo)入的excel模板,excel表格不含表頭,默認(rèn)可視的行數(shù)有40行,批量表單一般使用彈窗或頁面的方式呈現(xiàn),在不翻頁的情況下可視的行數(shù)據(jù)有限。

另外,在填寫的數(shù)據(jù)過程中,在excel中填寫數(shù)據(jù)是在電腦本地進行,數(shù)據(jù)量相同的前提下,體驗要優(yōu)于批量表單。

因而在設(shè)計的過程中,可以通過分析系統(tǒng)數(shù)據(jù)和用戶調(diào)研的方式,分析用戶每次操作的數(shù)據(jù)量,如果數(shù)據(jù)量偏大建議采用批量導(dǎo)入的方案。

(3)容錯能力

excel模板雖然可以實現(xiàn)簡單輸入內(nèi)容和輸入規(guī)則的約定,但最終的數(shù)據(jù)合法是在用戶導(dǎo)入模板之后進行,對于不合法的數(shù)據(jù)反饋是相對滯后的,用戶填寫完數(shù)據(jù)即可以導(dǎo)入。

這個過程看似效率很高,但如果填寫的數(shù)據(jù)質(zhì)量不高導(dǎo)致校驗不通過,定位異常數(shù)據(jù)并修改數(shù)據(jù)再導(dǎo)入的過程反而會影響效率。

批量表單以前端頁面或彈窗的方式提供給用戶,用戶在填寫數(shù)據(jù)的過程中,可以通過前端豐富的校驗手段實現(xiàn)及時有效的校驗與反饋,前端+后端校驗的方式,讓批量表單具有更高的容錯性,保證了提交前的數(shù)據(jù)的質(zhì)量,從而可以更好的滿足用戶對效率的追求。

所以在資源允許的情況下,我們在方案設(shè)計中可以給容錯能力多一點空間,采用批量表單的方案。

圖4

4. 批量新增環(huán)節(jié)

在批量新增的過程,大致會經(jīng)過收集準(zhǔn)備數(shù)據(jù)、填寫/導(dǎo)入數(shù)據(jù)、校驗數(shù)據(jù)、中斷/終斷插入數(shù)據(jù)、插入數(shù)據(jù)5個動作,如圖4所示流程,在設(shè)計的過程中需要分別對以上環(huán)節(jié)的細(xì)節(jié)問題做充分的考慮:

(1)收集準(zhǔn)備數(shù)據(jù)

收集與準(zhǔn)備:在產(chǎn)生新增數(shù)據(jù)需求之前,用戶必定會有一個數(shù)據(jù)的收集與準(zhǔn)備的過程,收集來的數(shù)據(jù)有可能是書面形式或電子文檔形式的(txt、excel、word等),在完成了數(shù)據(jù)的收集工作之后,用戶在將數(shù)據(jù)錄入系統(tǒng)前,需要根據(jù)表單和excel的要求對數(shù)據(jù)做些整理。

例如:員工信息可能含有,姓名、手機、性別、生日、郵箱、崗位、籍貫……等字段,但系統(tǒng)表單只要求填寫姓名、手機、性別、崗位字段。

(2)填寫/導(dǎo)入數(shù)據(jù)

批量表單:用戶收集準(zhǔn)備好數(shù)據(jù)后,會在系統(tǒng)表單中進行錄入,這種批量填寫數(shù)據(jù)的過程是繁瑣且耗時的,所以在表單的設(shè)計過程中需要充分考慮的交互的友好性。

批量導(dǎo)入

用戶按照excel模板填寫好數(shù)據(jù)后,在系統(tǒng)中點擊【導(dǎo)入】→【選擇文件】→【確認(rèn)】,這個過程在用戶交互界面看起來很簡單,但系統(tǒng)讀取excel文件,將數(shù)據(jù)傳送到服務(wù)端,服務(wù)端要用數(shù)據(jù)導(dǎo)入程序,逐行讀取數(shù)據(jù),根據(jù)定義的檢查邏輯檢查數(shù)據(jù)是否合法,并將數(shù)據(jù)寫入到指定的表。

在這個過程中有很多種復(fù)雜的情況需要處理,如果感興趣可以去csdn.net看看相關(guān)的博文。

(3、4)校驗數(shù)據(jù)&中斷/終斷插入數(shù)據(jù)

合法校驗

用戶在提交或?qū)霐?shù)據(jù)之后,系統(tǒng)需要校驗輸入框、表格的數(shù)據(jù)填寫是否符合規(guī)則,是否符合唯一性的要求,校驗的方式包括逐條遍歷校驗、循環(huán)遍歷校驗。

異常處理

在校驗數(shù)據(jù)過程中,如出現(xiàn)數(shù)據(jù)不合法,需要及時提示用戶并給出異常處理方案。

如果采用批量表單方案,出現(xiàn)異常時可以在用戶界面及時給出反饋(例如:告知用戶某條數(shù)據(jù)是否插入成功,如果沒有插入成功,顯示失敗的原因)。

如果采用批量導(dǎo)入方案,出現(xiàn)異常時要考慮是中斷錯誤信息插入,還是終斷全部信息插入,在完成數(shù)據(jù)插入動作后,將插入失敗的原因?qū)懭氲皆次募膶?yīng)行,方便用戶修正數(shù)據(jù)。

(5)插入數(shù)據(jù)

新增方式

在數(shù)據(jù)通過校驗之后,系統(tǒng)執(zhí)行插入數(shù)據(jù)的動作,這里的插入根據(jù)需求不同,存在覆蓋和新增兩種情況,覆蓋指的是以現(xiàn)有數(shù)據(jù)覆蓋對應(yīng)關(guān)系的原數(shù)據(jù),新增則是在現(xiàn)有數(shù)據(jù)上插入新的數(shù)據(jù)。

系統(tǒng)性能

在批量插入數(shù)據(jù)的時候,需要考慮系統(tǒng)性能的瓶頸值在哪,業(yè)務(wù)的期望值在哪,在兩者之間尋一個平衡。

系統(tǒng)日志

在異常排除和支持?jǐn)U展業(yè)務(wù)目標(biāo)時,系統(tǒng)日志數(shù)據(jù)分析通常是重要的手段。所以在對數(shù)據(jù)進行新增操作時應(yīng)該記錄相應(yīng)的日志,例如:【XXXXXXXXX】【用戶】【時間】【新增】【成功/失敗】。

三、我們?yōu)槭裁醋雠啃略觯?/h2>

在接到需求的第2天,帶著事先整理好的思路與用戶進行了1個小左時右的面對面溝通,在實際市場開發(fā)與業(yè)務(wù)運營過程中,市場人員是按省、市、區(qū)的維度去開發(fā)市場,每次市場新開發(fā)一個片區(qū),就需要在系統(tǒng)中以片區(qū)的維度在系統(tǒng)中維護數(shù)據(jù)。

所以每次維護新數(shù)據(jù)必然會有多條業(yè)務(wù)信息需要維護到系統(tǒng)中,大概每個月會進行3次左右的信息維護,每次少則需要15分鐘的時間,多則需要上小時的時間。

目前業(yè)務(wù)覆蓋到5個省,在2020年業(yè)務(wù)計劃覆蓋到10個省,業(yè)務(wù)量在原有基礎(chǔ)至少增加一倍。

基于以上與用戶溝通的信息,我又對系統(tǒng)歷史數(shù)據(jù)進行了簡單調(diào)研,針對于該業(yè)務(wù)的系統(tǒng)模塊在2019年9月底上線,從10月截止到1月,系統(tǒng)共有12天的信息維護記錄,其中有2天的信息維護記錄是分別對A省和B省補充了一條數(shù)據(jù),共維護2XX條數(shù)據(jù),平均每天信息維護的數(shù)據(jù)量在18條以上,其中信息維護數(shù)據(jù)量最少的一天共耗時約17分鐘,其中一天同省市維護的信息量多達93條耗時超過3小時,系統(tǒng)數(shù)據(jù)記錄進一步驗證了業(yè)務(wù)方的說法。

基于以上信息來看,可以判斷批量新增的需求是合理的,根據(jù)業(yè)務(wù)發(fā)展的計劃,現(xiàn)在這個階段去實現(xiàn)批量新增是有必要的,且在該業(yè)務(wù)信息的維護過程中,主要使用的應(yīng)該是批量新增,而單項新增更多是使用在對某個片區(qū)進行少量補充的場景。

功能上線后,從用戶那得到反饋,業(yè)務(wù)信息維護的效率相比以前提升了20%,同時在溝通中挖掘到該功能還有優(yōu)化空間,可以進一步提升效率。

 

作者:順序;公眾號:某些規(guī)律

本文由@順序 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!