不可否認,在現實的軟體開發項目中,的確存在類似所示的情況。
其實這些問題都是可以避免的。本文就來探討一下有關軟體過程管理的最佳實務。
1. 定義團隊成員的角色和任務
要想提高工作效率,團隊成員的角色應明確界定。這些角色可以是專案經理、團隊領導、開發人員、測試者等。此外,這些角色的授權和責任應該很清楚地定義。基於任務分配的開發方式應該可以避免工作冗餘和局面混亂。
2. 確定會議類型
如果會議談論的是軟體過程管理,那麼該會議就是非常重要的,同時應該先確定一下會議的準則(如與會人員、內容、期間等),團隊成員應該遵守會議規則。這種會議將更有成效,且避免造成不必要的時間浪費。
3. 定義文檔策略
每一個軟體過程要有一個文檔策略,無論是敏捷開發,還是極限開發,可以記錄待辦工作、經驗教訓、bug資訊等。同時,應明確界定這些文件類型,如文檔的物理屬性、標準章節、文檔更新周期、版本編號等,這樣可以確保連貫的、可理解的、更有效開發。
4. 定義軟體品質指標並進行測量
有很多軟體品質指標,如程式碼、循環複雜度等,可以根據軟體類型,來決定使用哪種測量指標。Team Dev可以定期討論和評估這些指標,這將有效提升產品的品質。
5. 問題/需求跟蹤
需求管理或問題跟蹤是軟體開發中的關鍵點之一,它們決定了軟體的範圍,還支援可追溯的功能測試。可以選擇一些實用的工具來做這項工作。
6. 版本控制
版本控制也相當關鍵。這應該包括代碼和其他檔案的版本控制,這允許Team Dev協同工作、並可以回溯到之前的代碼版本。版本原則(如版本編號、版本周期等)也應明確確定,以達到一致性。
7. 測試
測試是軟體開發的主要階段之一。任何類型的軟體項目都應該進行單元測試,除了一些使用者介面代碼。其他一些測試類型(如系統測試、使用者測試、整合測試等)也應該定義清楚、一致。這將提高產品的品質,並減少錯誤。
8. 依賴管理
由於軟體項目的增長,可能會包含很多外部庫(jar、dll等)或項目(外部項目或公司內部項目)。如果這些資訊不準確,會對以後的版本維護帶來混亂和時間消耗。可以制定依賴關係管理原則,並使用工具來提高生產力。
9. 經常進行代碼審查
代碼審查是高品質代碼的關鍵。首先,它會強制開發人員產生更好的代碼,此外,還可以使初級開發人員從進階開發人員那裡學習到更好的編碼方法。開發人員可以通過結對程式設計的方式來進行。
10. 記錄項目中的經驗教訓
即使是經驗豐富的成員,在項目中也有可能出現不可預見的事件,這會阻礙或延緩開發進度。這些事件可能是複雜的項目配置、錯誤資訊、項目疑痛點等,可以將它們優先總結成“經驗教訓”,並共用,這將有效避免發生同類事件時的時間浪費,使軟體開發更高效。