軟件測試做為微軟最為關(guān)鍵的流程與組成部分,對微軟的產(chǎn)品有著舉足輕重的作用,在本文中可以參考微軟的項目管理與流程安排。
一.團隊組織
1.微軟團隊模型
團隊人員組成比例:項目經(jīng)理,開發(fā),軟件測試人員比例為5%:31%:64%。產(chǎn)品團隊中,權(quán)威僅僅來自于知識,而不是來自于職位。
Bill Gates:“People are most productive working in small teams with tight budgets, time deadlines, and the freedom to solve their own problems”
通過有效的風險管理,使不確定因素達到最小。
使用小團隊并行工作,達到最多的同步點。
定期編譯與快速測試,使產(chǎn)品的穩(wěn)定性和可用性達到最佳。
2. 各角色的職責
1) Product Management Team讓客戶滿意。
Target:確定產(chǎn)品遠景,獲取并確定用戶需求,開發(fā)并維護商業(yè)安全,滿足用戶需求。
Role: 部門負責人為 Product General Manager,下設(shè)Product Unit Manger,Product Planning,Market and Research,Evangelism與Public Relation的部門負責人;evangelism:說服別人,產(chǎn)品推銷,原意為“戰(zhàn)斗似的熱情”。
Task:進行Group Program Management,清楚地知道用戶的需求,并給出詳細定義,即用專業(yè)術(shù)語描述;確保新產(chǎn)品帶來利潤;控制用戶的期望值;設(shè)計大概的產(chǎn)品特性和進度表;管理市場,推銷及公共關(guān)系。
2) Program Management 在項目約束條件下交付。
Target:制定開發(fā)功能規(guī)范,在團隊內(nèi)溝通與協(xié)商,維持產(chǎn)品進度并報告產(chǎn)品狀態(tài),保證在產(chǎn)品約束條件下按時發(fā)布產(chǎn)品。
Role :project coordination,product architecture,release management。
Task:管理產(chǎn)品細節(jié),如feature的詳細設(shè)計;促進團隊溝通與交流,如plan following up;控制全局,保證項目按時完成,生產(chǎn)過程中的trade off。
3) Software Development Management 按產(chǎn)品規(guī)格交付。
Target:開發(fā)出滿足設(shè)計規(guī)范和用戶要求的產(chǎn)品。
Team Role :軟件架構(gòu)師(Software Architect) 與軟件開發(fā)工程師(Software Development Engineer )。
Task:進行Software Development Management,包括database,system service,user interface。
4) Software Testing 解決所有問題后發(fā)布。
Target:開發(fā)測試策略和計劃,保證解決了所有已知問題后,再發(fā)布產(chǎn)品。
Team Role:測試工具軟件開發(fā)工程師(Software Development Engineer in Test , SDE/T)與軟件測試工程師(STE)。
Task:進行test management,compliance testing,configuration testing,integration testing,stress testing 測試工具的編寫----開始于,Test Case 確定之后,并根據(jù)Test Case來設(shè)計。
通過使用來發(fā)現(xiàn)bug不是真正的測試,只能發(fā)現(xiàn)一般用戶問題,屬于最基本測試范疇;
軟件測試要考慮所有出錯的可能性,錯誤的承受力,運行的性能問題,軟件的兼容性;
一流的軟件測試人員,不僅要找出bug,還要定位引起bug 的代碼行;對設(shè)計缺陷,軟件測試人員應(yīng)提出一個更合理的設(shè)計,并確保此設(shè)計易于開發(fā)人員實現(xiàn)。 Active Bug 指 當前必須修改的defect。
5) User Enducation Team 提高用戶勝任力。
文檔編寫,用戶培訓;保證使用文檔要全部清除地寫出來,提高用戶使用產(chǎn)品的技能,保證大多數(shù)用戶能夠充分利用產(chǎn)品的功能。
6) Logistic management 平滑產(chǎn)品部署。產(chǎn)品實施與維護。
3. 開發(fā)過程特點
1)文檔齊備:每人清楚了解自己需要做的工作;功能規(guī)范由一個3---5人的小組負責完成。
2) 相互閱讀代碼:實現(xiàn)目標為同一個feature,代碼間可能相互依賴,有助于整體提高效率;避免核心代碼由一人完全控制。
3) 代碼注釋:包含詳盡的調(diào)試信息,便于理解與問題解決。
二.項目管理
1. 管理機制
◆ 組織架構(gòu)
產(chǎn)品開發(fā)行政結(jié)構(gòu),一個Product Unit Manger,下設(shè)三個平級的部門經(jīng)理,團隊項目經(jīng)理(Product Unit Manager),軟件開發(fā)經(jīng)理(Development Manager)和測試經(jīng)理(Test Manager);每個部門經(jīng)理管幾個組長,每個組長下再有3到5個具體工作人員,如項目經(jīng)理,軟件開發(fā)人員與測試人員。
產(chǎn)品設(shè)計,產(chǎn)品實現(xiàn)和產(chǎn)品測試,三權(quán)分立,相互配合,相互制約,相互依賴,有助于建立明確責任制,從而保證產(chǎn)品開發(fā)的順利完成。
軟件開發(fā)與測試經(jīng)理/組長,均為專業(yè)技術(shù)人員出身,能夠指導(dǎo)部下工作或代替他們完成任務(wù);這樣人員的行政管理就是領(lǐng)域?qū)<沂焦芾?,保證了開發(fā)從技術(shù)上思考和評判設(shè)計方面的問題。員工也會樂意接受能真正了解他具體工作的人領(lǐng)導(dǎo),并給與充分的尊重,同時也能避免開發(fā)人員虛報所需工作日的情況。
微軟行政級別決定員工工資,股權(quán)等福利待遇,而職務(wù)頭銜與行政級別并不是直接掛鉤的。技術(shù)人員只要能力強,貢獻大,行政級別與工資,福利待遇可能同高層一樣,不需成為經(jīng)理或領(lǐng)導(dǎo)才能獲得較高級別的待遇。這樣他們可安心自己擅長的工作,其能力和貢獻,可經(jīng)不斷的提級來得到認可和回報。
◆項目經(jīng)理配置
隨著軟件產(chǎn)品項目規(guī)模增大,產(chǎn)品質(zhì)量問題,開發(fā)周期問題,內(nèi)部管理等問題越來越突出,必須從根本上加強項目的組織管理,從而微軟產(chǎn)生了項目經(jīng)理這一職位。
項目經(jīng)理全權(quán)負責產(chǎn)品的最終完成,其任務(wù)涉及:了解用戶需求;進行產(chǎn)品的功能定義,規(guī)劃和設(shè)計;做各種復(fù)雜決策,保證開發(fā)隊伍順利開展工作,及跟蹤程序的錯誤等。項目經(jīng)理占開發(fā)總?cè)藬?shù)的1/5,即每個開發(fā)小組中,有一個項目經(jīng)理,兩個軟件工程師,與兩個軟件測試工程師。
◆具體工作描述
1)制定產(chǎn)品遠景計劃,寫出項目規(guī)格說明書;
確定商業(yè)機會后,產(chǎn)品單元經(jīng)理制定出粗略的商業(yè)計劃書,交項目經(jīng)理準備項目計劃草案,包括遠景描述,主要功能,建議的時間表,里程碑及所需的資源。主持由開發(fā)測試骨干參加的會議,對計劃草案進行全面的分析討論,確定主要功能模塊。 對每一模塊編寫一頁紙規(guī)模的設(shè)計說明書,包括功能優(yōu)先級的制定與理由,對資源的估算,時間表的估算,風險評估,同其他功能塊的關(guān)系;目的要評估實現(xiàn)這個功能塊的成本,目標與條件。召集產(chǎn)品單元經(jīng)理,各部門經(jīng)理參加的設(shè)計說明書評審會,匯總所有功能塊說明書,對進度,功能塊的取舍做總結(jié)和決定。
2) 制定工作詳細任務(wù)表,跟蹤任務(wù)的執(zhí)行情況,保證其符合規(guī)格說明書的原始設(shè)計。
3) 指導(dǎo)項目開發(fā)的過程設(shè)計與實現(xiàn);對各種具體方案進行取舍并做出決定。
4) 組織會議,評審程序錯誤;協(xié)調(diào)成員之間交互配合。
5) 產(chǎn)品完成后,主持項目總結(jié)報告會,討論此次的經(jīng)驗與教訓;下一版本的改進,及具體的行動計劃。
◆項目經(jīng)理要求
項目經(jīng)理通過產(chǎn)品單元經(jīng)理,對軟件設(shè)計工程師和測試工程師的資源和任務(wù)分配進行調(diào)整,但不會直接下達行政命令;其核心任務(wù)是業(yè)務(wù)領(lǐng)導(dǎo),掌握產(chǎn)品全局觀念和進度,協(xié)調(diào)開發(fā)人員與測試人員的工作進度,及同與產(chǎn)品有關(guān)的其他人員接觸,如市場,用戶支持,客戶教育等。
對團隊的領(lǐng)導(dǎo),主要依靠其個人威信(credit),開發(fā)人員和測試人員的尊重和配合;其威信來自于工作中表現(xiàn)出的領(lǐng)導(dǎo)力,洞察力和判斷力。
聯(lián)系客服