別出極具創意的新年賀卡-UML 13張關連心智筆記圖

過年前,我們團隊 (HSDc Inc.)所舉辦的 [UML 2.0 觀念引導與實務操作入門] 課程,約有近 20位學員參加。其中,有一位相當高恌的女孩子就坐在最前座,上課的時候總是相當專心聽講作筆記。

我在講課時總是喜歡採用反問的方式,藉以引導學員可以思考我所提問問題背後的涵意。大部分學員總是會有些怕怕,也比較不敢表達出自己的想法,但這位女孩子卻是可以回答出令人相當滿意的答案,讓我相當的佩服;更為訝異的是,在下課時與她閒聊,才知道她還只是撰寫大型系統的程序性古典語言,也沒有寫過 Java or .NET 等 OOP 語言。但是,我可是真的覺得,她對物件導向的設計哲理,相當具有領悟力,也很肯去反思,俱足軟性思考的頭腦。

對於這樣聰慧、具 Smart 特質、又肯主動學習的學員,除了讓我印象深刻外,我更是願意就我所能,引導與分享對於軟體設計領域上的觀念與學習技巧。

就在想說,年後我們團隊若有一些研討活動 (如讀書會、研討會)等,準備邀請該位學員來參與。沒想到,就在除夕春節前,這位學員還主動寄了一封新年賀卡給我們。除了新年賀節問候外,也說出了她對這次上 UML 課程的收獲與心得,真的很感心~

更特別的是,附檔的新年賀卡是她利用 PowerPoint 設計的。內容竟然是把兩天課程所介紹 UML 13張設計圖,它們之間的關聯、特質與應用時機等,給全串在同一張圖內;還畫了虎年到來、新年迎春饒富過年氣氛的插圖。
Sharon 的 UML 新年賀卡

哇!! 這麼別出心裁、這麼有創意的新年賀卡,又是如此的用心製作 (必然要耗費很多時間),我收到這樣的賀卡真的是相當開心,也相當感動。更是覺得,這麼棒的作品,要不分享出來給眾讀者們欣賞,那真是太可惜了。所以,我還特別寫了信徵求該位學員的同意後才特別公開。

對啦,她的名字叫 Sharon,這樣直接稱呼也比較方便勒。另外這裡同時也公開她的網誌應該沒有問題吧? 看看她寫的文章,文句優雅頗具知性,會讓人以為她是一位柔弱感性的少女呢;但是,再瀏覽她整理的網誌相簿,呼,Sharon 可還是一位熱愛潛水的陽光健康女孩呢。 🙂

 o http://blog.yam.com/sharontaiwan
 o http://sharonwang.myweb.hinet.net/

深圳軟件三日教學行(2009/12/20~23)-03

在深圳軟件園第一天授完課、回到商務旅社時已是約 16:30 左右,我老婆的大哥已於前一晚電話給我並約好在那邊等我了。我那個老哥因為與朋友的合夥並委託於五、六年前至大陸開設韓國烤肉餐廳。當時他可是身無一文過來的,如今已經在「東莞」開設了三家、在「上海」開了一家餐廳,並且也在大陸成家立業、生了兩個胖兒子,可謂是事業小有所成的典型台商。 🙂

他人可是很熱心好客的,知道我要過來深圳教課後,就堅持一定要請我與所有的夥伴們到他的餐廳免費吃到飽。我們共有五個人,剛好我老哥開的是七人座休旅車,全坐進去都還很寬敞。深圳到東莞我看估計是台北到新竹的距離,因為我老哥一路從高速高路開下來也要花上四、五十分鐘。

到了東莞時,乖乖,沿路儘是餐廳啦,最多的就是日本料理與燒肉吃到飽的餐廳。我老哥帶我們到離他家最近(其實就在馬路對面而已啦,但是馬路實在有夠寬遠)的本店用餐。據他說,他另外一家新開的店面還比本店大上四倍,呼,真是有夠誇張。

韓國烤肉韓玠館@東莞

用餐前先拍個照留念吧。左上是 Ringle 與 Cathy, 右上就是我那個老哥,然後是招待我們的那兩位企管顧問的女孩子,一位是 Luna、另一位是小橘。
合照紀念@韓玠館

