
昨天下班后,我在加班。安靜的辦公室里,傳來隔壁開發(fā)團隊里3個開發(fā)同學(xué)在慷慨激昂地討論問題:
FAN:“關(guān)鍵是怎么判斷是活動期間的首充,又怎么判斷是續(xù)充呢?”
LE:“你用時間判斷就可以呀”
FAN:“客戶是否充值我們獲取不到呀,我這個系統(tǒng)只管活動。ZHANG,你來判斷活動期間的首充吧”
ZHANG:“活動是你們做的,我又不知道充值跟什么活動有關(guān)”
。。。。。。
我聽出來了,他們是在討論正在開發(fā)的一個營銷系統(tǒng)。
3位同事你一言我一嘴的還一直討論不出個方案,我走近細聽并了解遇到什么情況了。FAN介紹說,營銷系統(tǒng)會涉及到諸如活動期間充值返利的活動,一般這樣的活動內(nèi)容包括活動期間充值會返錢或送優(yōu)惠券等,不外乎首充滿返、續(xù)充滿返等形式。在系統(tǒng)實現(xiàn)方面,新做的營銷系統(tǒng)和已經(jīng)在線上運行的賬戶系統(tǒng)是2個獨立的應(yīng)用。即營銷系統(tǒng)定義了活動規(guī)則,客戶參與活動充值是在賬戶系統(tǒng)做的。
這么說,當(dāng)然會存在營銷系統(tǒng)有只活動、賬戶系統(tǒng)只有充值的情況,自然,這2個系統(tǒng)之間要通過遠程服務(wù)調(diào)用。而3個同學(xué)的爭執(zhí)發(fā)生在:FAN做營銷系統(tǒng)老跟ZHANG說你要取活動期間的充值,ZHANG負責(zé)賬戶系統(tǒng)不懂活動所以很puzzled。其實,解決這個問題很簡單,負責(zé)賬戶系統(tǒng)的ZHANG只需公開一個接口就可以了:
接口描述:查詢特定賬戶特定時間段內(nèi)的充值記錄
請求參數(shù):賬戶標(biāo)識、起止時間
響應(yīng)值:一個滿足條件的充值記錄的集合
我把這個想法解釋給3位,F(xiàn)AN同學(xué)請求接口,有了這些充值記錄,就可以根據(jù)營銷活動規(guī)則來做相應(yīng)的處理了。大家聽后簡單思考后表示認可。
這樣,這個激烈的討論算是結(jié)束了。
這可能僅僅是一個案例,大家在工作中,可能會經(jīng)常出現(xiàn)這樣的溝通,大家面紅耳赤,也解決不了問題。因為各自局限于自己的系統(tǒng)里,總覺得我需要什么你就可以給我,殊不知別人未必明白你做的東西。
身為一名有過一定經(jīng)歷的項目管理者/團隊leader,我喜歡從成本和績效方面考慮(參見我的博客《IT團隊績效提升的一些見解》),大家坐一起討論了半天才有結(jié)論甚至討論了半天也沒有個結(jié)論,首先浪費了成倍的時間,時間也是成本,人力方面也是損耗;其次,這種會議產(chǎn)出不明顯,低效,從而影響團隊或項目績效。很多的公司都強調(diào)有效/高效溝通,在溝通方式、態(tài)度、技巧方面大家要注意,另外,專業(yè)技能的掌握程度也同等重要。你跟賣豬肉的講互聯(lián)網(wǎng)+,恐怕他很難理解。
身為一名有過一定經(jīng)歷的應(yīng)用架構(gòu)師,我在接到項目時,習(xí)慣在系統(tǒng)分析后做系統(tǒng)設(shè)計時,會對關(guān)鍵的業(yè)務(wù)場景進行設(shè)計。本案例的場景對我來說算是小菜一碟了。因此,我在開發(fā)team里,經(jīng)常會做一些系統(tǒng)設(shè)計的分享,并強調(diào)設(shè)計的重要性。BTW,系統(tǒng)設(shè)計的能力與技術(shù)能力并非息息相關(guān),上面的FAN同學(xué),在技術(shù)部是公認的技術(shù)達人,zookeeper、redis、canal都玩的很溜,java編程也很棒。系統(tǒng)設(shè)計更多靠的是思想,并未必學(xué)會了技術(shù)就能解決問題,或掌握的技術(shù)多或高深,就能解決更多的問題。參見《架構(gòu)漫談(九):理清技術(shù)、業(yè)務(wù)和架構(gòu)的關(guān)系》