XP(Extreme Programming) 帶給我的啟發是什麼?

約半年至一年前,把 XP 系列的譯作全買回來。並且利用在廁所裡、開車等紅燈及等朋友時看完(其實,原文的我也有買,但必須承認,看得很吃力,況且,在廁所裡總不方便用翻譯電子辭典來查單字吧 ~_^)
** 感謝李潛瑞兄等諸位譯者,能翻譯出如此高品質的中文譯作。

整個系列看完後,該忘得全都忘光了 🙂
不過,一輩子都不可能忘掉的是:

  • Kent Beck 真得是了不得的大師!他能融會生活哲理平實的一面帶入到軟體技術與專案實務管理上。而不是死板板的講一些意義不太大的專業技術用語。難得!!
  • Kent Beck 的媽媽教他開車時不是把方向盤固定不變在同一個位置,而是隨時修正,以保持在正確的路線上。
  • XP 的四大核心:Simple(簡單)、Communication(溝通)、回饋(Feedback)、勇氣(Courage)。
  • 感謝 Kent Beck、感謝 XP,能讓我學到以上三點,終生永難忘懷,實在是受用無窮!!

    至於,XP 所提的「十二項實務」,我好像幾乎忘光了 ~_^
    大概只對於 “Test First”,特別情有獨鍾...

    倒是,為了能更多體會 XP 的四項核心,個人花了非常多的心思研究:

    為了瞭解 “Simple”,我買了一本「簡單就是力量」,研究為何簡單可以產生力量?如何從複雜的事物中一眼就可以看透它單純的本質。
    也研究收納櫃的整理術,為何它可以把雜亂的東西都收納起來,使得從表面看起來可以變得是「序中有亂(不是亂中有序)」。
    另外也仔細研讀 Grady Booch 的 “Object-Oriented Analysis and Design” 一書的第一章:Complexity。開宗明義即提到:軟體的複雜度是屬於本質性的,是無可避免的。並藉由其它領域包括自然生態界及PC硬體產業來說明複雜系統的結構。藉此以瞭解如何觀察及分析複雜系統、如何組織及瓦解(或稱為分隔)複雜系統...

    為了能體會 “Communication” 及 “Courage”,我研究了非常多的成功潛能書籍,包括拿破崙‧希爾、卡內基、Brian Tracy、易發久的著作。甚至,還參加了在日月潭辦的成功潛能開發學習營(主題是溝通,不過,整個過程感覺比較像是鬧劇)。
    溝通難不難?對我真的是很難,畢竟,人總是有”性格上的缺陷”,經常,我還是會把所謂學習得來的 “知識” 據為已有,而以此與他人辯論,甚至有點高傲、不屑的態度。
    感謝好朋友的提醒及從成功潛能開發的書籍上所體會而來的,逐漸地在修正我個人的劣根性 🙂
    推薦「卡內基溝通與人際關係」一書,寫得真的很棒!

    不過,對於 “Courage”,這倒是我的專長 ^_^
    我認同「打造自己的成功」一書提到:人有選擇的自由與權利;但是,相對地,也要能為自己的選擇所付出的代價承擔。所以,當你作了選擇之後,也就沒有什麼所謂的後悔與不後悔的。
    我更贊同拿破崙‧希爾「思考致富」一書的 “PMA(Positive Mental Attitude)” 黃金定律,同樣一件事,往正面積極思考時,結局會是與悲觀主義者大大地不同。

    最後,對於 “Feedback”,更讓我更用心去體會 “Iteration” 的意涵。”四星上將” 及許多 O-O 書籍是以 “Spiral” 這個字來替代。
    “Feedback” 與 “Iteration” 絕對是息息相關的,因為,快速回饋,可以儘早地瞭解問題及風險所在,進而 “修正” 執行的步驟。
    極強烈推薦 Brian Tracy 的「吃了那隻青蛙」,讓我瞭解到何謂 “Backward Planning”,又如何與目前的行動來結合,並從行動中逐步修正及 Iterate 你的 “Plan”。
    另外「富爸爸‧窮爸爸-有錢有理」一書中也教你:對於夢想,盡可能地遠大及雄心抱負;但對於目標的設定,他建議作一個 “不太成功的人”,而不是 “過度成功的人”,也就是說,採取初級步驟,一次只走一小步,而不要試圖邁向一大步。

    為了更能體會 “XP” 的本質,我發了很多時間在以上主題的研究上。
    值不值得?我只能說,研究這些書籍及其作者們的觀點,真得是太有趣了!經常會有意想不到的收穫。

