敏捷開發是一系列價值觀和方法論的集合。在敏捷的大旗下,我們可以看到好幾種軟件開發的方法論,我們在這里主要分析Scrum這個方法論。
從Scrum方法論中分析,敏捷開發一共分四步:
第一步:找出完成產品需要做的事情——Product Backlog
Backlog翻譯成“積極的工作”,“待解決的問題”,“產品訂單”。產品負責人主導大家對于這個Backlog進行增刪改的工作。每一項工作的時間估計為天。
第二步:決定當前的沖刺需要解決的事情——Sprint Backlog
將整個產品化為幾個互相聯系的沖刺。產品訂單以小時為單位,團隊的成員根據自己的情況來認領。
第三步:沖刺——Sprint
每天開一個每日例會,團隊成員大多站著開會。所以又稱每日例會。大家依次報告:
我昨天做了什么
我今天要做什么
我碰到了哪些問題
每日例會強迫每個人向同伴報告進度,迫使大家把問題放在明面上。同時啟動每日構建,使大家每日都能看到一個逐漸完善的版本。
第四步:得到軟件的一個增量版本,發布給用戶。然后在此基礎上又進一步的計劃增量的新功能和改進。
敏捷開發的原則:
1.盡早并持續地交付有價值的軟件以滿足客戶的需求。
2.敏捷流程歡迎需求的變化,并利用這個變化來提高用戶的競爭優勢。
3.經常發布可用的軟件,發布間隔可以從幾周到幾個月,能短則短。
4.業務人員和開發人員在項目開發過程中應該每天共同工作。
5.以有進取心的人為項目核心,充分支持信任他們。
6.無論團隊內外,面對面的交流始終是最有效的溝通方式。
7.可用的軟件是衡量項目進展的重要指標。
8.敏捷開發流程應能保持可持續的發展。領導、團隊和用戶應該能按照目前的步驟持續的合作下去。
9.只有不斷關注技術和設計,才能越來越敏捷。
10.保持簡明——盡可能的簡化工作量的技藝極為重要。
11.只有能自我管理的團隊才能創造優秀的架構、需求和設計。
12.時時總結如何提高團隊效率,并付諸行動。
敏捷開發只是一系列價值觀和方法論的集合,他有自己的優點,但不是萬能的敏捷開發也有其使用的范圍,還是要根據實際的問題來決定如何開發。