l

2012年10月26日 星期五

Scrum導入顧問真的有用

Oct. 25 16:56~18:26

螢幕快照 2012-09-10 下午9.44.00

自己幫自己寫的書打一下廣告。

***

昨天有一位朋友(R君)經過光華商場附近,順道來Teddy的辦公室拜訪。這位朋友除了帶了一本剛到天瓏書局購買的《笑談軟體工程:敏捷開發法的逆襲》第三刷讓Teddy簽名之外,還說了一句讓Teddy很感動的話,什麼話?

在離開前一份工作與尚未成立泰迪軟體的7個多月空檔中,Teddy除了在寫《笑談軟體工程:敏捷開發法的逆襲》這本書以外,還到某家公司短暫打工,R君就是Teddy在打工的時候認識的。R君的團隊在Teddy到他們公司打工之前就已經導入Scrum有約1-2年的時間,在Teddy短短幾個月的打工期間中,關於團隊實施Scrum的現況,Teddy也給了一些建議。昨天R君提到:「那段期間Teddy給的建議對團隊實施Scrum還蠻有幫助的」(拭淚~~)。

***

最近Teddy接觸了幾家對於導入Scrum有興趣的公司,談到後來他們都問了一個同樣的問題:「請問導入Scrum對公司有什麼好處?請給我具體的指標(KPI)」。聽到「訂定績效指標」,就讓Teddy想起之前寫的這一篇《目標管理,不要吧》。並不是說導入Scrum無法列出具體的改善指標,而是這整個改善過程,是一個「持續進行與調適」的過程。導入Scrum的目標之一,是讓團隊具備自我管理與持續改善的能力。至於何時要改善、要改善什麼,是一種很「動態」的決定,可以有大方向,但是一旦訂立指標,很容易流於僵化的形式,最後反而沒有到實質改善,或是沒有改善到最需要改善的痛點(因為計畫趕不上變化啊)。

導入Scrum的過程,有點像是一位百病纏身的病人,去看醫生的過程。醫生不太可能一開始就給病人一個計畫,只要按照計畫,完成計畫中所要求的績效指標,病人經過一段時間之後就可以保證「頭好壯壯」。記得若干年前,Teddy的胃突然很不舒服,經常會感到反胃。忍了幾天之後受不了,到醫院看醫生。醫生問診之後,開了幾天的腸胃藥給Teddy。吃了幾天的藥之後,反胃的狀況不見改善,於是Teddy再度掛號。

醫生:上次這個藥吃了效果如何?

Teddy:好像沒什麼用耶,還是會一直反胃。

醫生:那我幫你安排照個胃部X光。

Teddy:好。

若干天之後,Teddy到醫院照胃部X光。又過了幾天,回去醫院看報告。

醫生:胃部X光顯示,你的胃部有幾個小黑點,有可能是潰瘍。

Teddy:那怎麼辦?

醫生:我開另一種藥給你吃看看,兩個禮拜之後再回診。

Teddy:好。

兩週後。

醫生:怎麼樣,現在感覺如何?

Teddy:換了新的藥之後,反胃的情況是有比較好一點,但是並沒有全部消除,有時候還是會有反胃的情況。

醫生:那我看你要照個胃鏡,順便看看是不是有幽門桿菌。可能需要吃抗生素,但是這個抗生素不能隨便開,所以要照胃鏡檢查。

Teddy:好。

後續還發生一連串奇妙的事件,總之從Teddy感到胃不舒服,到確定是胃潰瘍和12指腸潰瘍,然後完成消滅幽門桿菌的療程,前後經過約3個月漫長的時間。雖然過程有點漫長(病人都希望吃完藥、打完針之後,生病馬上痊癒),而且過程中也發生過一些烏龍事件(例如,一開始的腸胃藥根本是搞錯方向啊),但是有兩個重點讓醫療行為可以繼續下去:

  1. 病人基本上還是信任醫生的專業:雖然醫生無法掛保證任何治療行為的績效,但是大體上病人還是相信現代醫療這一套,所以還是繼續看醫生,而不是跑去吃符水(Teddy小時候還真的吃過啊…Orz)。
  2. 持續改善:與什麼都不做相比,整體而言經過治療之後,病人身體的狀況是有在持續改善當中。

***

想一想,導入Scrum,不也是這樣嗎?

病人:個人、團隊、公司制度與文化。

醫生:Scrum顧問。

