敏捷式軟體開發 (Agile Software Development)在很多年前就被提了出來,這是一種主張快速交付,持續傳遞的軟體開發方式,它再一次將軟體開發的主體參與者--人推向了非常重要的位置。強調人的敏捷參與比沉重的軟體過程更加重要。
這些敏捷行為表現在以下方面:
1. 我們最優先要做的是通過儘早、持續地交付有價值的軟體來使客戶滿意。
2. 在項目的整個開發期間,業務人員和開發人員必須天天在一起工作。
3. 即使到了開發後期,也歡迎需求變化。
4. 經常性地交付可以工作的軟體。
5. 可以工作的軟體是主要的進度度量標準。
6. 圍繞被激勵起的個體來構建項目。為他們提供所需的環境和支援,並信任他們能勝任工作。
7. 最好的架構、需求和設計來自於自組織的團隊。
8. 在團隊內部,最有效果和最有效率的傳遞資訊的方法是面對面地交流。
9. 敏捷過程提倡可持續的開發速度。
10. 不斷地關注最優秀的技術和良好的設計能增強敏捷能力。
11. 簡單是根本的。
12. Team Dev每隔一定時間,都會對如何能有效地工作進行反省,然後相應地對自己的行為進行調整。
通過以上可以看出,通過高效地敏捷協作,我們可以以最精簡的方式,以最少的工作量,以最直觀的工作產品給客戶持續互動。
基於以上這些特點,我希望能在我的團隊中成功實踐敏捷思想。
由於公司目前是通過了CMMI 3,同時在往4級前進,所以在CMMI方面需要遵循的過程規範比較多。實際這也是項目組感到很有負擔的地方。所以希望能在CMMI的這個大架構下能盡量使團隊敏捷。
雖然CMMI定義了龐大的過程,但是它是可以根據具體的項目進行裁剪的,所以裁減將是我們在CMMI架構下實踐敏捷開發過程的避免衝突的好工具。
其實我們已經開始了部分敏捷開發的實踐。
1,我們的客戶雖然在美國,但是他幾乎是隨時和我們在一起的。我們每天需要溝通的資訊基本都能完全溝通到位。
2,我們的團隊對技術的熱情都是比較高的,這有助於增強我們的敏捷能力。
3,我們部分同事會使用Nunit 來驗證自己的代碼,雖然未強制使用,但是也算是實踐的開端
雖然很少,但是至少為後期的全面敏捷做好了鋪墊。