條列式的提案是正確的?

無論是計畫、提案、報告、簡報...等,格式幾乎都是以條列式的方式來組織排列。
是不是這樣對閱讀及簡報的目標對象比較容易理解?

我認為答案是: Yes!

因為直線式的條列編排,是經過被作者本人重新整理組織過,而成為架構層次分明的文件。而一般文件的主要架構大約可分為主題(目標)、大綱(結構)、內文(細節)等不同層次(Layer)。如此讀者可以依層次來選擇所關心的綱要及細節,對讀者而言,這樣是可以簡化複雜度的,較不至於雜亂無章。

但是,直線條列式的文件並無法表達出作者本人在構思階段時的過程。
因為,我們腦部在思考時,是屬於放射性的,亦稱為思考綻放(Brain Bloom)。此時,思考的模式是雜亂紛紛、各種無關緊要的聯想接連迸出...
這樣好不好?這是人的本能,事實上,往往創意也就是在這時候的過程不經意的產生出來。甚而,當腦海裡充滿了對影像及顏色的想像,更能加深記憶及聯想,創意更容易源源不絕而來。
如果是採用直線條列式的思考,那麼,創意往往會被侷限在某種框架束縛內~

我個人的結論是什麼呢?

在創意思考階段,係採用綻放(Bloom)、放射(Flow)、感性、率性、甚而無厘頭的思考方式,大量運用聯想、影像、顏色來激發創意;不需要特意去組織整理~
在這個階段,比較會是偏重於右腦的思維。
而如何記錄這些點子創意呢?我個人是推薦使用「心智圖」 的方式是最恰當的。

而當把點子創意等要形成更具象的內容給讀者閱讀或提案簡報時,此時,邏輯、理性、條理分明、架構層次等就很重要了。
在這個階段,就必須藉由左腦思維來做組織、規劃整理了。

所謂的「全腦思維」,除了善用左、右腦的平衡運用外。也要能懂得對不同的目標對象:
創意思考–自己,不受束縛的創意思考。
簡報提案–讀者、朋友、上司、其他人等,層次條理分明的表達方式。

讓自己有無限的思考空間;而對他人能條理分明的溝通表達。
這才是「全腦思維」吧!!

我是如何看書的?

平均一星期同時看 3~4 本書吧...

廁所裡固定擺一本書。在廁所裡我已經把如三國演義、金庸武俠小說、二次世界大戰叢書(市場花園作戰、坦克大決戰–庫斯克戰役、最長的一日、雷瑪根鐵橋、太平洋戰爭、東線戰場...)、圍棋叢書(小林光一、加藤、趙志勳...)...
每本書都是從讀精讀看到完,不知不覺很容易就把這些書給全看完啦~

車上固定擺一本書。比較屬於小型套書,如心靈雞湯、聖嚴法師的隨身經典系列、成功潛能系列書籍...
只要等紅燈、塞車時,或者在等待朋友的赴約時,不知不覺,很容易就把這些書看完~

出外攜帶的袋子裡一定至少帶兩本書,如軟體設計系列、企管系列、策略規劃系列、理財系列、學習系列...
平常若是與客戶開會時,同時我也會拿著書拿看;上一些無聊的研討會時,我也會拿來看;在咖啡廳與朋友聊天時,我也會拿來看;與朋友吃飯用餐時,我也會拿來看~

那個時候我不看書呢?
睡覺矇矇的時候是不看書的;與小朋友一起玩的時候是不看書的;在用心思考體會時是不看書的...

我會不會把一本書看完?
我根本就不在乎!把它當作小說時就會逐字細讀看完,所以在廁所裡往往是擺這樣的書;而有些書反而是要獨觀大略,是要用「心」去體會的,所以反而沒有必要錙銖於細節。

那到底什麼書該詳讀?什麼書該觀其大略呢?
我根本就不在乎!你喜歡就詳讀;你覺得看重點就好就看看重點吧。
一切沒有必要覺得有責任要看完一本書才叫做 “看完”,那是心理的障礙~

