2006年4月14日 星期五

肯湊包

Blog33.gif對於有多項軟體產品的公司而言,應用程式的開發,除了會分成不同小組專精於不同層面(Layer)的開發之外,為了避免各產品之間重複投入相同的人力,大 都會設立一個核心小組,開發一些公司內部共用的類別庫和架構(Reusable Class Libraries and Framework)供各產品使用,減少開發資源(Resource)的浪費。

正因為如此,核心小組的立場必須中立,只應該把各產品之間的 『共通點』 納入考量,而不應該把各產品特有的屬性歸入類別庫。不過,產品開發小組和核心小組時常會有不同觀點,而有責任區分的討論與紛爭。

※ ※ ※ ※ ※ ※ ※ ※


會議室內,大頭一號召集白課長和古專員共商產品大事。

大頭一號開場說道:「我想大家已經大略讀過果園管理系統的 規格(Specification)了,今天我們要討論一下這套系統設計以及權責區分。我們希望藉由這個系統,順便分析並建立公司內部共用的類別庫和架構,讓所有產品將來可以分享。這些類 別庫和架構一定要夠動態、夠彈性,更要有擴充性與前瞻性,而且也要簡單好用,能讓 Developers 能夠在一兩天內就輕鬆上手。之前已經和大家說明分組上的變動了,白課長將帶領產品開發小組,古專員則負責核心小組的工作,全力支援白課長。好的,開始討論 吧!」說完便靠到會議室角落,開始啜茶。

白課長搶先說道:「偶看果園管理系統裡面有不少的媽九(Module)都蠻有共通性的,應該很多都可以晃路(放入)核心類別庫哦......」

古 專員還正在從大頭一號遙不可及的軟體烏托邦甦醒當中,聽了白課長的建言當場清醒:「呃......白課長,利用這套產品來分析公司內部共用的類別庫和架構 固有其必要性,不過我們要謹慎審核,以免產品的特有邏輯不小心滲入核心類別庫,使得類別庫不夠獨立性。我已經大約分析了一下,這些算是比較通用的控制元件 (Controls)......」一面說一面將手中的說明文件遞出去,「我們可以先 Review 一下是不是有過之或不及。」

白課長才瞄了不到五秒鐘,立刻說道:「怎麼有些媽九都沒提到,『產量昏析』和『人員管理』都可以晃進氣核心類別庫啊!」

古專員有著對牛彈琴的無奈:「有部分『產量分析』的計算和『人員管理』的核心都已經納入核心類別庫,你只需要組合一下,應該就可以得到結果了......」

白課長似懂非懂答道:「喔......那『採收』和『維護』的媽九呢,你有肯湊(Control)浪偶們使用嗎?」

古專員已經有些不耐煩了:「『採收』和『維護』算是產品比較特別的 Modules,雖然共通的部分已經納入核心小組的考量,不過你們還是需要做一些產品專有的 Controls ......」

白課長不等古專員把話說完:「那你有肯湊可以浪偶們很快的做『播種』和『施肥』的媽九嗎?」

古專員的火氣已經上來:「白課長,核心類別庫和架構並不是依照果園系統架構走的,我們只是把共通的部分抽離出來,有些工作還是開發小組要自行設計的!」

白課長以耍賴的口吻回答道:「你就幫幫偶們把肯湊包一包,浪偶們傳參數(Parameters)就可以得到結果嘛......」

古專員終於氣不住說:「你要不要我寫一個慌選(Function)給你,讓你傳進 『專案名』 ,我就幫你把整個專案做好啊?」

白課長拍手說道:「好啊,好啊!」

大頭一號突然開口:「嗯,這是今天 Meeting 最好的提案,就這們辦吧!」

古專員再度暈厥,不支倒地。

※ ※ ※ ※ ※ ※ ※ ※


軟體開發的過程當中,有不少好的想法和建議,總會因為許多『不可抗拒』的因素而無法順利執行,只是這些『不可抗拒』因素是否真的不可抗拒,評斷自在人心了。

知識應該有幫助吧......

0 意見:

張貼留言