更新時(shí)間:2020年10月08日16時(shí)20分 來(lái)源:傳智播客 瀏覽次數(shù):
敏捷模型是20世紀(jì)90年代興起的一種軟件開(kāi)發(fā)模型。在現(xiàn)代社會(huì),技術(shù)發(fā)展非??燔浖_(kāi)發(fā)也是在快節(jié)奏的環(huán)境中進(jìn)行的。在業(yè)務(wù)快速變換的環(huán)境下,往往無(wú)法在軟件開(kāi)發(fā)之前收集到完整而詳盡的軟件需求。沒(méi)有完整的軟件需求,傳統(tǒng)的軟件開(kāi)發(fā)模型就難以展開(kāi)工作。
為了解決這個(gè)問(wèn)題,人們提出了敏捷開(kāi)發(fā)模型。敏捷模型以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開(kāi)發(fā)。在敏捷模型中,軟件項(xiàng)目在構(gòu)建初期被拆分為多個(gè)相互聯(lián)系而又獨(dú)立運(yùn)行的子項(xiàng)目,然后迭代完成各個(gè)子項(xiàng)目,開(kāi)發(fā)過(guò)程中,各個(gè)子項(xiàng)目都要經(jīng)過(guò)開(kāi)發(fā)測(cè)試。當(dāng)客戶有需求變更時(shí),敏捷模型能夠迅速地對(duì)某個(gè)子項(xiàng)目做出修改以滿足客戶的需求。在這個(gè)過(guò)程中,軟件一直處于可使用狀態(tài)。
除了響應(yīng)需求,敏捷模型還有一個(gè)重要的概念——迭代,就是不斷對(duì)產(chǎn)品進(jìn)行細(xì)微、漸進(jìn)式的改進(jìn),每次改進(jìn)一小部分,如果可行再逐步擴(kuò)大改進(jìn)范圍。在敏捷模型中,軟件開(kāi)發(fā)不再是線性的,開(kāi)發(fā)的同時(shí)也會(huì)進(jìn)行測(cè)試工作,甚至可以提前寫(xiě)好測(cè)試代碼,因此在敏捷模有“開(kāi)發(fā)未動(dòng),測(cè)試先行”的說(shuō)法。
另外,相比于傳統(tǒng)的軟件開(kāi)發(fā)模型,敏捷模型更注重“人”在軟件開(kāi)發(fā)中的作用,項(xiàng)目的各部門(mén)應(yīng)該緊密合作、快速有效地溝通(如面對(duì)面溝通),提出需求的客戶可以全程參與到開(kāi)發(fā)過(guò)程,以適應(yīng)軟件頻繁的需求變更。為此,敏捷模型描述了一套軟件開(kāi)發(fā)的價(jià)值和原則,具體如下所示。
(1)個(gè)體和交互重于過(guò)程和工具。
(2)可用軟件重于完備文檔。
(3)客戶協(xié)作重于合同談判。
(4)響應(yīng)變化重于遵循計(jì)劃。
對(duì)于敏捷模型來(lái)說(shuō),并不是工具、文檔等不重要,而是更注重人與人之間的交流溝通。
敏捷模型可以及時(shí)響應(yīng)客戶需求變更,不斷適應(yīng)新的趨勢(shì),但是在開(kāi)發(fā)靈活的同時(shí)也帶來(lái)了一定程度的混亂。例如,缺乏文檔資料;軟件之前版本的可重現(xiàn)性、可回溯性較低;對(duì)于較大的項(xiàng)目,人員越多,面對(duì)面的有效溝通越困難。因此敏捷模型比較適用于小型項(xiàng)目的開(kāi)發(fā),而不太適用于大型項(xiàng)目。
猜你喜歡:
敏捷模型的兩種開(kāi)發(fā)模式Scrum和Kanban