當軟體遭遇潛規則

yzhuang發表於2009-04-27

 

當軟體遭遇潛規則

軟體世界很簡單,除了0就是1;軟體世界也很複雜,超乎人的想象。

那潛規則呢?無處不在。

我們都在使用電腦,也肯定使用作業系統。如果你整天泡在Windows上,說明你已經遭遇並接受了微軟的潛規則和盜版文化。

什麼?怎麼可能?我沒用D版的Windows作業系統啊!

哦,別急!那為什麼你用的是Windows而不是Linux 呢?

這正是著了潛規則的道。有幾個人首次接觸電腦而用的不是D版的作業系統呢?!

這麼說來,還真是有些無可奈何。

誰說不是呢。這只是生活中遭遇的潛規則,也許並無大礙,隨他去吧。

那我們作軟體的,在軟體設計中遭遇潛規則該怎麼辦呢?

迴避?較真?那好像解決不了問題。

潛規則是擺不到檯面上的東西,基本無跡可尋,但又真實存在。

作軟體需求的人員也許最深有體會;很多時候這東西令客戶搖擺不定,言不由衷。

舉個例子,我們來看看建築行業的成本核算吧。

成本=人力成本+原材料成本+稅務+工具折舊

程式設計師都能想到這個成本的演算法,並且可能會理直氣壯的認為就應該是這個樣子。

但經歷過房價飛漲的一代,絕不會相信那是真的。因為沒有誰確切知道,但會相信真實成本在房價裡所佔的比例不高,房產開發商又都很委屈的說:咋也沒有暴利呀。

那差在哪呢?

如果發揮我們的想象,也許會得到這樣一個計算公式:

成本=人力成本+原材料成本+稅務+工具折舊+公關+行賄+贊助+個人私吞

而對於一個建築企業,應該至少存在兩種成本計算方法:一種給房產的老總看的,一種給政府的檢查人員看的。大家都能想象的出,兩者肯定不會一樣。

凡此種種,我們可以得到N種可能的計算規則,或者說是計算潛規則。

現在,房產企業的老總一時衝動,打算做一個軟體來儘快的核算企業成本,並請求軟體開發公司的需求分析人員前來調查需求。

有意思的事情要發生了。需求調查人員急切的想知道成本核算的具體計算方法,但是作成本核算的財務總監卻支支吾吾,難以明示。箇中緣由,相比大家都心知肚明。

的確,難為這些做財務的了,有些事還真不足向外人道也!

可是,軟體還得做!得想個辦法來解決這問題啊。

下面就是我將要敘述的解決這類問題的方法――軟體外翻設計。

一般而言,軟體提交給終端使用者之前,業務邏輯都在軟體的內部封裝好了,終端使用者只能看到結果,看不到業務邏輯執行的過程。就算給他們原始碼,他們敢隨便的改嗎?!

可是,正如上面所述,潛規則中的業務邏輯很難搞的清楚,提前封裝到軟體內部也就變成不可能的事情。那能不能部封裝在軟體內部呢?答案是肯定的。這就需要把這部分使用者無法明說而又真實存在的業務邏輯的實現程式碼暴露給最終客戶,讓客戶去實現和維護。

聽起來有點瘋狂,客戶能當程式設計師用嗎?

特殊情況也只能特殊對待了,關鍵是我們要暴露給他們什麼樣的程式設計介面。

還記得VBA不,大名鼎鼎的微軟提供給客戶的程式設計介面。依照這個思路,我們應該提供給客戶一種簡單、易用、不用學習即可使用指令碼語言,由他們親自完成隱祕、晦澀難以說明的軟體業務邏輯吧。

以後將說明我對這種軟體外翻設計的一種實現方式。

 

 

2009-04-27

 

相關文章