2012年8月27日 星期一

【預先構築】開課經驗與心得

        當一個系統成長的越來大時,不是只求功能可以用、程式可以動而已,還要考慮到『可維護性』、『可變動性』以應付隨機改變的商業競爭環境。然而系統越大,往往包袱越多、越難以變動、不可預期的風險越大,這就是目前公司最頭大的問題。

        最近我們單位在公司內肩負起提升程式開發人員做『設計』的素質,希望大家真的能從『程序員』變身為名副其實的『程式設計師』。然而想要從開幾場 seminar 就改善這件事未免太異想天開,談如何做設計這件事情,本身有太多經驗的累積和眉角,決不是照著固定章程 SOP 就可以達到,甚至有同事譏為「不傳之秘」

        就如同我過去的文章曾經表述,設計不分好壞,只有合適和不合適兩種,合適的設計就是能『因地制宜』的設計,所以做任何設計之前,認清楚當下所處的環境才是最重要的根本!



        由於怎麼傳授做好設計太過於困難,所以最後我決定採取的做法為介紹一本相關的好書-【軟體預先構築之美學】。我在自己另一個專門撰寫讀書學習心得的部落格已經有專文介紹,本書內容簡介大家可以透過連結移駕過去參閱

        這邊,我將課堂上使用的投影片附上,做為重點提示的參考,順便分享開課的心得。


        首先,在探討如何做設計之前,不妨先探討為何程式員不願意做設計這件事情,這是凌駕在一切之上的態度問題因為不管講了再多『如何做』,但是他們如果『不願意做』,那一切都是白搭,投資時間開課所得的效果完全是零。

        所以在開頭,我就希望把火力集中在討論這個態度問題上。為什麼不做?為什麼要做?如同莎士比亞哈姆雷特名言: To be or not to be. This is the question.

        很可惜的,由於這場準備的時間不夠充分,我事前也沒有機會先排演(開課當天早上還在反覆修改投影片),所以在課程結束後,我才驚覺:自己列出很多程式員不願意做設計的因素做分析,卻忘了對『為何要做』這件事情做強調與分析。點出了問題與盲點,卻忘記提出對應的方案,是我這次開課最主要的遺憾。

        如果還有機會,真希望能再準備重新講授這個主題。

        另外發現 Google 圖書有本書的線上電子版,大家可以先試閱看看。

2 則留言:

  1. 很棒,那你何不就像主管表達你想要重新講授這個主題呢?

    回覆刪除