讀古今文學網 > 程序員必讀之軟件架構 > 領域知識 >

領域知識

對業務領域的瞭解必不可少。如果在金融行業工作,對行業內跟你相關的部分(比如,基金管理、投資銀行、零售銀行等)是如何運作的,你應該有所瞭解。大部分業務領域都比它們應有的樣子更複雜,即使看似簡單的領域也會讓你吃驚。我記得第一次看到渡輪和酒店領域,就驚訝地發現並不只是預訂渡輪座位或酒店房間那麼簡單。對業務領域的瞭解可以幫助你更好地理解目標和建立成功的軟件產品。

這提出了一個有趣的問題。對業務領域的深厚知識,只來自於在這個領域內長時間的工作,但大多數咨詢師跟不同的客戶、團隊和業務領域打交道是很常見的。因此,期望咨詢師們具備深厚的領域知識算公平嗎?

我見過一些方法。首先就是把自己的咨詢工作限制在單一的業務領域,這樣就能獲得這個業務領域深入的工作知識。舉個例子,我工作過的許多IT咨詢機構都專注於投資銀行業,它們的咨詢師在各個投資銀行間遊走。這肯定是確保咨詢師瞭解業務領域的一種有效方式,但我不是特別喜歡。向我過去合作過的一些咨詢師提供投資銀行的外部咨詢工作時,他們實際上很生氣。在跟其他咨詢師做比較時,這些人通常會認為他們深厚的業務領域知識是關鍵差異或者說獨特賣點。

看看我的書架就會發現,我對技術的興趣遠遠超過任何業務領域。如果我想在一家銀行工作,我會為銀行工作,而非咨詢機構。因此,我很高興能定期更換業務領域,這提供了一定程度的變化,很少能在單個領域中工作獲得。我也發現觀察其他行業如何解決相似問題很有意思,這本身也帶來了很多思想碰撞的機會。當然,缺點就是我對任何特定領域的知識都不如在那個業務領域中全職工作的人。

為了防止這一問題,我相信,有一種技能可以讓我們能夠快速精通一個新的業務領域。這正是我的方法。如果以咨詢的身份從事軟件架構,你需要敏銳的分析能力來理解業務領域的關鍵部分,而不陷入分析癱瘓的惡性循環。