Teddy僅僅是去看個胃病,就搞了好幾個月,而且只是讓症狀減輕,並無法恢復到生病前的狀態(幽門桿菌都殺光之後,卻不能再常喝咖啡了…Orz)。公司或是團隊想要導入Scrum所解決的症頭(病徵),又何止幾十種。隨便舉例十個例子:

  • 時程延遲。
  • 品質不好。
  • 做出來的東西客戶不喜歡。
  • 工作流程沒有銜接好,因此有人經常處與「待機狀態」。
  • 系統很難擴充,改個功能改好久。
  • 團隊成員甲所負責的功能有問題,客戶急著要修正,但是好死不死今天他老大請假,沒有人知道該如何處理。
  • 有人離職,交接的新人三個月後才有能力接手繼續做下去。
  • 完整測試一次系統要花1個月還不一定測得完。
  • 每一個工作的進度都很難掌握。
  • 花了長時間再研究某個技術,但最後發現完全派不上用場。

一大堆問題,要怎麼改善、如何改善、何時改善?

答案:看情況

這時候真的要搬出一句很討打的話:流程改善,做就對了 挑眉質疑

***

友藏內心獨白:做之前要先確定找對人。

2012年10月25日 星期四

工商服務:Certified ScrumMaster 認證班

Oct. 24 23:05~23:45

今年8月3日《Scrum大師講座》的主講者Emerson Mills即將於12月3~4日(週一、週二)來台北舉辦Certified ScrumMaster認證班。這個課程Teddy在2009年的時候也參加過,當時上課的講師是Bas Vodde與Clinton Keith。而Emerson Mills是Bas Vodde的同事,同屬於Odd-e公司,都是非常有實務經驗且上課幽默的講師。

Teddy當年上Certified ScrumMaster課程的介紹請參考《Certified Scrum Master, Day 1》、《Certified Scrum Master, Day 2》、《我變成有牌的 ScrumMaster 了》。課程結束之後,可以獲得ScrumAlliance一年會員資格,並成為「Certified Scrum Master 候選人」。之後只要連到ScrumAlliance網站填寫個人資料,完成一個非常簡單的線上測驗,就可以獲得ScrumAlliance所頒發的Certified ScrumMaster證書。

課程報名網http://www.accupass.com/go/1212csm,10月25日下午兩點開放報名。

以下是Emerson Mills在8月份來台灣舉辦活動時到照片。

螢幕快照 2012-10-24 下午11.27.11

螢幕快照 2012-10-24 下午11.27.18

螢幕快照 2012-10-24 下午11.27.30

螢幕快照 2012-10-24 下午11.28.06

螢幕快照 2012-10-24 下午11.28.13

螢幕快照 2012-10-24 下午11.28.24

***

課程大綱

  • 敏捷精神與Scrum介紹
    • Scrum歷史
    • Transparency
    • Definition of Done (DoD)
  • Scrum 內涵
    • The Team
    • The Product Owner
    • The ScrumMaster
    • Product Backlog
    • Sprint Planning
    • Daily Scrum
    • Product Backlog Refinement
    • Sprint Review
    • Sprint Retrospectives
  • 敏捷估算
  • 敏捷實務作法
  • Scrum實務經驗分享與情境討論

講師簡介

Scrum大師Emerson Mills具備多年大型軟體開發實務經驗,精通日語,曾在美國與日本Amazon有多年採用Scrum軟體開發經驗,對於日式企業、美國網路公司、遊戲工作室等有非常豐富的Scrum實戰經驗。

Emerson Mills 曾於2012年8月受泰迪軟體之邀來台舉辦「Scrum大師講座」,深受好評。目前 Emerson Mills 專職於提供Scrum教育訓練以及Scrum與敏捷方法協助團隊提昇軟體開發績效。

課程學費,原價NT$ 40000 (含稅)

報名優惠

  • 四人同行,一人免費:每人NT$ 30000 (每人省10000)
  • 泰迪軟體/ezScrum團隊所舉辦之Scrum課程老客戶升級價:NT$ 32000 (現省8000) --->這是Teddy特別跟Emerson Mills爭取的優惠價格XD。

報名網址再貼一次:http://www.accupass.com/go/1212csm

在11月15日前報名並完成繳費,加贈好書四選一:《笑談軟體工程:敏捷方法的逆襲》或《約耳趣談軟體》或《約耳續談軟體》《科技CEO的創新X創業學》

***

