作為技術人員,總想采用最合適的技術將事情做的完美。
作為客戶,總想花費最少的錢,忍耐最少的等待去將事情做的恰到好處。
視角的不同必然產生矛盾,而往往勝利的是客戶,由此產生的代價由客戶和技術人員共同承擔。
本項目是一個金融項目,基本上要求一周7天每天24小時不停,既要保證普通客戶的交易的順利進行,也要保證對銀行交易的順利進行。系統一天的負載還是比較均衡的,同時也是比較高的,需要一直從銀行接收外匯牌價,同時要把這些價格經過加工發送給PC畫面。
項目所采用的技術語言是這樣的,PC用的畫面使用AJAX,手機畫面使用PHP,連接部分使用Java(RMI),這些都沒太大問題。問題在核心業務處理部分??蛻衄F有一個VB做的處理系統,客戶的想法是核心業務部分不做重新開發經過簡單接口修改之后直接使用。我們討論覺得Java和VB之間的通信實現起來雖然可能,但是VB不適合做這種高負載系統的核心業務處理,不如用Java重新寫,同時我們也預想到了以后可能會發生內存,線程處理等一系列問題。(非常不幸,這個預想后來成了現實)
但是,經過項目負責人和客戶在一起討論之后,決定使用客戶的方案。理由很簡單,成本控制。在客戶可以承受的成本限度內,這個方案是唯一可行的。
我們也曾經把提高系統可用性的期望放在服務器架構的加強上??上В杀緵Q定一切。這樣的一個金融項目不采用集群來保證系統的可用性是我一直到現在都耿耿于懷的。
之后出現的一些問題都讓我很后悔當初沒有堅持讓客戶再稍微付出一點成本,即使再增加一臺服務器也會讓項目有很大改觀。
這件事情給我的教訓是一定要有勇氣去跟客戶進行項目上的討論甚至是爭論。最重要的是要用客戶所能理解的語言將采用某種技術的利弊闡述清楚。同時要弄清楚客戶最關心的是什么,將自己的視角首先和客戶的視角調整到一致,然后繼續延伸,在相同的視角下繼續按照自己的想法去進行。
描述的比較抽象,簡單說來就是一要站在客戶立場考慮問題,二是要學會在客戶的利益和技術架構之間保持平衡。
posted on 2007-10-05 17:33
KnowNothing 閱讀(1439)
評論(5) 編輯 收藏