RUP 三周有感

2005 年 八月 22 日 (星期一) 2:06 pm
分類:教育, 職場, 閱讀, 電腦
標籤:

一連三周,36 小時的「RUP 物件導向分析與設計實務班」課程終於在昨天結業。呼,整個暑假以來,又是專利課,又是研討會,又是軟體工程課,又要教 process、Java、Servlets & JSP,還兼帶讀書會……真是有夠充實的八月天!

其中以這課程最充實,反思也最多。

RUP 課程與講師合影 當初會報名這課程,有許多原因。一方面是聽聽官方說法,將 RUP 某些細節銜接起來,尤其是因應當今軟體技術、制度、全球分工等大環境的變遷,該如何肆應調整。課程講師是台灣地區 Microsoft .NET 技術代言人林耀珍先生,與他曾有數面之緣,且據稍早聽過他 SOA 課程的實驗室學弟所言,講述得十分精彩。因此我也樂於瞭解一下,在這全球化委外的趨勢下,他將 RUP 運用在整合兩岸異地開發團隊的實戰經驗。

另一方面,也趁此機會觀摩這類課程該如何進行。這類課程,為了避免太過於理論,常會穿插案例實作示範,可是「選擇好的案例」本身就是一門學問:不能盡是引用與學員背景有隔閡的實作案例,但偏偏學員又是來自四面八方,顧此即失彼,難矣。案例的大小又得控制得宜,太大,吃不消;太小,沒感覺。而且最好是能有幾個從頭一路走到底的案例,不要常常切換,連累大家也得跟著走上切換、暖機、進入狀況的循環。可偏偏這些目標又屢屢相互衝突掣肘……

上完課程,個人認為物超所值,除了正題之外,亦吸收許多軟性的制度管理訣竅。尤其是對講師反覆強調的心法:identify → execute → review,以及透明度的追求,深有所感。

只可惜台灣這種環境,養不太得起純種的 architect。

課程進行到一半,接獲老闆指示,要替實驗室導入某種程度的 process。這也讓我想到 Tom DeMarco 大師在《別讓員工瞎忙》書中所述:

在非常忙碌的組織中,訓練反而無法讓人學到東西。……

我要強調的重點是,訓練的真意在於減慢速度(學習需要時間)。這是訓練最重要的特質。

訓練 = 以比專家緩慢許多的速度來練習一項新任務

所有缺乏以上緩慢特質的訓練,都是非學習。

大多數企業的訓練,都落入了非學習的類別。在這些訓練中,先有一個輸入階段,在這個階段你得到許多新的觀念和作法,接著是實行階段,讓你把這些新觀念和作法付諸實施。但這當中缺少了練習階段,讓你能以緩慢的速度,專家速度的十分之一(甚或十分之九),來練習你學到的新東西。公司認為,你既然知道了新(未經嘗試)技巧,就能以更短的時間來做相同的工作。訓練部門會告訴你,這就是你參加訓練,學習新技巧的目的:讓你更有效率。

你自己可能也以這樣的方法訓練過其他人。你是否曾經把專案交給一位新主管(第一次擔任主管的人),然後給他你自己做相同任務所需的時間?我就曾經做過。如果我能以一年時間完成該專案,我也希望新上任的主管能在一年內做完。我不知道自己是怎麼想的,但這絕對不是訓練。如果我希望訓練那位主管,我應該給他二年甚或更多的時間。相較於我自己來帶,我應該給那個專案較少的人手。專案的成員少,新主管可以有較充裕的時間去消化、吸收經驗所帶來的教訓。

沒有長時間的緩慢學習,就沒有訓練。在今日的「快一點」企業中,真正的訓練很少見,因為真正的訓練與快一點無法相容。快一點的訊息無所不在;它們充斥在組織中就像壁紙一般。

「變革」本非易事,「訓練」與「學習」更涉及心智模式的重整,還得有相當的準備、規畫、授權、mentoring & tutoring。尤其在許多學弟妹並沒有軟體工程、OOA/D 課程基礎或小型實作的背景下,要如何導入?該如何化解既有阻力?該如何降低 process 所帶來的 overhead?這我還得多想想……


◤建議您一併閱讀以下文章:


8 項留言回應 給 “RUP 三周有感”

  1. 1 Goston 留言:

    於我心有戚戚焉….

  2. 2 b6s 留言:

    唔,在這類型的問題上,我比較喜歡 Agile…

  3. 3 william 留言:

    我也很喜歡 agile 類的 methodology,有很多 best practice 可參酌,但整體而言仍過於 microscopic。比較兼美的作法,是將它視為一個 iteration,再放在較為 macroscopic 的 process framework (phases, workflows) 去實施,尤其當專案規模變大、stakeholder 組成複雜時。

  4. 4 b6s 留言:

    先前聽 Microsoft Windows Update 前任 PM 的演講 (http://www.iis.sinica.edu.tw/HTML/ENGLISH/S200310231500.html) 時,他提到的流程挺類似把 iteration 放進較大的 workflow 裡,只是那時完全沒用到這些名詞。

    最近看了 Visual Studio Team System 的發展,顯然也是走這般路線。:)

  5. 5 Tomm 留言:

    William 許多學弟妹並沒有軟體工程、OOA/D 課程基礎或小型實作的背景下, The Rational Unified Process Made Easy 這本書有些建議我覺得可能會有幫助, 不過 William 可能已經看過了 :-D

  6. 6 william 留言:

    是的,Made Easy 及 Introduction (3rd edition) 都挑著看了。 :)

    但要 tailor 仍然不容易。變革總是難的。

  7. 7 William’s Blog » 教育訓練半年偶得 引用:

    [...] 七、以上幾點,或許正如林耀珍先生在 RUP 課堂上所講,有助於建立起「軟體開發的專業門檻」吧。 [...]

  8. 8 William’s Blog » Conceptual Integrity 引用:

    [...] 「人」搞定了,再從環境面要求透明度,也就是我所在〈教育訓練半年偶得〉文中說的「所有的歷程,所有的中間產物,隨時可調閱」;也從制度面要求 identify → execute → review 的 cycle,「所有的歷程,所有的中間產物,隨時將 “traceability” 做為每一小階段的收尾要務」,沒有事前的 identify,沒有事後的 review,就不算結束,要求收尾。 [...]

留言回應

[檢核碼]  


Allowed XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

本站已啟用 spam 防護機制。為避免系統誤判,請在按下按鈕之前,先備份您的留言,以防不測。如果您一直無法順利留言,請改用 email 方式。
此外,如果您想留的言與本篇文章及討論串無關,也請轉而點選這裡。謝謝您!