友藏內心獨白:課程進行這兩天Teddy也會在場 XD。

2012年10月24日 星期三

改行寫網路小說算了(7)

Oct. 23 16:24~17:24

image

圖片來源: 這裡

***

經濟動能推升方案

經濟動能推升方案是什麼呢?
這只不過是另一個消耗預算的口號。
我們很想用幾句簡單的話讓大家能夠了解。

但是啊!
跟你們這些死老百姓講你們也聽不懂。
幾句簡單的話,實在無法說明這麼多的政策。

因為,
官大學問大,老子想怎麼做,就怎麼做。
經濟發展需要很完整的規劃,經濟才能動得起來。

你們這些勞工乖乖繳稅就對了。
所以這些方案當然很複雜。

重要的是,

你們很快就會忘了這件事。
很多事情正在加速進行中。

說破嘴不如跑斷腿,
拼經濟, 換人 做就對了。

***

Scrum流程改善方案

Scrum流程改善方案是什麼呢?
Teddy很想用幾句簡單的話讓大家能夠了解。
但是啊!
幾句簡單的話,實在無法說明這麼多的敏捷作法。
因為,
軟體開發流程改善需要很完整的規劃,團隊成員才能動得起來。
所以這些方法當然很複雜!
重要的是,
團隊成員正在加速擺爛當中…Orz。

說破嘴不如快掏錢,
流程改善,找Teddy就對了。

Teddy內心獨白:預算新台幣1500,有人願意幫忙拍一支Scrum導入宣傳廣告嗎?挑眉質疑

***

看病

醫生:你的身體很弱,問題很多,我先開一貼藥你帶回去吃看看,兩個禮拜後回診。

病人:這樣就想打發我,要我付錢買藥,恐怕沒那麼簡單喔。

醫生:你說什麼?

病人:你要先給我一份正式的報告,明白告訴我現在我的身體有什麼問題,然後幫我訂定「療效指標」。吃完你開的藥之後,兩個禮拜如果沒有達到指標,我要 吐痰兼告官 退錢。

醫生:有人看病是這樣看的嗎?

病人:我們做案子,都是這樣要求的啊。

醫生:頑皮、頑皮、推一推 異形

***

友藏內心獨白:賺到靈感,也不錯啦 挑眉質疑

2012年10月23日 星期二

工商服務:Design Patterns這樣學就會了--入門實作班,第二梯次

Oct. 22 17:45~18:30
螢幕快照 2012-10-19 下午11.36.46
課程報名網http://www.accupass.com/go/pattern1211
這是本年度第二梯次的「Design Patterns這樣學就會了:入門實作班」。第一梯次的上課實況請參考:
image
image

課程的目標對象
  1. 想學好物件導向設計
  2. 想深入並徹底了解設計模式
  3. 苦無良法將23個設計模式全部學會之有理想、有抱負的工程師
  4. 在工作上想看懂別人套用設計模式所寫出來的程式
  5. 想在專案中實際應用設計模式,以便設計出具擴充性之軟體架構
