1. 程式人生 > >你真的知道敏捷和叠代嗎?

你真的知道敏捷和叠代嗎?

模型 原則 class 代碼管理 客戶 nsh 代碼 blank 進行

在這敏捷開發橫行的時代中,人人都在談敏捷,人人都在談叠代,似乎大家好像都嘗到了敏捷帶來的甜頭,記得有一次跟朋友吃飯,說他們現在的項目用敏捷開發,每個叠代都能看到不斷完善的產品,非常有成就感,客戶的滿意度也提升了不少;另一個朋友說,我們用叠代開發,也是這樣,而且客戶想加什麽需求就加什麽,直接按照優先級排到叠代周期就行,也不用為改需求而煩躁。當時我就想,敏捷開發不就是分叠代周期的嗎,他倆好像說的是一回事吧。回去過了好長一段時間,突然想起這件事了,在網上一查,還真不是一回事…

技術分享

叠代開發流程:

什麽叫叠代開發?在叠代開發中,整個開發工作被組織為一系列的短小的、固定長度(如3周)的小項目,被稱為一系列的叠代,這叫叠代開發。每一次叠代都包括了定義、需求分析、設計、實現與測試。而敏捷開發是以用戶的需求進化為核心,采用叠代、循序漸進的方法進行軟件開發。前者是軟件開發的生命周期模型,是一種開發過程;後者是多種軟件開發項目管理方法的集合,是一種開發方法。這是兩者最根本的區別。與叠代開發對應是瀑布模型,螺旋模型等,而與敏捷開發對應的是Scrum,XP(極限編程),Crystal(水晶編程)等開發方法,所以它倆根本就不是一回事!那麽它們倆有沒有關系呢?答案是:有…

敏捷-Scrum開發流程:

技術分享

敏捷開發的定義就已經說明,采用叠代的方法進行軟件開發。那麽有人會問,敏捷開發為什麽要采用叠代開發呢?不要忘了敏捷開發的核心原則是擁抱變化,和遞增的變化。叠代式開發正適合在那些需求信息不明確的項目,這樣在開發過程中遇到需求的變化時,所帶來的影響要比其他模型小。而現在的很多項目中,需求在項目進行中變化的事兒經常見,所以顯得叠代式開發的優勢更明顯一些,這正符合敏捷開發的擁抱變化。而且叠代開發是不要求每一個階段的任務做的都是最完美的,明明知道還有很多不足的地方,卻偏偏不去完善它,而是把主要功能先搭建起來,以最短的時間,最少的損失先完成一個“不完美的成果物”直至提交,然後再通過客戶或用戶的反饋信息,在這個“不完美的成果物”上逐步進行完善,這正符合敏捷開發的遞增變化。當然,敏捷開發只是一個總體概念,而叠代式開發只是幾乎所有敏捷開發所采用的一個主要的基礎實踐。敏捷開發除叠代式開發外,還包含了其他許多管理與工程技術實踐,如演進式架構設計、敏捷建模、重構、自動回歸測試(ART)等等。總而言之,就是敏捷開發與叠代開發是整體與局部的關系,前者就像大家庭,而後者是大家庭中的一員。

敏捷發展歷史

技術分享

敏捷和叠代雖然不一樣,但是它們也是分不開的,叠代和敏捷開發方式的結合,既保證了產品的質量又在項目產品的持續改進中具有一定的優勢。吸取精華,破其糟粕,只有這樣,項目才會達到趨於完美的程度。現在市面上也恰好有一款這樣的項目管理工具-華為軟件開發雲,它就很好的把敏捷和叠代完美的融合到一起了,並且還配備代碼管理,代碼檢查,編譯構建,部署和發布等一站式的流水線開發流程,大大提高了我們管理和開發人員的工作效率,這也是我們所有IT人,做任何項目都想達到的目標。

你真的知道敏捷和叠代嗎?