本站小編為你精心準備了敏捷開發在軟件開發中的運用參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:敏捷開發能夠使項目團隊的工作效率得到極大提升,以最快的速度獲得投資回報,同時還可以產生高質量的工作成果,敏捷開發在實際的軟件開發工作中的應用十分廣泛。本文介紹了敏捷開發在軟件開發中的應用,希望可以為同行業人士提供參考。
關鍵詞:敏捷開發;拆分;并列;敏捷方法
敏捷開發方法,是一種以人為核心,也就是以開發者為核心的進行迭代開發,循序漸進式進行開發的軟件開發方法。這種開發方法采用的是項目拆分的手段,改變了以往軟件開發瀑布式的開發方式,轉變為以人為本的并列式開發方式,這是一種具有高度精干靈活的軟件開發方法,它能將整個軟件開發過程分為若干階段,從而大幅度提升軟件開發效率并且提升軟件開發質量。這種開發方法很大程度上調動了軟件開發團隊的工作激情和工作效率,提高了軟件開發產品的質量和極大降低了軟件開發成本,從而可以讓開發公司在交付高質量的開發成果的同時降低成本,提高軟件開發公司的競爭力,使用這種開發方式是一種一舉多得的方式。
一、敏捷開發在軟件開發中的應用
當軟件行業剛剛誕生之時,由于整個軟件開發過程越來越長,涉及到的開發人員越來越多,而整個開發過程缺乏有效的指導而使得整個開發過程出現了很多不可控、不可預知的不利因素,這就導致了代碼重復率高,最終產品質量差強人意。為了避免這一情況,很多軟件公司都采取了多種措施來約束整個開發過程,而這些約束措施卻又會降低開發效率,拖慢整個開發進程,不可避免的增加了軟件開發的時間與成本,同時由于檢查約束手段的不足,極易形成惡性循環。在此背景之下,一些業內的專家聚集在一起共同思考解決辦法,于是一種更加高效的軟件開發方法就被開發了出來,這就是敏捷開發方法。敏捷開發過程,是一種以人為核心,也就是以開發者為核心的進行迭代開發,循序漸進式進行開發的軟件開發方法。這一方法在構建開發新軟件時會產生十分微小的增量,讓軟件具有比之前更高的靈活性、可維護性以及高可重復性等等“敏捷”屬性,從而提高了軟件開發的效率,并且能夠通過有效的應對手段來應對開發過程中用戶多變的需求。為了達到敏捷的要求,我們必須要使用一些實踐中總結出來的規則,在使用這些設計規則時一定要保證軟件的高度靈活以及后期的可維護性,同時還需要適當引入一些在特定環境之下公認有效的可以權衡這些規則的設計模式。不管規則如何總結,如何改變,踐行這些規則的永遠是人,每一個開發者與其他開發者的交互是十分多元復雜的,交互的效果很難預料,但是這種交互過程卻是整個軟件開發工作中最為關鍵的步驟。以往的軟件開發過程過度強調了軟件開發過程以及軟件開發技術,而忽略了軟件開發者的作用,這應當得到全部軟件開發人員的重視。
敏捷開發具有很多的特征,這些特征是區別于普通軟件開發方法的關鍵所在。這些特征包括以下內容。第一,軟件開發的終極目的就是要以最快的速度、最高的效率、最高的質量持續向用戶交付高質量的軟件,時間要盡可能短,并且在企業的生命周期內要不斷尋找減少軟件開發周期的方法。第二,保持軟件開發過程中的高度靈活性,就算是在軟件開發的后期,也要具有可以根據用戶需求隨時做出改變的能力,要敏捷應對用戶需求變化的趨勢。第三,在整個開發過程中,軟件開發人員應當聚集到一起工作,面對面進行交流,管理人員應當創造優越的工作環境,對開發人員的開發工作提供最強有力的支持,并且要創設合理的激勵機制,要將工作進度這一最重要的考核標準與其他標準結合起來綜合評判員工的表現,同時積極將敏捷開發過程應用在軟件開發的全過程中,要對優秀員工的表現和創新性的想法和技術進行表彰,不斷提升軟件開發設計水平。第四,盡量減少開發人員工作強度和工作時間,簡單就是最大的節省,同時要重視軟件開發團隊的作用,因為最好的架構,最好的技術,最好的設計都是出自與優秀的軟件開發團隊。在下文將介紹敏捷開發在具體情境中的應用。
1.敏捷開發方法在企業架構開發中的重要作用
敏捷開發是否與企業架構兼容,這是很多人都關注的問題?,F在看來,二者是兼容的,但是這種兼容卻需要后期的開發人員的努力。敏捷開發要想在企業架構開發中獲得有效的應用,要求相關人員必須要采用特殊的方法和特殊的技巧,才能夠讓敏捷開發和企業架構開發相得益彰。敏捷開發的目標就是開發出能夠最大程度對接企業業務,最大程度提升企業工作效率的軟件,并且能夠讓企業的業務產生良好的轉變。但是,企業架構開發和敏捷開發采用的方法不同,應該要進行統一。對于某一個具體的軟件開發工作,如果只是用了某一種方法而沒有使用另外一種方法從而導致了失敗,這個過程會最大程度上使得開發者擁有這兩種方法的使用經驗。舉例來講,一款優秀的文檔處理軟件,可以在企業架構層面獲得良好的應用,但是卻并不符合敏捷開發要求的便利性、擴展性、和多任務需求的功能。一個直瀑式的軟件開發項目會很好的滿足企業架構開發的要求,但是卻并不一定能夠向客戶展示它的最大價值,同時也不能通過高效的迭代來解決軟件風險問題。更加有意義的解決方案就是在軟件開發項目啟動時就兼顧企業架構和敏捷開發的要求。這種方法實施起來困難很多,因為組織性的問題,以及在整個開發過程如何協調的問題。比較好的解決辦法就是敏捷開發團隊當做整個架構開發的一部分,每一個團隊成員都與企業架構開發成員遼西合作。兩個團隊沒有必要相互忍讓,兩個團隊的目標相同,他們的缺省操作模式并不與目標對立。這些實踐對于企業進行軟件開發有著很多的好處。
2.敏捷開發具體實現途徑
根據行業的優秀經驗,一個軟件開發團隊要想很好的實現敏捷開發模式,團隊管理者或者全體成員應當采取合適的模式,在必要的時候可以進行實驗然后推廣合適的開發模式。在一個敏捷開發模式剛剛誕生的時候,應當選擇對這種模式做個別試點還是直接進行全面推廣考驗著管理者的智慧。個別試點就是要求在個別的開發團隊進行敏捷開發的嘗試,然后推廣到整個團隊中。這種方法具有以下幾個優勢,第一,可以最小化各種失誤產生的不利影響,同時可以將初期的成功經驗最大化以及最快速應用到后期的軟件開發實踐中,同時還可以快速培養一批具有相當經驗和實力的專業人才,幫助后期推廣。但是應該可以看到這種方式也有不足之處。首先這種方法有可能會產生初期隨機性的成功,這種成功一旦被復制有可能會因為概率問題而在企業內部產生不利的影響,一旦后期失敗多,就會產生對公司管理層的質疑,影響公司團結。但是,全面推進也是有著其優缺點。全面推進的最大優點就是全面,可以讓所有團隊共同轉型,讓組織跟加靈活,增加是錯,避免隨機性的成功和失誤產生。同時也應當看到,全面推進的缺點就是風險高、開銷大,機構可能會面臨大規模改變,會受到來自各級組織的阻力。
3.敏捷開發路線選擇
敏捷開發路線,主要有兩種,既技術優先還是迭代優先。技術優先,就是要求開發者在使用敏捷開發時首先關注各種技術實踐,先改變技術然后提升開發水平。這種方式給開發團隊帶來的好處技術轉型過程十分順暢平滑,但是這種方式一般難以做到,同時會導致整個開發團隊成本飆升。同時也有可能讓團隊背離之前良好的傳統和習慣,讓開發者不再以用戶為中心,失去了敏捷開發的真正意義。迭代優先要求團隊按照迭代的方式進行工作,一旦開發目標受阻,才會進行技術實踐改變。這種方法的優勢在于實現比較容易,團隊成員容易形成凝聚力。但是這種方式也有風險,那就是團隊很難主動對改善敏捷開發而做出努力。
二、敏捷開發在軟件開發中產生的問題
在軟件開發過程中,尤其是在敏捷開發過程中,軟件開發者的影響要遠遠大于其他因素。這也就是說,軟件開發者的缺陷與問題是導致敏捷開發過程出現問題的最主要原因。人無完人,每個人會有各種各樣的缺點和問題。軟件開發者的容易在軟件開發過程中犯各種各樣的錯誤,可能是態度問題,可能是認識問題,也有可能是技術問題。很多的軟件開發人員在工作了一段時間之后,就會變得過于謹小慎微,不愿意冒險,不愿意犯錯,怕這些過錯會影響自己的業績,這就會導致后期員工創新后勁和沖勁不足。隨著工作時間的延長,員工會產生一個舒適區,而不愿意突破這個舒適區創造新的方式,傾向于重復是用自己已經熟稔的方式方法,同時也很難堅持一個良好的習慣。在軟件開發團隊中,交流是最重要的,面對面交流是最有效的交流方式,這也是很多軟件開發團隊的欠缺的地方??偨Y為了獲得更大的效益,減少軟件開發成本和時間,讓客戶滿意,提升開發企業的競爭力,開發企業和開發團隊應當重視敏捷開發在軟件開發中的重要作用。
參考文獻:
[1]彭志楠.敏捷開發在軟件開發中的應用研究[D].電子科技大學,2009.
[2]姚開鵬.敏捷開發過程在企業應用中的研究與實踐[D].武漢理工大學,2005.
[3]于士文.敏捷軟件開發方法在軟件維護中的應用研究[D].湖南大學,2006.
[4]邱強.敏捷開發在軟件開發中的應用[J].科技資訊,2009,22:1.
[5]張林,劉德永.敏捷開發在軟件產品項目中的應用實踐[J].硅谷,2011,07:122+113.
作者:龍高貴 單位:黔南民族師范學院