關(guān)于異步任務(wù)的設(shè)計(jì)探索(1)
編輯導(dǎo)語:什么是異步任務(wù)?什么是同步任務(wù)?異步任務(wù)的設(shè)計(jì)邏輯是什么?有哪些需要注意的問題?本文作者圍繞以上問題,為我們展開了解答,希望看完本篇文章你能夠有所收獲,并且繼續(xù)關(guān)注后續(xù)文章。
今天重新把以前一個(gè)集團(tuán)的項(xiàng)目重構(gòu)了一下,然后發(fā)現(xiàn)以前犯下了很多的錯(cuò)誤,特別是對(duì)于一些異步的業(yè)務(wù)流程(也就是反饋結(jié)果不是即時(shí)的),做到簡直是一塌糊涂,以下是前兩年做的原型:
這是一個(gè)客戶簽約的業(yè)務(wù),流程如下:
- 開票員給客戶開通代收的業(yè)務(wù),并且與客戶簽約(即簽訂代收協(xié)議);
- 主管審核客戶的簽約業(yè)務(wù),若拒絕,則開票人需要通知客戶修改資料重新提交;
- 若同意,則簽約成功,流程結(jié)束。
一、曾犯的錯(cuò)誤
自己分析了一下之前的錯(cuò)誤,發(fā)現(xiàn)雖然分析了整體的業(yè)務(wù)流程、角色的權(quán)限與上下游,但沒有去分析這個(gè)任務(wù)是同步還是異步的,導(dǎo)致與開發(fā)同學(xué)也吵了很久,錯(cuò)誤分析如下:
- 提交后沒有告訴發(fā)起人(即開票員)整體的流程,導(dǎo)致很多發(fā)起人以及客戶對(duì)后面的流程一臉懵逼(發(fā)起人對(duì)接客戶,但經(jīng)辦人不會(huì)對(duì)客戶);
- 提交之后沒告訴發(fā)起人這是一個(gè)異步的問題,需要等待一段時(shí)間才會(huì)有結(jié)果;
- 實(shí)際上,在簽約審核的時(shí)候,發(fā)起人是可以幫客戶完成其它業(yè)務(wù)(如綁定銀行卡、消費(fèi)等),導(dǎo)致發(fā)起人跟客戶傻傻地等經(jīng)辦人簽約完成再去幫客戶辦理其它業(yè)務(wù)。
雖然我們有一整隊(duì)實(shí)施團(tuán)隊(duì)去幫助集團(tuán)中的所有使用者去了解業(yè)務(wù),但作為一個(gè)產(chǎn)品,還是必須保持敬畏之心對(duì)待用戶才可以。
二、異步與同步
什么是異步呢?
對(duì)于程序來說就是一個(gè)請(qǐng)求發(fā)出去了,但系統(tǒng)不會(huì)立刻處理,而是放在隊(duì)列里,系統(tǒng)會(huì)按照隊(duì)列方式去處理它,或者處理的時(shí)間非常長也可以歸為異步任務(wù)。
反過來同步任務(wù)就是請(qǐng)求遞交,幾乎即時(shí)就有反饋。
以前我總是同步、異步的任務(wù)都用同樣的設(shè)計(jì),單純地通過反饋彈窗告訴用戶這個(gè)任務(wù)大概需要等多久,很多用戶就傻傻在那里等著。
于是今天,我按照上邊歸類的問題,修改了原型:
為了讓發(fā)起人知道總體的流程,提交簽約之后,我們需要反饋一個(gè)結(jié)果且告訴發(fā)起人整體的流程,便于發(fā)起人與經(jīng)辦人交接(由于我們接入了企業(yè)微信的通知,【催一下】可以直接在企業(yè)微信通知經(jīng)辦人)。
第二個(gè)問題需要告訴發(fā)起人這個(gè)任務(wù)需要等待,這時(shí)候我們需要引入站內(nèi)消息功能,并且告知用戶可在哪里看到查看審核結(jié)果的通知。
若這個(gè)任務(wù)是比較重要的,可以考慮單獨(dú)列一個(gè)任務(wù)列表,這樣任務(wù)完成時(shí),用戶可立即知道。
最后,我們需要引導(dǎo)發(fā)起人先去完成其他任務(wù),就要在結(jié)果頁中對(duì)按鈕做相關(guān)業(yè)務(wù)的跳轉(zhuǎn),改一下:
總結(jié)了一下,異步任務(wù)的設(shè)計(jì)邏輯:
- 需要告訴用戶整體的流程以及任務(wù)的進(jìn)度;
- 需要告訴用戶,這個(gè)任務(wù)需要等待,并告知用戶當(dāng)有結(jié)果時(shí),系統(tǒng)會(huì)進(jìn)行及時(shí)的通知,讓用戶安心;
- 引導(dǎo)用戶去完成其它業(yè)務(wù)。
另外之前做異步任務(wù)的設(shè)計(jì)時(shí)發(fā)現(xiàn)一個(gè)很嚴(yán)重的問題:用戶不敢關(guān)閉當(dāng)前窗口或切換到其它地方,他會(huì)很害怕任務(wù)會(huì)被中斷。
所以我們要清楚地告知用戶:“這個(gè)任務(wù)需要等待,有結(jié)果時(shí)我們會(huì)及時(shí)通知你,你可以進(jìn)行其它業(yè)務(wù)的操作”
未完待續(xù),后續(xù)文章請(qǐng)大家持續(xù)關(guān)注。
本文由 @蔡包 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
提交流程工單之后建議自動(dòng)企微/釘釘/飛書發(fā)送通知,并記錄待處理列表。
催一下這個(gè)功能可以放在提交流程列表的查看or操作欄中。
有見解,同步任務(wù)和異步任務(wù)的確要分開設(shè)計(jì)