閱讀全文 »

[軟體開發] Iteration 與 Release 的差異

現代越形複雜資訊系統的開發,尤以要應付快速變動性的議題,幾乎所有的主流開發流程,包括 UP (Unified Process), XP (eXtreme Programming), Agile 等不論重、輕量型的流程方法論,均一致強調反覆 (Iteration)漸增 (Incremental) 開發的必要性。 關於反覆式與傳統瀑布式 (WaterFall) 開發的比較說明,請參考先前我寫過的一篇:「從軟體架構師(Architect)的觀點來看軟體開發流程」。

I&I (Iteration and Incremental) 的開發模式,已逐漸成為軟體開發的最佳實務 (Best Practice)。 但是, I&I 開發模式的實踐與否,只有在軟體開發團隊的內部才知道;對於客戶單位,他們是不知道,也不可能瞭解委外軟體廠商,內部是運用什麼樣的開發模式。

所以,外包的委外軟體開發專案,若是使用 Iteartion 的開發模式,該如何計價收費? 或者,某大型公司的 IT 單位,規範了外包軟體廠商,必然要遵循該公司所制定的開發流程綱要。 這兩個可以說都是相當奇怪、卻也常見的問題與現象。

我先說明第二個那個怪現象‧‧‧

IT 單位規範外包廠商的開發模式,一點意義都沒有。 因為,客戶根本看不到委外廠商內部是如何開發的。 即使你強調希望委外單位能走 I&I 的模式,但是,他要掛羊頭賣狗肉,你也沒轍,因為,從最終產出 (Artifacts)來說,你根本無法知道委外單位是採取何種開發模式來完成的。 客戶單位只能要求說,委外單位要能在毎一個議定的階段時間,要能達成分次交付的產出甚或可以早些釋出 (release)、可以完整被執行的功能案例。

客戶單位所制定每一個該付交產出的階段時間,這個應該是稱之為 "Milestone (里程碑)",完成每一個階段的交付,也可以及早瞭解委外單位的釋出品質,或作為下一次交付的回饋 (Feedback):而若是要求儘早能看到可被執行的部分功能案例(或模組),這稱之為 "及早釋出(Early Release)"。

再回來討論第一個問題,採用 "Iteration" 開發模式該如何計價?

閱讀全文 »

我總是記不起別人的名字與容貌,我只記得別人提問軟件的問題~

我應該是不太具有那種視覺化的記憶能力。 所以若是沒有常聯絡的朋友,我總是記不起他們的容貌與姓名。 這的確是失禮的事,不過我也不想勉強我自己,透過一些工具與技巧建立客戶關係。 我是覺得,一回生、二回熟,有緣再相會,自然就會逐漸熟識的了。

話雖如此,可是我倒是可以很直覺地、也不需要特別記住-只要是別人曾經就軟體的相關議題問過或與我討論過,我幾乎是不會忘掉那個主題。 這就如同我一些朋友、尤其是女孩子,總是很清楚記得哪一天見面時所穿的服飾打扮 (但我卻永遠不會記得別人穿甚麼衣服)。

就在今日晚上,有位網友 Msn Call 我,打的是簡體字,看來是大陸來的網友。 除了向我問候新年快樂外,同時也報上他的大名,還順口問我記不記得。 唉,我一向很直,也老實回應說我真的完全沒有印象。

事實上,我的 Msn 名錄,好像超過 一、兩百個人了吧。 但經常聯絡的,也才十來個而已,而其他人則都是透過網路自動給我加進來的。

大部分人當然是來問我問題的。 而一般而言,很少很少,我並不會主動 Call 別人的。 只是,誰來 Call 我、問我問題,即使對方報了姓名,聊一聊回應問題之後,我真的就忘了對方的姓名(或別名)。

不過,那位網友就寫說,他曾經就 "利用 UML 表達自動化控制系統設計" 這篇碩士論文請教我。 哈,我馬上就記得一清二楚了!^^ 大概已經有 2 年了吧,當時該網友還特別傳檔整篇給我他寫的論文 (Word 格式)。 當下我看了約近 10 分鐘就看完,還著實批判了不少。 !^^

