最近因?yàn)榻咏觋P(guān)酌呆,為了能夠提(達(dá))升(成)活(K)躍(P)度(I)衡载,公司打算搞一個(gè)抽獎(jiǎng)活動(dòng)。當(dāng)然隙袁,活動(dòng)年年搞痰娱,但作為有追求的公司,我們還是希望每一次的活動(dòng)都能做出新意菩收,而不僅僅只是達(dá)成這項(xiàng)任務(wù)梨睁。
為此,我們產(chǎn)品人員也是絞盡腦汁地去思考這個(gè)抽獎(jiǎng)活動(dòng)娜饵,如何將其與自家產(chǎn)品結(jié)合起來(lái)坡贺,又不至于顯得那么俗套,如何防止惡意刷獎(jiǎng)的行為箱舞,又不至于將活動(dòng)門(mén)檻拉得太高遍坟。當(dāng)將這些東西都考慮到之后,產(chǎn)品的邏輯就會(huì)顯得非常復(fù)雜晴股,這個(gè)時(shí)候愿伴,如何溝通與傳達(dá)這個(gè)邏輯,就會(huì)顯得非常重要电湘。產(chǎn)品隔节、開(kāi)發(fā)、測(cè)試寂呛,任何一方對(duì)邏輯的理解出了偏差官帘,就會(huì)導(dǎo)致最終的產(chǎn)品和大家的預(yù)期不一致。
那么我們應(yīng)該如何來(lái)保證各方對(duì)產(chǎn)品邏輯的理解盡可能保持一致呢昧谊?
首先,產(chǎn)品的邏輯應(yīng)該是多方討論之后產(chǎn)出的酗捌,如果只是產(chǎn)品人員閉門(mén)造車(chē)呢诬,最終難免錯(cuò)漏百出。
多方坐在一起胖缤,討論了許久之后尚镰,活動(dòng)方案逐漸清晰了,各種問(wèn)題也逐漸明晰了哪廓,這個(gè)時(shí)候狗唉,產(chǎn)品經(jīng)理再梳理一下邏輯,發(fā)出來(lái)涡真,開(kāi)始設(shè)計(jì)分俯、開(kāi)發(fā)肾筐、測(cè)試,然后產(chǎn)品上線缸剪,多么美好的一件事情吗铐!
然而真正在推進(jìn)項(xiàng)目的過(guò)程中,你發(fā)現(xiàn)根本就不是這么一回事杏节,雖然大家討論得都很清楚了唬渗,但會(huì)議一過(guò),大家對(duì)于討論的細(xì)節(jié)就忘得差不多了奋渔。這個(gè)時(shí)候镊逝,再看著產(chǎn)品經(jīng)理梳理出來(lái)的文檔,每個(gè)人又開(kāi)始有了自己不同的理解嫉鲸,整個(gè)項(xiàng)目過(guò)程根本不是那么美好撑蒜。
在我看來(lái),邏輯是抽象的充坑,每個(gè)人的理解不可能完全一致减江,尤其是在涉及到一些邊界情況的時(shí)候,所以除了抽象的邏輯之外捻爷,還得有針對(duì)不同case的解釋辈灼。
在之前的項(xiàng)目中,為了說(shuō)清楚分頁(yè)的邏輯也榄,我除了將邏輯寫(xiě)出來(lái)巡莹,還將不同case下的不同示例給列了出來(lái),以為將這些工作大包大攬之后甜紫,就萬(wàn)事大吉了降宅。但實(shí)際上,真的這么寫(xiě)出來(lái)之后囚霸,文檔非常的冗長(zhǎng)腰根,給開(kāi)發(fā)人員的閱讀和理解帶來(lái)了很大的困難。如果開(kāi)發(fā)人員沒(méi)能完全理解產(chǎn)品所要的邏輯拓型,然后按照文檔中對(duì)不同case的解釋來(lái)做了额嘿,那么會(huì)造成其代碼的邏輯卻非常繁瑣,非常不利于維護(hù)劣挫。此外册养,如果產(chǎn)品未將全部的邊界情況考慮進(jìn)去,那么最終在這些邊界情況下压固,就會(huì)出現(xiàn)各種詭異的Bug球拦。
事實(shí)證明,詳盡的文檔不一定能夠?qū)?wèn)題表述清楚,因?yàn)殚喿x和理解成本太高了坎炼。
有了這次經(jīng)驗(yàn)教訓(xùn)之后愧膀,我覺(jué)得工作中溝通的方法需要進(jìn)行優(yōu)化。
就邏輯和case來(lái)說(shuō)点弯,開(kāi)發(fā)和測(cè)試兩方都需要了解扇调,但開(kāi)發(fā)側(cè)重于邏輯,而測(cè)試更加側(cè)重于case抢肛。至于邏輯本身狼钮,應(yīng)該在全面的同時(shí),盡可能地做到簡(jiǎn)單捡絮。
- 產(chǎn)品需要梳理出簡(jiǎn)單可理解的邏輯熬芜,并和開(kāi)發(fā)測(cè)試兩方進(jìn)行溝通,確保雙方能夠理解這個(gè)邏輯福稳。在溝通的過(guò)程中涎拉,可以根據(jù)各種情況進(jìn)行拓展,但這種拓展是為了幫助各方理解邏輯的圆,而并不是需求本身鼓拧。
如果有某些場(chǎng)景未能被現(xiàn)有規(guī)則邏輯覆蓋到,那么就需要再新增其他邏輯規(guī)則越妈,直至邏輯本身能解釋各種可能出現(xiàn)的場(chǎng)景季俩。 - 邏輯確定之后,由測(cè)試人員負(fù)責(zé)去羅列所有可能出現(xiàn)的case(測(cè)試用例)梅掠,然后由開(kāi)發(fā)人員去去完善這些測(cè)試用例——在各種case中酌住,產(chǎn)品應(yīng)該是什么樣子的。
- 最終阎抒,再由產(chǎn)品和開(kāi)發(fā)一并溝通這份完善過(guò)的測(cè)試用例酪我,如果沒(méi)問(wèn)題,則說(shuō)明開(kāi)發(fā)已經(jīng)理解了產(chǎn)品的需求且叁。
這種方式雖然冗長(zhǎng)都哭,但是能確保各方都能參與進(jìn)來(lái),而且能將一些結(jié)論落實(shí)到紙上逞带,可以為后續(xù)的開(kāi)發(fā)流程提供參考质涛。
當(dāng)然,這種方法僅適用于邏輯較復(fù)雜的情況掰担,如果邏輯簡(jiǎn)單到幾句話就能說(shuō)明白,那么完全沒(méi)必要去浪費(fèi)這些時(shí)間怒炸。
唉带饱,想想自己,也還真是挺累的!