我看書會不會記得起來呢?
我根本就不在乎!記得起來就記得起來;記不起來就記不起來。不重要,隨興就好!
當你內心對某些語句充滿著 “感動” 時,自然而然,就會深刻烙印在你的心中~根本沒有必要刻意強記。

朋友說我看了那麼多的書,想必有學過速讀吧?
我根本就不在乎!速讀也許有助於閱讀,不過那僅是技巧之一,若忘了你閱讀的目的,那可是沒啥幫助的。

試想!當我看到 Grady Booch 所著的「Object -Oriented Analysis and Design」,看到其中 “Complexity” 這個字彙,我起碼花了半年以上來用心思考這個字的意涵及更加去充實這個字彙在軟體設計上的極度重要的概念。
我甚至可以在課堂上光解說這個字彙就可以上三個小時的課程。
即使沒有學過速讀,這個字一般人可能只花一秒鐘就帶過吧?那麼,你到底能體會到什麼呢?有本書「簡單就是力量」,為什麼簡單會造成力量呢?相對地,「簡單」這個字彙顯然就很值得用心去體會了吧。

什麼書該看?什麼書不該看?
我根本就不在乎!任何書都可以看,只要你覺得很有趣、沒有任何壓力、能享受其中的話,那麼,你就看吧...若是,看這本書時會造成你的壓力,那麼,停止讀下去吧,可能你沒興趣該書的內容,或者,時候未到吧?

看書需不需一定要把它”看懂”?
我根本就不在乎!看不懂或許代表機緣未到;或許代表該本書寫得不好;或許代表該本書難度高了點,所以必須先閱讀較淺顯的書。

看書,並不是要讓你去被束縛、被套在該本書的框架思維之內。
看書,目的是要引導你能激發出更多的體會,進而表達出你獨一無二的創意。
看書,是要讓我們可以以書中的作者為榜樣,而讓我們更能活出自己!!

Do the right thing

經常有人比較底下兩句話:
Do the right thing
Do the thing right

到底那句話才是正確的呢?

似乎越來越多人認同應該是要 “Do the right thing” 才是重要的,先能確認目標,行動才有意義!
但是,反向思考,難道 “Do the thing right” 不重要嗎?

其實,我們經常會陷入所謂的 “二分法”的陷阱,一定要從問題當中選擇唯一的答案。
真的非這樣嗎?不然吧...這兩句話個人一直認為應該是相互呼應、是互補,而不是衝突的。
一個是 ““,一個是 “” ; 一個是 “目標(Goal)“,一個是 “手段(HowTo)“。

結果我在易發久的「不是不可能」一書中,看到他對效率的定義如下(P.62):

運用對的方法,在最短的時間內把對的事情做好!“。

真棒!這一句話就整個串連了上述的兩句 “Do the right thing” 與 “Do the thing right” 了 ^_^

「夢想」與「目標」

每個人都喜歡作夢,而且也有人因為夢想而能成就一番事業。
但是大部分的人為何無法實現夢想,而僅停留在 “作夢” 的階段呢?

人因夢想而偉大」!
我相信每個人要能勇於有自己的夢想。不過若再加上一句:
人因目標而得以實現夢想」。
如此,夢想的實現就更能具體而行了。

My best friend Doris 以一句英文的定義,恰好可以呼應上述兩句:
A Goal is a dream with a deadline” 🙂

自在如意~

一直很喜歡這首順治皇帝出家時所寫的自嘆詩,其中這麼一段:

來時糊塗去時迷 空在人間走一回
未曾生我誰是我 生我之時我是誰
長大成人方是我 合眼朦朧又是誰
不如不來亦不去 來時歡喜去時悲

對每個人其生命的真諦是什麼?是否出家才能找到呢?

以我個人而言,逐漸的體悟出一點:
當你無論處於順境或者逆境時,對生活的態度仍能保持『自在如意』時,我想,就沒有所謂上述的那種對人生的迷惘了吧?

就如聖巖法師他個人對自己在人生的歷程上給予的一種態度:
船過水無痕,鳥飛不留影」。

這樣的心境,多麼的 “自在如意” 啊!

軟體思維顧問

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

Personal