天天看點

一次疊代式開發的研究:什麼是疊代式開發

我們的軟體開發存在巨大的風險,但問題到底出在哪裡呢?這對于問題的解決至關重要。

1. 我們在沒有深刻了解業務需求的情況下就必須完成需求分析;

2. 客戶在沒有弄明白自己的真正需求的情況下就被要求确定軟體的業務需求;

3. 我們在沒有與客戶再次溝通的情況下埋頭苦幹,直到完成開發并傳遞客戶。

既然問題出在這裡,我們就可以制訂我們的解決辦法:

1. 業務需求的分析不再是一蹴而就,而是貫穿軟體開發的始終。一方面,我們在與客戶的持續溝通中加深業務領域的了解,進而加深對業務需求的了解,另一方面,客戶也在加深對軟體的了解,進而完善自己的需求。

2. 軟體開發的過程不再是單反面的埋頭苦幹,而是雙方的良性互動。定期的使用者體驗,可使使用者及時了解項目進度,發現軟體問題,并及時提出來予以糾正,使軟體的開發不斷朝着正确的方向前進。

這就是疊代式開發。它是對以往開發模式的一種革新,但不是對以往開發模式的完全否定與摒棄,而是一種改造。

以往的瀑布式軟體開發模式将整個軟體開發過程分為四個階段:需求分析、設計、開發、測試。與瀑布式軟體開發不同,疊代式軟體開發首先将整個開發過程分為一個又一個的小段,每個小段大概在20個工作日左右,被稱為“疊代(Iteration)”。一個疊代就是一個小的開發過程,如同瀑布式開發一樣被分為四個階段:需求分析、設計、開發、測試。

采用疊代式開發,就是将以往的一個瀑布,變成了數個循環往複的瀑布,使軟體以進化的方式逐漸推進。

最初的疊代,開發的是軟體最基本最主要的功能,經過第一次疊代以後傳遞給客戶。這時候客戶看到的,不再是虛無缥缈的需求描述,而是實實在在的軟體界面。在此基礎上,客戶可能會認可我們的設計,也可能提出一些改進意見。修改這些意見,開始進入第二次疊代。第二次疊代可能是在第一次疊代的基礎上進一步豐富和完善功能,也可能是進一步實作其它第一次疊代還未實作的功能,之後再次傳遞客戶。

如此循環往複,使我們不斷在需求分析、設計、開發、測試,以及傳遞中,推進我們的軟體開發。這樣的開發過程,注定最終傳遞給客戶的是他們滿意的軟體。這就是疊代式軟體開發。

文章來自:http://fangang.iteye.com/blog/1183103

繼續閱讀