敏捷開發—大型專案團隊的持續快速交付之道
大型軟體的團隊有效協作對專案成功起到越來越關鍵的作用,“敏捷之旅廣州站——精進之旅”的活動,請來了業界敏捷專案管理的專家做了幾場公益性的講座,涉及敏捷開發應用和網際網路專案管理的一些實用的方法,本文結合個人體會做個總結。
敏捷開發實際上是一種增量迭代開發模式,對於直接面向市場最前端使用者、前期需求不太明確專案比較合適。通俗點說是小步快跑,邊跑邊看使用者反應,然後根據情況適當調整專案計劃,也可以說是一輪又一輪的PDCA迴圈。
類似360安全衛士、QQ電腦管家這種大而全的軟體,幕後都是數百人的團隊相互協作來實現持續更新發布,具體支撐快速釋出版本的方法有下面四點。
一、統一階段目標
就是在一個週期內確定需要做什麼功能,要實現什麼目標,整個團隊奔著統一的目標去行動,中間不要插入新功能干擾進度。確定階段目標後,團隊上車開始剛活,目標完成,團隊下車準備進入下一輪功能迭代。
二、解耦
學計算機的人對這個詞應該比較瞭解,通俗點講就是保持獨立性,解耦具體分三個方面:
1、技術解耦
即從下至上:底層核心架構、應用程式、UI有清晰的分層,這樣做功能擴充套件開發會比較方便;
2、業務解耦
即業務功能模組的獨立性,大的功能需要儘量拆分成獨立的特性模組,便於劃分開發任務 ;
3、團隊解耦
將大的團隊劃分成獨立的團隊(5-8人為佳),每個團隊負責獨立的特性模組開發,團隊包括產品需求分析、專案管理、開發人員、UI,所謂麻雀雖小,五臟俱全。
三、配置管理體系
一個大的專案被劃分為不同的特性功能模組後,每個特性功能可以認為是這個大專案的一個配置項。
配置管理體系的主要特點:
每輪迭代週期中,開發並測試OK的特性功能模組可以先發布,不用等待這個週期內尚未開發好的功能;
雲端控制,即釋出出去的功能如有問題,能通過雲端控制回滾;
四、自動化體系支撐
即自動化構建系統、自動化測試、自動環境部署、自動監控等輔助支撐快速釋出的東西。
END
個人微訊號:gdengjun
新增時請註明:[城市] [行業]等資訊
作者:鄧俊
座標廣州 專案管理和職場分享