close
因為本身對於 agile 的熱愛, 很多人常常會問我, 為什麼在公司內推 agile 這麼困難. 是的, 我也覺得不容易, 當年, 我能成功, 真的是很多條件都配合得很好.
 
0_0_589_0_70.25.222_coporate-culture-transformation  
 
那中間到底有什麼難的地方呢? 在 Succeeding with Agile 一書中, 剛好描述了這件事情. 因此, 小弟特地節錄的一些重點, 來跟大家分享一下:
 
1. 轉型不是只有上到下或是下到上
很多時候, 公司會用高層的力量, 強迫去推一些東西, 這一開始是會有力道的, 但是, 往往不容易持續很久. 因為一開始是老大說了算, 下面的人只好安靜, 如果在一段時間後又看不到成效, 很容易就不了了之. 就算是有些效果出來, 這時候也要有說熱情人士, 願意繼續推廣, 或者是讓事情越做越好. 除非上下齊心, 否則很難長久.
 
Agile 的推廣更是如此. 因為敏捷很重視 self-organized. 長官是可以建議方向, 但是要由下面的人決定要如何完成. 如果你硬是以高壓政策推行, 你馬上會把質疑, 這不就是跟 agile 的精神完全違背嗎?
 
此外, 即使高層有這樣的認知, 也要下面有樁腳, 願意去把事情做好. 例如, 像是 TDD, 或者持續整合等實務. 這些除非是得到經理在時程上的體讓, 然後再加工程師們願意精益求精, 否則不可能讓這事情落地生根的.
 
 
2. 何謂結束
推行一個新東西, 例如 12 年國教, 捷運內不吃東西. 你是可以很容易說, 到底有沒有做到. 但是對於推廣 agile, 你很難說 agile 是否落實. 因為它是要你遇到問題時, 能夠快速因應, 嘗試各種解法去解決問題. 也就是說, agile 是要讓你有因應改變的能力, 它是一種文化, 要求不斷持續改善, 讓做事方法能越來越好. 因此, 沒有所謂最好, 但是總是可以更好.
 
 
3. 沒有最佳解法
另一方面, 也因為每個人都是不同個體, 每個團隊所在環境各不相同, 實施同一種做法, 會產生什麼效果, 這也是很難可以預測的. 因此, 你必須根據每個團隊或個人 context 以及臨場狀況來做事, 不見效就換一種, 有見效就繼續做. 
 
我們就舉 Daily Scrum 來說, 在我第一個團隊中, 我們是早上 10 點舉行, 大家時間不會拖很久, 並且執行起來也很有效率. 可是, 我也遇到某個團隊, 大家不想要來開會, 覺得這個會好無聊, 並且也無法準時到, 他們就很痛恨說, 一定要天天開會嗎? 後來我們調成一三五開會, 雖然頻率調整了, 大家還是覺得這個會沒有用. 再之後又遇到一個團隊, 他們也是沒有天天開, 一開始也是有點無聊, 但是後來大家默契來了, 開竅了, 覺得這樣的 sync 還不錯.
 
所以, 沒有所謂最佳解法, 最佳實務, 你必須知道這個 practice 能幫助大家什麼, 能解什麼問題, 並且也讓大家認同. 否則硬上只是讓大家反感, 並且也讓那個結果是無效的.
 
 
4. 敏捷想法和以前完全不同
以前傳統做法, 總是先規劃好詳細計劃, 然後就大規模開始推行. 可是在 agile 中, 他的做法完全不同. 他認為在早期資訊不夠的狀況下, 過度的計畫是種浪費. 因此他會先做些東西, 從中學習和了解到一些東西後, 然後再決定前進的方向. 
 
所以, Agile 的做法是對整體先有個大略的規劃, 然後會在每個 sprint 中, 詳細計劃每個 sprint 要做的東西. 也就是說 plan is nothing, planning is everthing. Agile 他是藉由不斷規劃, 來取代一次詳細計劃.
 
可是, 對於習慣傳統做法的人, 會覺得這是件很可怕的事情, 如果沒有精密的設計, 沒有先喊個時程, 那我怎知到要做什麼, 何時能夠完成. 因此, 很多人選擇逃避, 也是剛好而已.
 
arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()