l

2012年11月6日 星期二

還是要讀書

Nov. 05 22:45~Nov. 06 00:10

image

 

N年前Teddy剛剛接觸XP(Extreme Programming)的時候,覺得XP所提倡的軟體開發模式真的是太棒了。當時Teddy深怕沒趕上流行,幾乎把Addison-Wesley所出版的一系列XP原文書全部買回家。過了一陣子,書讀得差不多,在工作上也實際應用了XP的若干實務做法,此時自大的心態慢慢浮現:「我差不多算是XP專家了」。更糟的是,自己認為XP代表最主流的敏捷方法,既然XP已經學得差不多了,其他敏捷方法的流派也不用去管它了。

過了若干年後,在因緣際會之下接觸了Scrum。剛開始Teddy對Scrum也是抱持著「輕視」的態度:「噯呀,這只不過又是另外一種敏捷方法罷了,沒什麼特別的」。後來花了點時間認真一看才發現,不得了,原來Scrum和XP有很大的互補性。這兩帖藥方一起服用,效果更佳。

再過了將近2年的時間,Teddy接觸到Lean Software Development,其中提到消除浪費與Kanban。這次Teddy就不敢小瞧它們了,又花了一些時間在Lean上面。耶,原本的Scrum和XP,加上Lean這帖藥方,似乎可以涵蓋更多軟體開發的情境。

之後又過了將近3年的時間,Teddy也教了好幾次Scrum的課程,在不同的場合中分享過Lean Software Development所提到的消除浪費的概念。XP中所提到的實務作法更是不知道在各種不同的場合中提過多少次了。再加上出了一本賣得還算可以的《笑談軟體工程:敏捷開發法的逆襲》,嘿嘿,敏捷開發這個領域的東西Teddy應該讀得差不多了,可以休息一陣子了吧。

Teddy後來慢慢學會,當這種自滿心態出現的時候,就是該到天瓏書局逛逛,或是上Amazon找看看有沒有新書出版的時候了。正所謂「人外有人,天外有天,書外有書」,真的是一點也沒錯。昨天Teddy在《Scrum團隊如何打考績:有所本篇》所提到的《Management 3.0: Leading Agile Developers, Developing Agile Leaders》這本書,就開啟了Teddy思考敏捷開發的另一個面向:如何領導與管理敏捷團隊。在這之前,Teddy一直相信,只要管理者以身作則,就可以感染團隊,將團隊士氣導向正面思考並建立持續改善的文化。但這還不夠,Management 3.0用比較有系統化的方式來探討敏捷團隊的管理,在此同時也讓讀者可以重新思考自己正在奉行的敏捷作法,檢討看看是否有可以改進之處。

***

成熟需要時間

Teddy在《向大自然學設計》中提到這麼一句話:

台灣人都很聰明,都希望能夠找到「一步到位」的方法,來提升自己、團隊、公司的能力。但有些事情,就是需要時間的累積,有時候需要有點《傻的願意相信》的精神,用「之字前進」的方式,火車才爬得上阿里山啊。

這不是倚老賣老,而是實踐過後的一點感想。傻的願意相信》的精神,就如同Kent Beck在《Extreme Programming Explained, 2nd》, p.68頁所說的一段話:

If you have a legitimate reason for having multiple versions (or doing something), look at those reasons as assumptions to be challenged rather than absolutes. It might take a while to unravel deep assumptions, but that unraveling may open the door to the next round of improvement.

如果一開始鄉民們就「聰明到不願意相信」,那很可能會失去了一次「open the door to the next round of improvement」的機會。

招式的名稱也許不重要

Alexander在《The Timeless Way of Building》這本書的末尾提到一個有趣的體驗,他原本懷疑自己所提出來的pattern方法是否過於保守,只是一種用來記錄過去即存建築的方式而已。有一天Alexander讀到一本中國清朝的書,叫做《芥子園畫譜》(和芥子毒氣沒有任何關係 挑眉質疑),作者在書中提到:

The more one understands of painting, the more one recognizes that the art of painting is essentially one way, which will always be discovered and rediscovered, over and over again, because it is connected with the very nature of painting, and must be discovered by anybody who takes painting seriously. The idea of style is meaningless: what we see as a style (of a person or of an age) is nothing but another individual effort to penetrate the central secret of painting, which is given by the Tao, but cannot itself be named.

Alexander經過自身對於pattern方法的實踐,他發現:

The more I learn about towns and buildings, the more I feel the same thing to be true. It is true that many of the historic styles of building have some quality in common—they have it not because they are old, but because man has, over and over again, approached the secret which is at the heart of architecture. In fact, the principles which make a building good, are simple and direct—they follow directly from the nature of human beings, and the laws of nature—and any person who penetrates these laws will, as he does so, come closer and closer to this great tradition, in which man has sought for the same thing, over and over again, and come always to the same conclusions.

同樣的道理,昨天晚上在讀《自慢3:以身相殉—何飛鵬的創私房學》也看到很多類似的觀念。

***

常常聽到有人提出類似的說法:「軟體工程在業界行不通啦」、「寫自動化測試?辦不到」、「什麼,叫我照著Scrum所要求的一步、一步做?送你四個字:窒礙難行」。其實這個主題Teddy已經講過好幾次了,看來 無三小路用 沒什麼效果。當內心對於某種作法有所疑慮時,請先停下來思考一下:是這種方法真的不適合目前的情境,還是自己尚未理解如何落實該方法的技巧。Kent Beck的這段話寫得太棒了,再讀一次細細體會 微笑

If you have a legitimate reason for having multiple versions (or doing something), look at those reasons as assumptions to be challenged rather than absolutes. It might take a while to unravel deep assumptions, but that unraveling may open the door to the next round of improvement.

***

友藏內心獨白:上課要專心,回家要認真做功課。

2 則留言: