任務編組讓Win7快速達到Beta的水平

  • 2135
  • 0

任務編組讓Win7快速達到Beta的水平

相信玩過Windows 7 Beta的人對它的穩定性以及效能都印象深刻。很少微軟的產品可以在這麼早就達到這樣的品質。它的成功,很大的部分要歸功於任務編組(Feature Crew)的採行。

任務編組是現任負責Windows工程的資深副總裁Steven Sinofsky從Office帶過去的一套軟體開發的觀念及作法。任務編組的觀念衍生於極端編程(Extreme Programming),在Office已經實施好幾年了。

任務編組的作法是把一個要開發的產品劃分成許多小的單元,各個單元成立不同的任務編組來獨立作業。任務編組是標準的三權分立。三權的成員("Crew”)是:

  • 開發工程師(Developer)
  • 測試工程師(Tester)
  • 專案經理(Program Manager)

它的主要觀念是充分授權給各成員,讓他們決定要做什麼項目(Feature),如何去開發,和如何去測試。(當然,管理者需要確定該項目符合整個產品的願景,它的實現契合整個產品的的架構,它的測試達到要求的水準)。

任務編組能夠讓品質盡量向上游提昇;在該項目Check-in到原始碼控制系統(Source Code Control System)的主幹(Main Branch)之前,幾乎所有該做的東西(設計,開發與測試)都做好了。如此一來存在主幹的產品通常會有比較好的品質,因為它不會有未經設計,未完成或未測試的項目。任務編組的最理想的境界是能夠把在主幹的產品隨時推出。當然這是不可能的(因為有些事-像Performance, Scalability等-只能在主幹理面做)。但是比起傳統的作法-主幹的產品在最後的整合後才可以用-它在產品開發的早期就能提供許多讓人們試用,測試及提供回饋的機會。

任務編組的實施也讓成員的工作滿意度大大地提高。Larry Osterman(一個在Windows部門的資深工程師)前一陣子分享了他的任務編組經驗,很值得一讀:Engineering 7: A view from the bottom.