微軟的XP之道
摘自XPChina
最近讀了關于微軟得軟件開發模式得資料,又讀了關于“極端編程”得資料。了解了現代企業得現代管理模式。“極端編程”是指軟件開發的極端狀態,也就是理想狀態。微軟的方法更具體,“極端編程”在開發過程中各方面人員的相互交流方面更成熟?傮w上兩種方法在大的方面都是雷同的。
關于微軟得開發模式得資料可以參考《微軟的秘密》,關于極端編程的資料可以參考
http://c2.com。
綜合兩者,簡述一下軟件開發的方法。
保證開發計劃按時完成和產品質量的方法:
開發要完成的內容是根據用戶的需要確定的。在微軟是由銷售人員確定用戶需求。這里主要說明“極端編程”的方法。在極端編程中,用戶確定要開發的功能,用戶可以把對自己更重要的功能放到前面先完成。開發人員對這些功能提出每個功能實現的時間,用戶如果認為時間太長可以取消一些功能。這樣,通過這種協商和反饋,保證了開發的最大價值。同時,因為是開發人員確定功能實現的時間,因此,計劃必要容易按時完成。特性不要要求太具體,要簡單勾勒。
實際上,用戶開始不知道自己需要什么,這需要開發人員研究用戶行為,提出可以實現的效果,用戶對效果進行評價和修改,來確定開發的目標。當開發完成時也要提供給用戶進行試用,獲得反饋意見,對產品進行改良。這也是和用戶不斷交流的過程。這種交流保證了產品確實是用戶需要的。
對于每項功能,由開發的組織者和開發員討論制定詳細的完成步驟,確定每一部分要達到的具體效果,寫詳細的文檔,描述每個界面完成的外觀和函數的功能。這叫任務引擎。任務引擎不是一次寫成的,可以隨時間不斷詳細化。
根據任務引擎再編制詳細的時間計劃,將任務引擎劃分為若干個任務,每個任務由一個人負責,這個時間計劃要由每個具體的開發人員提出或協商每個任務和每個任務的具體部分的完成時間,這個時間計劃要細分到半天至三天,至少一個星期。在每項任務的完成時間后面要留有緩沖時間以應付意外情況和時間估計的不準確。只有計劃的時間單位的細化才能保證任務的完成在完全的掌握中。
在時間計劃中有界面凍結時間、文檔凍結時間、代碼凍結時間,這樣保證了計劃的相互關聯的部分不會影響計劃的完成。
開發部門和測試部門是相互獨立的部門,幾乎每個開發人員對應一個測試人員,兩者的人數是1:1。要求開發人員每天把完成的代碼放到服務器上,每天測試人員進行昨天完成的代碼的測試以及以前代碼的測試,并將發現的問題發到服務器上,反饋給開發人員。有時因為發現的問題太多,管理人員會發現開發的難度,因此會取消部分任務和開發。測試人員和開發人員要完成的工作都有詳細的規范,規定具體要完成的內容。通過專業的測試,保證了軟件的質量。
在開發中,管理人員要追蹤計劃的完成情況,及時發現問題,指導問題的解決,保證計劃完成,根據問題調整計劃。
微軟把每個軟件版本的開發過程分為幾個里程碑,大概每兩三個月一個里程碑,每個里程碑實現部分的特性(軟件功能。在微軟,軟件功能被成為特性。)。最重要最基礎的特性放到前面的里程碑中,不重要的特性放到后面的里程碑中,這樣,如果要保證軟件的按時發布,最后可以刪掉一些不重要的特性保證軟件的按時發布。每個里程碑都要在公司內部和外部進行軟件的發布和各種公共測試,保證了用戶的反饋和這部分功能的最后穩定。這樣,避免了到軟件發布的最后時期才進行各種公共測試的被動。也加大了和用戶交互的機會。
在每個里程碑中,一般都留下三分之一的緩沖時間,來應付各種開發的意外情況,使開發工作可以從容完成,如果到了緩沖時期,為了保證計劃的完成有可能取消一些不必要的功能。緩沖時間在“極端編程”中稱為“時間因子”。
這些方法實現比較復雜,但這是已經有大量工程和公司的實踐。不是理想的空中樓閣。針對具體公司,根據自己的管理條件,可以分批逐步實現;蛘邲]有能力實現,也可以參考先進的項目管理方法,認識到自己管理上的各種問題產生的原因,有一個管理的目標。
文章來源于領測軟件測試網 http://www.kjueaiud.com/