課程內容介紹
本系列課程將以現場實作方式,分入門與進階兩梯次帶領學員們逐一練習《Design Patterns》書中的23個設計模式,以及重要的物件導向設計觀念。入門課程涵蓋的內容為:
1. 核心物件導向設計原則一聽就懂
2. 如何搞懂設計模式的格式框架
3. 套用設計模式前、後之比較
4. 如何測試設計模式
5. Singleton模式
6. Observer模式
7. Template Method模式
8. Façade模式
9. State模式
10. Factory Method模式
11. Abstract Factory模式
12. Strategy模式
13. Command模式
14. Adapter模式
15. Composite模式
>> 查看進階課程,還有哪些Patterns?
所有設計模式均包含講解與實作練習,分組教學,4-6人一組,並聘請助教協助學員排解實作練習時遭遇的困難。
※ 注意:課程內容與練習範例均以Java語言為主。
第二梯次的課程內容會稍作調整,第一天增加pattern理論練習的份量(尋找force, 30 分鐘寫出一個pattern),並補強物件導向基本概念的說明。在講解每個 pattern 的時候,也會特別討論problem與force。
課程師資
Teddy,泰迪軟體創辦人,從事敏捷開發顧問、教育訓練、軟體工具導入等服務。
Teddy畢業於台北科技大學機電科技研究所(資訊組)博士班,在Design Patterns的理論與實務上有著超過16年的經驗。自從1997年起Teddy便開始在工作上採用大量的Design Patterns設計軟體系統,並在公司內部教導與推廣Design Patterns。之後Teddy便與patterns技術解下不解之緣。2004年Teddy在北科大資工系攻讀博士期間,曾到美國參加過pattern領域最著名的Pattern Language of Program Design (PLoP 2004) 研討會並在其中發表一篇論文。Teddy博士班畢業之後二度投入業界工作,期間亦持續地從事patterns寫作工作,最近的作品為去年發表在日本Asia PLoP 2011研討會上的Emerging Patterns of Continuous Integration for Cross-Platform Software Development論文。
  • 2012年9月,《笑談軟體工程:敏捷方法的逆襲》獲得iThome週刊推薦為2012年iT人必看好書。
  • 2012年9月,與APP跨界交流協會、台灣創意設計中心、ezScrum團隊,在松山文化創意園區舉辦「我們都是設計師:跨界敏捷工作坊」。
  • 2012年8月,與台北科大ezScrum團隊共同創立「C.C. Agile」敏捷方法社群聚會。
  • 2012年8月,講授Design Patterns這樣學就會了:入門實作班課程。
  • 2012年6月,出版暢銷書《笑談軟體工程:敏捷方法的逆襲》(天瓏電腦書局7到9月連續三個月暢銷書排行榜第一名)。
  • 2012年4、6、8、10月,連續講授四梯次Scrum公開課程。
  • 2012年2~6月在國內某遊戲上櫃公司協助軟體架構與敏捷開發法顧問工作。
  • 2010年起迄今,應邀主講多次Scrum與敏捷開發法講座。
  • 2009年取得Certified ScrumMaster資格。
  • 2008年4月至2011年11月,在某美商擔任敏捷專案經理,負責導入Scrum。
  • 2007年起,Teddy經營部落格「搞笑談軟工」至今。
課程學費
原價NT$ 26000 (含稅),推廣期間報名優惠:
  • 11/13前報名並完成繳費享早鳥優惠:NT$ 22000 (省4000)
  • 四人同行,一人免費:每人NT$ 19500 ( 每人省6500)
  • Scrum課程老客戶:NT$ 20500 (現省5500)
  • 一日體驗券,NT$ 8000 (憑本券可上第一日課程,若第一日課程結束後決定繼續完成後二日課程,只需負擔與早鳥票之差價 NT$ 14000) 前10名完成報名並繳費者贈送《大話設計模式》一本。
    購買全票使用『非信用卡方式』繳款者,加贈好書四選一:《笑談軟體工程:敏捷方法的逆襲》或《約耳趣談軟體》或《約耳續談軟體》或《科技CEO的創新X創業學》。  
    報名網址再貼一次:http://www.accupass.com/go/pattern1211
***
友藏內心獨白:程式要好寫、好測、好擴充,就靠這貼藥方了XD。

2012年10月22日 星期一

尋找Force實驗6:Singleton篇

Oct. 18 22:46~23:15

image

***

今天來找Singleton pattern的Force,依照慣例先把Intent改成Problem。

Intent

Ensure a class only has one instance, and provide a global point of access to it.

這一整句感覺像是solution。其實Teddy在《Creational Patterns要解決什麼問題(上)?》已經提到,這些creational pattern的Problem都可以寫成:

Problem:How do you create an object?

中文:你如何產生一個物件?

接下來看一下GoF書中Singleton pattern的Motivation,看看能不能找到Force或是其他東西。

Motivation

It's important for some classes to have exactly one instance. Although there can be many printers in a system, there should be only one printer spooler. There should be only one file system and one window manager. A digital filter will have one A/D converter. An accounting system will be dedicated to serving one company.

How do we ensure that a class has only one instance and that the instance is easily accessible? A global variable makes an object accessible, but it doesn't keep you from instantiating multiple objects.

第一段標示為藍色的字,看起來像是Force。第二段標示為藍色的字,本身就是一個問句,也很像Problem,也可以是Force。

Force 1: The property of having only one instance of class is a property of the type being represented, such as a class that realizes a stateful API to a specific piece of hardware in a system, and not simply an incidental property of an application that uses only a single instance of a class. (這一句是從 POSA 5 節錄出來的)

Force 2: The sole instance should be easily accessible.

繼續看下去。

A better solution is to make the class itself responsible for keeping track of its sole instance. The class can ensure that no other instance can be created (by intercepting requests to create new objects), and it can provide a way to access the instance. This is the Singleton pattern.

