以測試為核心的軟件開發過程
1、引言
TC(測試控制方法)是指以測試為核心控制軟件項目開發過程的方法,它包括完整的規范TC 系統及其相關管理理論TC 理論。主要完成軟件開發中開發流程的管控、軟件測試、開發績效評價、持續改進管控質量等功能。
● 我們先來看一看軟件項目開發中經常遇到的問題。
● 各模塊一拖再拖,整個項目無休止延期,開發進度無法得到控制;
● 改正了舊問題,又冒出更多新問題,問題層出不窮;
● 模塊難度、工期質量考核無法量化,更無法與個人收入掛鉤;
● 技術攻關、需求、分析與設計階段任務難以進行驗收;
● 項目負責人需要時刻關注各開發人員的開發過程,沒有時間進行項目整體規劃;
● 項目負責人經常感到失控,開發人員開發出的結果往往與預期效果差異很大;
● 項目負責人在模塊嚴重拖期時,不知是應該換人重做,還是再讓其開發幾天;
● 項目經理對各開發團隊的開發能力沒有客觀的認識;
● 項目經理對各項目的進度情況不能有效把握,經常被告之以“馬上就完了”這樣含糊的承諾;
● 項目經理對自主開發的產品沒有量化的質量評價;
● 所有這些問題都在TC 系統中迎刃而解。
2、TC 系統依賴全新的管理思路
● 做出好軟件
好的軟件是做出來的,不是改出來的。軟件必須依靠具有一定水平的開發人員集中精力開發,不可能靠反復的修改來完成。軟件修改次數越多,出錯的可能性就越大。
● 測試的任務
測試的主要任務是控制開發人員隨意提交低質量的程序。例如:我們在測試中有個定義叫返回,意思是,當開發人員提交了問題過多的程序后,測試人員可以不用告知程序中的問題,直接返回程序要求開發人員重新修改。這樣既控制了被提交程序的質量,也使測試人員把工作重點從尋找簡單的低級錯誤,轉移到尋找程序中復雜的邏輯錯誤。堅決反對“測試人員是幫助程序人員發現問題的”說法,而強調測試人員是站在一個更高的管理控制層面上。
● 績效考核
項目開發中的工期與質量采用分值進行量化績效考核,不單注重質量或進度,將二者統一起來。績效是指某人在完成一個工單時,質量和工期的綜合評價。一個理 想程序員完成工單的績效為1,比理想程序員完成效果好績效大于1,完成效果差績效小于1,一般程序員的績效在0.7 左右。
采用量化績效可以對項目人員績效進行考核排隊,并與個人收入掛鉤。采用量化績效還能將從事不同類型工作的項目人員進行排隊,如:對開發人員和售后服務人員績效進行排隊。
● 弱化人際關系
項目管控過程中對事不對人,由軟件系統確定處理流程,郵件方式傳遞信息,避免人情關、面子關,減少在人為交流中的沖突與不確定性。
● 全面管控
借鑒ISO9000 質量管理體系的思想,遵循“怎么想就怎么寫,怎么寫就怎么做,怎么做就怎么記”。所有工作做到統一安排、有據可依、有史可查。
3、實現流程
TC 可以在整個項目的開發過程中進行管控。需求分析,技術攻關,分析與設計,構造實現,測試部署階段,甚至在售后服務階段都可以使用TC 系統進行控制。
所有工作都以工單的形式派發并跟蹤驗收。各工單按以下流程進行控制:
圖一
開發團隊接到新項目,明確工作內容后,就可以使用TC 系統控制整個項目直至結束。制訂工作計劃;派發各階段的工單,驗收工單,封版;如此循環,直至所有工單都封版,表明項目開發完成。
1、引言
TC(測試控制方法)是指以測試為核心控制軟件項目開發過程的方法,它包括完整的規范TC 系統及其相關管理理論TC 理論。主要完成軟件開發中開發流程的管控、軟件測試、開發績效評價、持續改進管控質量等功能。
● 我們先來看一看軟件項目開發中經常遇到的問題。
● 各模塊一拖再拖,整個項目無休止延期,開發進度無法得到控制;
● 改正了舊問題,又冒出更多新問題,問題層出不窮;
● 模塊難度、工期質量考核無法量化,更無法與個人收入掛鉤;
● 技術攻關、需求、分析與設計階段任務難以進行驗收;
● 項目負責人需要時刻關注各開發人員的開發過程,沒有時間進行項目整體規劃;
● 項目負責人經常感到失控,開發人員開發出的結果往往與預期效果差異很大;
● 項目負責人在模塊嚴重拖期時,不知是應該換人重做,還是再讓其開發幾天;
● 項目經理對各開發團隊的開發能力沒有客觀的認識;
● 項目經理對各項目的進度情況不能有效把握,經常被告之以“馬上就完了”這樣含糊的承諾;
● 項目經理對自主開發的產品沒有量化的質量評價;
● 所有這些問題都在TC 系統中迎刃而解。
2、TC 系統依賴全新的管理思路
● 做出好軟件
好的軟件是做出來的,不是改出來的。軟件必須依靠具有一定水平的開發人員集中精力開發,不可能靠反復的修改來完成。軟件修改次數越多,出錯的可能性就越大。
● 測試的任務
測試的主要任務是控制開發人員隨意提交低質量的程序。例如:我們在測試中有個定義叫返回,意思是,當開發人員提交了問題過多的程序后,測試人員可以不用告知程序中的問題,直接返回程序要求開發人員重新修改。這樣既控制了被提交程序的質量,也使測試人員把工作重點從尋找簡單的低級錯誤,轉移到尋找程序中復雜的邏輯錯誤。堅決反對“測試人員是幫助程序人員發現問題的”說法,而強調測試人員是站在一個更高的管理控制層面上。
● 績效考核
項目開發中的工期與質量采用分值進行量化績效考核,不單注重質量或進度,將二者統一起來。績效是指某人在完成一個工單時,質量和工期的綜合評價。一個理 想程序員完成工單的績效為1,比理想程序員完成效果好績效大于1,完成效果差績效小于1,一般程序員的績效在0.7 左右。
采用量化績效可以對項目人員績效進行考核排隊,并與個人收入掛鉤。采用量化績效還能將從事不同類型工作的項目人員進行排隊,如:對開發人員和售后服務人員績效進行排隊。
● 弱化人際關系
項目管控過程中對事不對人,由軟件系統確定處理流程,郵件方式傳遞信息,避免人情關、面子關,減少在人為交流中的沖突與不確定性。
● 全面管控
借鑒ISO9000 質量管理體系的思想,遵循“怎么想就怎么寫,怎么寫就怎么做,怎么做就怎么記”。所有工作做到統一安排、有據可依、有史可查。
3、實現流程
TC 可以在整個項目的開發過程中進行管控。需求分析,技術攻關,分析與設計,構造實現,測試部署階段,甚至在售后服務階段都可以使用TC 系統進行控制。
所有工作都以工單的形式派發并跟蹤驗收。各工單按以下流程進行控制:
圖一
開發團隊接到新項目,明確工作內容后,就可以使用TC 系統控制整個項目直至結束。制訂工作計劃;派發各階段的工單,驗收工單,封版;如此循環,直至所有工單都封版,表明項目開發完成。
圖六
該曲線Y 軸為工單數目,X 軸為工單績效。整個曲線描述用戶培訓管理系統在開發中各級績效出現次數對比,其中績效為0.2 以下和1.2 以上的很少,績效為0.7 的工單最多,因此可以說明用戶培訓管理系統的開發績效在0.7 左右浮動,平均開發績效接近0.7。
● 公司績效正態分布曲線
圖七
該曲線描述整個公司在項目開發中各級績效出現次數對比,其中績效為0.2 以下和1.2 以上的很少,績效為0.7 的工單最多,因此可以說明公司的開發績效在0.7 左右浮動,平均開發績效接近0.7。
若單從平均值來看,圖六和圖七表現的開發能力是相當的,其實不盡然,圖七的正態分布趨勢要比圖六更向0.7 緊縮,從圖上看圖七要瘦于圖六,說明圖七的開發能力更趨于穩定,而圖六的開發能力更難以預料。因此由以上分析得知用戶培訓管理系統開發團隊的平均質量與公 司整體開發質量相當,但遠不如公司整體開發能力穩定。
5、適用對象
TC 適合大多數軟件開發團隊。由于她的特點是以測試為核心控制軟件開發過程,因此她更適合于軟件測試人員配備不是非常充裕的團隊,由有限的軟件測試人員就可以擔當起測試與控制的任務。
對于開發一般企業級應用軟件的開發團隊來說,軟件開發中一般低級錯誤是最多的,通過TC 系統能使一般低級錯誤得到控制,測試人員集中精力于業務邏輯關系測試。一般企業級應用軟件的開發團隊選擇TC 系統將會比選擇任何一家測試或項目管理軟件更實用。
對于開發控制系統或算法集中的平臺類軟件的開發團隊來說,雖然一般的低級錯誤可能較少,但TC 系統能將任務分配、任務的追蹤、工期質量統計、測試記錄的整理與歸納等工作自動完成,自然可以大大減少測試人員的事務性工作,幫助測試人員關注核心的算法與邏輯關系測試。
6、結束語
TC 能有效對軟件項目進行控制, 記錄各階段工作詳細內容,并能夠對原始數據進行挖掘整理,為各類項目人員提供全面多方位的信息表現形式,協助公司和個人客觀認識自身的開發能力,尋找影響開發能力的主要因素,為持續改進提供幫助。
posted on 2012-04-26 09:32 順其自然EVO 閱讀(206) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄 、管理方向