今天是日本的休息日,我在值班,順便接著進行項目反省。今天說說敏捷開發吧。
在項目之初,曾想到在項目里面導入敏捷開發的一些好的實踐,但是仔細分析了一下,項目組的成員大多在經驗上還不是很豐富,硬要上敏捷的話,會得不償失。考慮來考慮去,還是一點點來。先從“看得見”做起。所謂“看得見”就是讓任何需要管理的東西,要讓大家都看得見,類似于豐田的看板管理,反過來說,任何看不見的東西都是無法管理的。這個現在在日本是一個很流行的管理理念。特點就是簡單實用。
我們的實踐如下
1,讓每天的工作內容看得見。每天早上來,大家圍在白板前開一個短會。根據日程表把各自今天要完成的內容寫在白板上,按人名分類,按優先級排序。每一項任務前面標志一個叉,表示還沒完成。會開完后使用白板自帶得打印機打印出來,用磁石粘在一個大家都能看到的位置。
這樣做的好處就是,各自的每天的任務明確,信息共享,每個人今天需要看什么誰都知道,同時也有利于Leader的管理。
2,頻繁溝通。對照白板的內容,對每個人的工作我會每天詢問兩次。中午一次,下午4點一次。中午那次主要詢問有沒有什么問題,對于完成這件工作的一些想法的交換,下午4點主要就是詢問進度了。這兩次的目的是不同的,中午的那次,主要就是通過想法交換,我們一起來保證我們做的是正確的事情同時采用了正確的方法。下午那次,是為了調配各自的任務量,讓工作已經完成的組員去幫助工作還沒有完成或者有問題的組員。有的人可能會想,別人的工作為什么讓我去做。在項目之初我就強調了,我們是一個團隊,一個人的工作沒完成,等于我們大家的工作都沒完成,項目無論什么地方出了問題,都是我們大家的問題。還好,我的組員在這一點上執行的非常好。
3,設計程序先想測試。測試先行,估計好多人都在實踐了,不過說實話,我個人覺得實踐起來不是那么簡單。所以就采取了一個折衷的做法。我要求組員設計程序之前,不需要寫測試程序,但是一定要先想如何測試。大家一起討論或者Review一種技術方案的時候,負責審核的一方都會強調,先考慮能不能測試,怎么測試。我的想法是無法測試的程序也就是沒有意義的,因為誰也不知道它正確與否。知道怎么測試了,程序寫起來就快多了。這是我們的體會。
4,制作工具不偷懶。項目的前期,我們就考慮到需要一種模仿用戶下訂單的工具。在研究完業務之后我們就做了這么一個工具,花費了一些時間,但是事實證明,這個工具非常的有用,無論是后來的功能上的測試還是負載測試,這個工具都起到了很大的作用。所以,在項目前期,工作不是很忙得時候,做一些以后會用到的工具是非常好的一個實踐。關鍵就看能不能不偷懶了。
5,定期總結。定期我們會總結一些前期的工作,采取Keep,Try,Problem分類的方式。同樣是寫在白板上。Keep的內容是需要繼續堅持的,Try是對一些問題的解決方案,需要下一階段實行并驗證其效果的,Problem是存在的問題,需要改進。定期總結的作用就是強行將我們從程序堆里面拽出來,重新審視我們的工作。我對組員的要求是不僅要會寫程序,更要會工作。
敏捷不是理論,是各種各樣的實踐。最重要的是,這些實踐都適用于自己。
posted on 2007-10-08 13:10
KnowNothing 閱讀(1442)
評論(1) 編輯 收藏