本文**
開發當中常常聽說「業務」這個詞,什麼「業務為王」之類的詞不絕於耳,那麼什麼是業務?
那麼到底什麼是業務,怎樣才能搞清楚業務?
乙個農民出錢請科學家幫一忙,農民的要求很簡單,請科學家讓自己家耕地的牛吃的是平時的十分之一,幹的活是平時的十倍。然後科學家開始想辦法,最終得到的結論是:要滿足農民朋友的需求就必須改變牛的基因,於是科學家們開始了這個巨集大的生物工程……
隨著時間的推移最終的結果大家一定能猜到,科學家硬著頭皮做了幾天的轉基因實驗,最終這個工程因為經費不足而告終,農民也沒有實現自己提高生產率的願望。
真實的一面:從表面看來農民朋友想要的是一頭基因優秀的牛,這頭牛吃的少幹的多,但是實際上呢,農民想要的只是一台拖拉機而已。但是起初的時候農民不知道有拖拉機這麼個東西,也就是說他自己也不知道自己要的什麼,他知道的僅僅是非根源性的需求(讓牛吃的少幹的多),於是非根源性的需求就把科學家帶到了迷途當中。
反思:模擬到專案開發中,我們就是科學家,客戶就是農民,專案就是牛或者拖拉機。我們要站在客戶的角度,要知道客戶需要的到底是什麼,是一頭基因優秀的牛還是乙個普通的拖拉機。
到這裡我們就應該好好的思考一下什麼是業務了,是農民那高不可攀的需求算業務,還是轉換思路給農民一台拖拉機算業務。
我們的客戶可能常常要求我們在開發中完成一些不可能的事情,(筆者就遇到很多,比如有的客戶竟然提出將頁面上的核取方塊改變顏色,甚至於將核取方塊的選中樣式變為打鉤、打叉、畫圈等等。)其實客戶這麼說是沒有問題的,畢竟他們是客戶,他們沒有計算機知識。他們提出這樣的要求一定有他們的理由,但是如果開發者不問緣由,跟著客戶的思路走下去,那就和上面的例子沒有區別了,最終的專案只能以失敗而告終。
關於什麼是業務,筆者自己的理解是:某個行業中的事務抽象到計算機中才叫業務,沒有抽象那只能叫事務或者一系列操作。回到上面的例子當中,幫助農民朋友研究轉基因牛不能叫業務,從農民的需求當中抽象出他真正想要的(這裡指拖拉機)才是業務。
客戶懂「業務」麼?嚴格的說客戶們其實不懂業務,客戶知道的只是應該怎樣幹活而已。所以這就解釋了為什麼任何人經過培訓之後都可以勝任自己的工作(這裡指任何行業),只不過有人幹的快,有人幹的慢,這取決於熟練程度、天賦等等各種因素。比如銀行的收納人員,比如公務員等等,除了那些高階的工作,比如航天事業,其他的行業經過一段時間的培訓或者磨練人人都可以(老實說從事高階的工作也是可以經過培訓上手的,只不過高階的工作需要花費更長的時間培訓而已)。
作為專案經理或者開發者要從客戶的需求當中抽象出客戶到底需要什麼,並不是客戶要什麼就直接給什麼,只有做到了這一點這才算是乙個懂業務的開發者,乙個高階開發者,乙個非純粹的開發者,乙個脫離了低階趣味的開發者:)。
關於業務和IT
偶爾翻開 程式設計師 雜誌2007年6月刊,看到一些關於soa與業務敏捷的文章,提醒我,我們的軟體設計忽略了一些很重要的東西。我們在anydata的設計過程中,實現了對資料表現方式的靈活應變,在某種程度上實現了流程上的應變,但是很多東西都是由專業的it人員對系統進行調整實現的,因此如果客戶的業務出現...
關於閱讀(一)
一直想養成每日閱讀的習慣。為了不再膚淺,為了修養身心。一直想寫下自己對於閱讀的理解,可是直到現在都找不到主題。還是先來看看別人對於閱讀的態度和方法。1.初步的了解 2.不斷重複 3.開始使用 4.融會貫通 5.再一次加強 陳安之,讀書的5個步驟 我們學乙個東西,一定要用自己的話把他說出來。郭林 我善...
關於閱讀文獻
準研一剛入學的時候,師兄曾教過一些閱讀文獻的注意事項,我覺得非常有用,因此總結並記錄下來。一.這個 研究什麼問題 三點 第一 本文要解決的問題 problem 第二 目前面臨的挑戰 challenge 第三 寫作動機 motivation 這三點一定要仔細深究一下。1.要解決的問題 problem ...