03 四月, 2009 19:17
IT Manager職場求生術 (2) -- 問題追蹤(Bug Tracking)
由 Michael 發表於 [ Management Skill ](616) 閱讀, (0) 引用, (0) 回應 ,
推文( 0 )
不管軟體工程進步如何神速,程式設計永遠會是一個藝術家的工作,程式設計師通常是在寫以前未寫過的程式,因為能夠自動產生(Code Generation)的工作,就不需要人作了,能在網路找到的程式, 就只需要Copy/Paste;也因為如此,臭蟲(Bug)就如影隨形,源源不絕了,因此,如何發現/管控/消滅害蟲,是專案品質重要的指標。
專案通常是在專案末期才會顯露出敗象,因為專案初、中期的產出物大多只是分析/設計文件,使用者過目即忘,得過且過,到了專案收尾時,開始進行測試,甲乙雙方短兵相接,兵戎相向,舉凡系統範圍、功能正確性乃至操作介面,都可以引爆戰火,因此,在專案後期如何控制局面,避免野火燎原,專案經理必須洞燭機先,及時找到火苗,加以撲滅。
在專案過程中,問題處理通常有幾種弊病:
-
問題被忽略或藏匿(通常是專案經理或成員的無知或故意)
-
問題拖很久,沒有專人處理
-
問題處理過了,沒人驗收,最後也不知道處理是否妥善
-
一個問題的處理不善, 引爆更多的問題(Side Effect)
最後問題堆積如山, 把專案溺斃.
所以,如果能夠在系統測試(System Test)或客戶測試(Acceptance Test)階段導入『問題追蹤(Bug Tracking)系統』,除了能有效解決上述問題外,還有很多好處:
1. 有效做好問題追蹤,從錯誤發生(Open)、指派成員處理(Assign)、通知(Notification)、完成修正(Processed)、結案(Closed),甚至重新處理(Reopen),掌握每個臭蟲都能被專人在限期內有效處理、驗收完畢,部分流程也可以達到自動化,減少專案管理的負擔。
2. 當作專案管理的溝通工具,甲乙雙方均以此工具登錄及更新臭蟲處理狀態,透過Web介面,雙方可隨時查詢最新狀況或登錄新的臭蟲。
3. 最重要的是,可以見微知著,透由統計臭蟲數量的增減,專案經理可以了解專案是在控制中(In Control),還是已經失控(out of control)了。
針對最後一點,我認為至少有下列角度可以觀察臭蟲,藉以掌握專案後續應努力的方向:
1. 畫個簡單的長條圖,觀察各個工作小組(Task force)臭蟲數是否愈來愈多,如果是,專案經理就可以花較多的心力盯緊那個工作小組。萬一,每個工作小組都有問題,那就要考慮捲舖蓋走路了,不須老闆開金口了。
2. 再畫個長條圖,觀察上未解決(unsolved)的臭蟲數是否愈來愈多,如果是表示專案在惡化中,是否有系統架構性的問題,造成除錯者頭痛醫頭,腳痛醫腳,愈改愈糟。
3. 最後畫個餅圖,觀察臭蟲及需求變更(Change Request)數目比例,如果需求變更的比例很高,表示甲乙雙方對系統範圍認定有很大的歧見,必須妥善處理,與客戶取得共識,控制系統範疇,避免造成雙方唇槍舌戰,對簿公堂。
所以,導入問題追蹤(Bug Tracking)好處多多,而且,目前Open Source軟體非常多,唾手可得,不像我十年前花了三萬元,還用得不太順手,目前我採用了BugTracker.Net,還蠻好用的,也非常具彈性,其特點可參考http://ifdefined.com/bugtrackernet.html。
安裝也非常簡單,只要幾個步驟:
1. 安裝.net framework 2.0
2. 下載Source code,http://sourceforge.net/project/showfiles.php?group_id=66812
3. 解壓縮至特定目錄(假設為c:\BugTracker),並依.net web project設定方式,建立虛擬目錄(假設為BugTracker)
4. 在SQL Server內建立一新資料庫(假設為BugTrackerDB)
5. 修改source code中web.config檔案的ConnectionString=”server=(local);database=BugTrackerDB;user id=sa;password=;”
其中帳號/密碼應依你的環境設定。
6. 在SQL Server中執行setup.sql,記得先執行use BugTrackerDB
7. 打開瀏覽器,輸入網址http://localhost/bugtracker/default.aspx
8. 預設登入帳號/密碼為admin/admin。
9. 點選『admin』,修改bug的下拉式欄位的內含值,包括categories、priorities、statuses,也可以新增自定欄位。
10. 開始建立專案、存取的使用者及其角色(organizations)。
11. 開放使用者輸入臭蟲。
專案管理工作繁雜,須內外功兼備,日理萬機,既要管理專案成員,還要應付高層(Sponsor)不時關愛的眼神,更要照顧好客戶,溝通協調可能耗掉大部分的青春,如能善用工具,應該可以節省不少口舌,問題追蹤(Bug Tracking)系統應該就是一個典型的例子吧。