當時會很直率地批判的原因是,我一直以為碩士論文應該很強調個人對於其主題立論的想法(或依據論點)。 但是,我發現到,透過其 UML 設計圖,我完全感受不到著者本人的想法。

透過 UML 可以瞭解設計者在想甚麼? 是的,最起碼我倒是有這個能耐,而且還是八九不離十、很容易可以瞭解設計者背後的假設論點。 請注意!! UML 是表達軟件設計(語法本身完全不重要),透過其表達,就可以知道 Developer 的假設與想法

呵,只要一談及軟件相關設計議題,我的確很容易提起勁。一聊下去,我總是精神亢奮、一點都不會覺得沉悶與疲倦。

既然我連兩年前網路 Msn 討論的軟件議題都能記得如此一清二楚,所以記憶力應該不算差才對啊!! 嗯嗯,我突然領悟到,記不起別人長甚麼樣、穿甚麼衣服、哪時候一起吃甚麼飯 ‧‧‧等等的話,應該是不用心、而不是記憶力不好啦。 😉

透過 Google 找 Coding How-to 的好範例

我經常在文章發表或講課時說教:不要再花心思去學 How-to 了啦。 如果是對於工作上要用來謀生、不得不熟練的 How-to,那是另當別論;但是對於自我的學習成長、創新能力的發揮,幾乎不會有啥幫助。

"做中學" 的真正意義在於: 做了以後會去思考 "這是什麼?"、 "為什麼" 是這樣子?

尤其是軟體開發人員,總是要去思考,自己的職場生涯,是要往 "重複性的密集量化工作",還是 "知識性的創新設計" 之路來走?

軟體開發人員,太多太多,總是很容易把精力與時間浪費在不必要的地方上。 而且,對自己的成長卻沒啥幫助。

什麼叫作 "浪費在不必要的地方上"?

舉個例子。 上個月有位網友透過 Msn 問了我一個問題: 請問你會不會寫 C# 連結到 ActiveX 元件上?

ActiveX 是什麼? 我也不知道。 我直覺的就回答說:不是透過 MSDN 查一查範例就可以知道的?

那位網友回答說,他有查過,因為微軟已經不支援在 .NET 環境上開發 ActiveX 元件,所以看來,他必須自己要來自己從頭到尾寫 C# 連結 ActiveX 元件了。

姑且不論為何還要使用 ActiveX 元件,看來應該是要 "Re-Use (重用)" 已經寫好的元件吧。 但是,微軟轉移到了 .NET 環境卻不支援 ActiveX 必然會有其原因,可能是 安全性、穩定性與效能等問題。反正,我對其不支援的原因也不會有興趣。

但是,我只知道,那位網友要自行寫 C# 連結 ActiveX 元件這事,根本就是在浪費生命!

閱讀全文 »

深圳軟件三日教學行(20~23)-02

深圳真是個美麗乾淨的城市!

道路非常的寬敞,到處都是豪華式的大廈林立。 若與台灣這邊的都市比起來,高雄市是比較接近的,但是卻仍沒有像深圳這般如此大又寬的馬路。 空氣也比台北清新太多了,主要的原因就是,這邊是禁止吃汽油的摩托車、而只能騎乘吃電的輕型機踏車。 喔,還有個有趣的現象,這裡並沒有專用的自行車道,所以騎踏車的民眾,竟然是騎在內側的快速道路上,而且還是逆向行駛,好像這也不算是違法,真是奇特的一景呢。

隔天早上我們與對方企管顧問公司派來接洽的兩位女孩子在旅社見面 (其實她們前一晚就從廣州前來並住宿在同一旅社),用完餐後然後由她們帶我們搭地鐵前去教課的地點。

這邊的環境對我來說一切都透著新鮮。 沒想到,早上約 8:00 時分,來來往往的群眾根本就是與台北一樣,儘是趕著上班、臉上總是冷漠、匆匆忙忙的上班族。 而這邊的地鐵也與台北的捷運一樣,但是又乾淨上太多了,而且趕著上班的人潮,大約只有台北的 1/10 左右吧,每一般列車都還能有空位乘坐。
深圳地鐵

我們教課的地點就是所謂的「深圳軟件園」,應該就是等同於台北「南港軟體園區」,但是卻又是大上太多太多了。
深圳軟件園

閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal