敏捷開發(fā) (Agile Development)
? ? ? ?敏捷開發(fā),是一種應(yīng)對快速變化的用戶需求的一種開發(fā)軟件的管理新模式,其實它是XP、Scrum等數(shù)十種軟件開發(fā)項目管理方法的集合,主要特點是:響應(yīng)變更快、關(guān)注產(chǎn)品價值、注重個人的能力。我們從項目開發(fā)、功能迭代、團(tuán)隊溝通三個方面來學(xué)習(xí)。
? ? ? ?項目開發(fā):在敏捷開發(fā)中,最大的特點就是軟件架構(gòu)的解耦。也就是說:軟件項目在初期被切分成多個相互聯(lián)系,但也可獨立運行的小項目,并分別完成,在整個軟件開發(fā)過程中產(chǎn)品一直處于可使用狀態(tài)。
? ? ? ?功能迭代:強(qiáng)調(diào)較短的開發(fā)周期提交軟件產(chǎn)品,相較于迭代模型更短(2-4周)。
? ? ? ?核心特征:相較于個人(單團(tuán)隊)完成項目的傳統(tǒng)軟件開發(fā)模式(以文檔方式推動項目前進(jìn)),敏捷開發(fā)更強(qiáng)調(diào)團(tuán)隊之間的緊密協(xié)作、團(tuán)隊小而精干,基于面對面的溝通,制定定迭代功能的優(yōu)先級,能夠很好地適應(yīng)需求變化。
24-敏捷開發(fā).png
優(yōu)勢:
? ? ? ?產(chǎn)品團(tuán)隊、研發(fā)團(tuán)隊、測試團(tuán)隊之間更注重緊密協(xié)作,
? ? ? ?團(tuán)隊小而精干,面對面(口頭、源代碼)交流,來深入理解產(chǎn)品的結(jié)構(gòu)和功能。
? ? ? ?開發(fā)內(nèi)嵌測試,質(zhì)量前置,等等劣勢:
? ? ? ?團(tuán)隊的組建較難,人員不多,但綜合技術(shù)能力要求較高。場景:
? ? ? ?項目復(fù)雜、交付周期短,功能迭代快的項目
