l

2013年6月12日 星期三

顧問成功的秘密:自己加顆蛋,味道會更好

May 22 23:11~ May 23 00:50

image

 

有位客戶找Teddy做他們導入持續整合(continuous integration,CI)的顧問,說起持續整合Teddy從2003年做到現在也累積了10年的經驗,這樣的顧問案對Teddy而言算是很輕易的工作。某天客戶要求Teddy去幫他們安裝Jenkins與設定Android App的建構專案,正所謂「君子 顧問動口不動手」,Teddy之前已經跟客戶討論過CI的系統規劃與執行方法,至於「執行細節」應該由客戶自己動手完成。這種做法並不是要推托責任,而是《顧問成功的秘密》書中有寫,讓客戶自己動手解決問題,這樣新的制度才可以在客戶端生根,日後顧問離開之後才會持續下去

但是,有一次Teddy不小心脫口說出「如果你不會裝我可以找人來幫你們安裝」這句大逆不道的話,因此對於客戶的要求Teddy也不好拒絕,但是心中暗自盤算要找機會跟客戶溝通,請他們要投入時間自己動手。

***

出發當日Teddy找了位「小幫手」一起到客戶端去協助搞定客戶的需求,原本Teddy以為客戶把我們帶到電腦前面之後,就會離開去做自己的事,等我們把事情做完之後才過來「驗收」。沒想到客戶在我們來之前已經先把Jenkins裝好,也安裝了一個用來當作遠端建構環境的VM(虛擬機器),並且在Jenkins上設定好一個建構專案(Jenkins稱之為Job)。

我們先在會議室與客戶討論今天要執行的工作,只花了10分鐘就達成共識。接著一行人來到電腦前面,Teddy找來的「小幫手」與客戶坐在電腦前面,在接下來的過程中滑鼠與鍵盤在他們兩人的手上傳來傳去,形成「pair programming」的陣仗,只不過工作的內容不是在寫程式,而是設定CI。至於Teddy則是坐在他們兩位的後方,全程監督…不對,是全程參與。疑,這樣算起來應該不是2P,而是3P才對挑眉質疑

客戶首先拿出他事先裝好的「共用VM」讓我們使用,省去安裝作業系統的時間。接下來「小幫手」在VM上面安裝JDK、Ant、Android SDK並設定好環境變數。這個過程中出現了幾個因為權限所造成的小問題,也都在三方的合作之下算是順利的解決。在下載Android SDK的同時,我們把VM設定成Jenkins的遠端建構環境,然後在Jenkins上面新增Android App專案。接下來確定:

  • 遠端VM可以連到Jenkins
  • 在Jenkins上手動執行建構專案之後,遠端VM可以成功從版控系統下載App原始碼。
  • 透過Android SDK產生一個build.xml的Ant檔案,使用這個檔案來產生APK檔。
  • 最後,確定這個APK檔可以被回傳到Jenkins上面。

整個過程花了兩小時,比Teddy原先預計的時間快了一半。會這麼順利除了有Teddy帶去的得力小幫手協助,客戶自己投入時間親自動手參與也是很重要的一個因素很棒。安裝與設定Jenkins本身並不是重點,重點是在這個過程中因為有了客戶的參與,不只讓CI的導入可以有進度,而且因為pair programming(pair learning)的關係,客戶在短時間之內也學會(而且不容易忘記)如何使用CI的許多技巧。

***

最近讀了溫伯格寫的《顧問成功的秘密》,書中提到顧問不應該斷絕客戶親手解決他們自身問題的機會。溫伯格舉了一個例子,美國的家庭主婦很喜歡自己做蛋糕,有廠商推出「蛋糕粉」這種產品,只要加水然後放進烤箱,就可以做好一個蛋糕。但是這樣的產品卻乏人問津,因為如果烤蛋糕這麼偉大的工作到頭來變成「只要加水就好」,會讓家庭主婦身為「蛋糕師傅」的角色與重要性受到嚴重的挑戰與貶低。

後來有人將「使用蛋糕粉製作蛋糕」這件事增加了一點難度,用這種新的「蛋糕粉」做蛋糕,必須還要額外「打個蛋」。就因為「打個蛋」這個動作,讓家庭主婦與「自己動手做蛋糕」這件事產生了連結。

小孩:媽媽,這是妳自己親手做的蛋糕嗎?

媽媽:傻孩子,這當然是媽媽克服萬難自己親手做的愛心蛋糕啊。

***

寫到這裡突然想到,真的耶,泡麵加了個蛋之後,感覺就完全不一樣了耶。

***

友藏內心獨白:H7N9流行期間,加蛋記得要煮熟喔挑眉質疑

沒有留言:

張貼留言