到底是什麼敏捷開發

網上有很多文章都在比較軟件研發的瀑布模式、迭代模式和敏捷模式的區別,然而,敏捷其實不是一個技術,一個固化的模式,而是一種思想,一種宣言。敏捷軟件開發關注保持簡潔的代碼,經常性測試以及及時地交付應用的功能模塊。敏捷宣言的創建是爲了替代文檔驅動的繁重的軟件開發流程,例如瀑布式方法。下面是我的理解。

一、概念

敏捷,把一個大項目分爲多個相互聯繫,但也可獨立運行的小項目,並分別完成,在此過程中軟件一直處於可使用狀態。
敏捷是應對快速變化的需求的一種軟件開發能力,以用戶的需求進化爲核心,關注互動溝通,強調最簡方案,能儘量早的將盡量小的可用的功能交付使用,並在整個項目週期中持續改善和增強。敏捷思想可在SDLC 中的各環節體現出來,如下圖是一個敏捷化的IPD模式。
在這裏插入圖片描述
在迭代內每個build的敏捷工作模式如下:
在這裏插入圖片描述

二、敏捷宣言

敏捷宣言,也叫做敏捷軟件開發宣言,包括四種核心價值和十二條原則。
(一)敏捷的四種核心價值:
1.個體和交互勝於流程和工具
2.工作軟件勝於理解文檔
3.客戶協作勝於合同協商
4.響應變化 勝過 遵循計劃

(二)敏捷宣言遵循的十二條原則:

敏捷選擇提出的12條原則已經應用於管理大量的業務以及與IT相關項目中,包括商業智能(BI)。12原則包括:
  1.通過早期和連續型的高價值工作交付滿足“客戶”。
  2.大工作分成可以迅速完成的較小組成部門。
  3.識別最好的工作是從自我組織的團隊中出現的,
  4.爲積極員工提供他們需要的環境和支持,並相信他們可以完成工作。
  5.創建可以改善可持續工作的流程。
  6.維持完整工作的不變的步調。
  7.歡迎改變的需求,即時是在項目後期。
  8.在項目期間每天與項目團隊和業務所有者開會。
  9.在定期修正期,讓團隊反映如何能高效,然後進行相應地行爲調整。
  10.通過完車的工作量計量工作進度。
  11.不斷地追求完善。
  12.利用調整獲得競爭優勢。
  
三、典型的敏捷事件
1.Kanban:相當於板報,上邊按照to do /doing/done劃分成三部分,每個人將寫有自己名字以及任務的便利貼貼在相應的區域,以便小組之間互相瞭解彼此的工作進度,便於上級督查是敏捷的一種落地體現。

2.Pair work:結對編程、結對測試。結對工作體現了合作精神,針對有難度需要彙集各方纔智的工作會事半功倍,避免閉門造車,提高工作效率。

3.Cross action:交叉設計、交叉評審、交叉執行,有助於發現自己發現不了的缺陷。

4.Daily scrum meeting:每日例會。主要總結昨日完成了什麼,遇到什麼問題,怎麼解決的,今日計劃是什麼。

5.SOS meeting:Scrum of Scrums,大規模敏捷模型。當多個scrum team工作在同一個產品上的時候,雖然我們努力想做到全功能的特性團隊,希望能在一個團隊裏做完所有的事情,而不需要依賴其他的團隊,但這明顯只是一個非常理想的狀態;團隊之間不可避免會有依賴,需要協同。Scrum of scrums的做法就是每個scrum團隊選出1-2個代表,團隊的代表聚在一起分享進度和協同解決依賴。如果組織很大,scrum團隊太多,也會出現先按部門的劃分在不同的部門裏做SoS,然後不同部門的代表再聚在一起做“Scrum of Scrum of Scrums”。也就是分層次的SoS。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章