敏捷軟件開發(fā)又稱敏捷開發(fā),一種應(yīng)對快速變化的需求的一種軟件開發(fā)能力,是為了在沒有計劃的軟件開發(fā)和過度計劃的軟件工程上面尋找一個平衡點。它們的具體名稱、理念、過程、術(shù)語都不盡相同,相對于“非敏捷”,更強(qiáng)調(diào)程序員團(tuán)隊與業(yè)務(wù)專家之間的緊密協(xié)作、面對面的溝通(認(rèn)為比書面的文檔更有效)、頻繁交付新的軟件版本、緊湊而自我組織型的團(tuán)隊、能夠很好地適應(yīng)需求變化的代碼編寫和團(tuán)隊組織方法,也更注重軟件開發(fā)中人的作用。
由于敏捷軟件開發(fā)也屬于軟件工程范疇,所以下面將基于大量文檔工程型的軟件工程稱為傳統(tǒng)軟件工程。敏捷軟件開發(fā)只要求盡量少的文檔,而且認(rèn)為最根本的文檔是源代碼。Martin Fowler認(rèn)為敏捷軟件開發(fā)過程和基于傳統(tǒng)軟件工程開發(fā)的本質(zhì)區(qū)別在于以下兩點:
(1)敏捷軟件開發(fā)是基于適應(yīng)的,而傳統(tǒng)軟件工程是基于預(yù)測的。傳統(tǒng)軟件工程試圖對一個軟件項目在很長的時間跨度內(nèi)做出詳細(xì)的計劃,然后依計劃進(jìn)行開發(fā)。這種方式的前提是需求確定下來后就不再修改了,所以,傳統(tǒng)軟件工程本質(zhì)上是抵制變化的。而敏捷開發(fā)方法則是主動去適應(yīng)變化。
(2)敏捷軟件開發(fā)方法以人為導(dǎo)向,而傳統(tǒng)軟件工程方法則以過程為導(dǎo)向。傳統(tǒng)軟件工程的目標(biāo)是定義一個過程,不論誰來執(zhí)行這個過程都能完成任務(wù);而敏捷軟件開發(fā)方法則認(rèn)為沒有任何過程能替代開發(fā)團(tuán)隊的技能,軟件過程的作用是對開發(fā)團(tuán)隊提供支持。
敏捷軟件開發(fā)是一種軟件開發(fā)的理念,它包含很多實際的方法,如極限編程(XP),Scram和精悍開發(fā)(LeanDevelopment) 等,在教學(xué)實踐上,需要選定一種開發(fā)方法指導(dǎo)學(xué)生進(jìn)行實際開發(fā),以加深對敏捷軟件開發(fā)的理解。由于在以上方法中,極限編程最為流行,所以本文選用極限編程 作為教學(xué)的軟件開發(fā)方法。
Copyright? 2012-2013 TATAIT.COM All Rights Reserved 深圳塔塔咨詢服務(wù)有限公司 版權(quán)所有 深圳網(wǎng)站建設(shè):沙漠風(fēng)
塔塔IT—高端IT培訓(xùn)領(lǐng)導(dǎo)品牌,專注于IT前沿技術(shù)的傳播與應(yīng)用。專業(yè)創(chuàng)造價值,服務(wù)贏得口碑!