以上這段算是在說明Solution。

***

最後看一下Applicability。

Applicability

  • there must be exactly one instance of a class, and it must be accessible to clients from a well-known access point.
  • when the sole instance should be extensible by subclassing, and clients should be able to use an extended instance without modifying their code.

***

Applicability好像沒什麼影響,所以之前找到的Force是最後的結果。最後把剛剛寫出的Problem列與Force出來:

Problem: How do you create an object?

Force:

  • The property of having only one instance of class is a property of the type being represented, such as a class that realizes a stateful API to a specific piece of hardware in a system, and not simply an incidental property of an application that uses only a single instance of a class.
  • The sole instance should be easily accessible.

***

找完收工。

***

友藏內心獨白:《Creational Patterns要解決什麼問題》的下集怎麼一直沒寫出來?

2012年10月21日 星期日

2011冬遊法國巴黎Day5-C羅丹美術館

Oct. 13 14:02~16:12

離開傷兵院之後來到附近的羅丹美術館。

螢幕快照 2012-10-13 下午3.38.28

螢幕快照 2012-10-13 下午3.40.35

 

首先在庭園中看到著名的「沉思者」,今天天氣陰陰的,整個銅像拍起來嘿嘿一坨看不清楚 挑眉質疑

螢幕快照 2012-10-13 下午3.39.05

 

從這個角度看「沉思者」,怎麼有種蹲馬桶的fu…XD。

螢幕快照 2012-10-13 下午3.40.21

 

戶外庭園中還有很多雕像。

螢幕快照 2012-10-13 下午3.41.06

 

這是有名的「地獄門」。

螢幕快照 2012-10-13 下午3.41.39

 

可以看到傷兵院的圓頂教堂。

螢幕快照 2012-10-13 下午3.41.21

 

接著開始到室內參觀。

螢幕快照 2012-10-13 下午3.42.27

 

這應該是法國的小朋友在校外教學,在法國的美術館常常會遇到這樣的場景。

螢幕快照 2012-10-13 下午3.42.43

 

還是雕像 挑眉質疑

螢幕快照 2012-10-13 下午3.42.59

螢幕快照 2012-10-13 下午3.43.14

螢幕快照 2012-10-13 下午3.44.33

螢幕快照 2012-10-13 下午3.44.05

這台相機的螢幕很大喔 XD。

螢幕快照 2012-10-13 下午3.44.43

 

繼續看雕像。

螢幕快照 2012-10-13 下午3.45.09

螢幕快照 2012-10-13 下午3.45.18

螢幕快照 2012-10-13 下午3.45.47

休息一下,看一下窗外的庭園景色。

螢幕快照 2012-10-13 下午3.45.55

 

館內一角,黑白相隔的地板還滿有現代感的。

螢幕快照 2012-10-13 下午3.46.05

螢幕快照 2012-10-13 下午3.46.18

 

館內也有收藏一些畫作。

螢幕快照 2012-10-13 下午3.43.28

螢幕快照 2012-10-13 下午3.46.25

螢幕快照 2012-10-13 下午3.46.34

 

小型的地獄門。

螢幕快照 2012-10-13 下午3.46.46

 

累到暈倒的雕像 驚訝

螢幕快照 2012-10-13 下午3.47.43

 

螢幕快照 2012-10-13 下午3.47.56

 

螢幕快照 2012-10-13 下午3.48.29

 

耶,這不是梵谷的畫嗎?!賺到了 很棒

螢幕快照 2012-10-13 下午3.48.37

 

這幅感覺好像是雷諾瓦的作品。

螢幕快照 2012-10-13 下午3.49.08

 

休息一下眼睛,再看看戶外風景。

螢幕快照 2012-10-13 下午3.49.27

螢幕快照 2012-10-13 下午3.50.01

螢幕快照 2012-10-13 下午3.49.49

螢幕快照 2012-10-13 下午3.50.38

螢幕快照 2012-10-13 下午3.50.46

***

準備離開傷兵院這一區,回顧一下附近的景色。

螢幕快照 2012-10-13 下午3.51.29

螢幕快照 2012-10-13 下午3.51.41

螢幕快照 2012-10-13 下午4.08.16

螢幕快照 2012-10-13 下午4.08.47

 

下一站,拜訪忍者龜 挑眉質疑

***

友藏內心獨白:後來才知道,沉思者與地獄門有好幾個copy啊。