敏捷宣言以及敏捷開發的特色

敏捷宣言

敏捷宣言,也叫作敏捷軟件開發宣言,正式宣佈了對四種核心價值和十二條原則,能夠指導迭代的以人爲中心的軟件開發方法。
 
敏捷宣言強調的敏捷軟件開發的四個核心價值是:
  • 個體和互動高於流程和工具
  • 工做的軟件高於詳盡的文檔
  • 客戶合做高於合同談判
  • 響應變化高於遵循計劃

( 注:敏捷開發的第一條價值觀就是「 以人爲本」,強調「 個體(人)」 及「 個體」 間的溝通與協做在軟件開發過程當中的重要性。這個順序不是偶然而爲之的,敏捷開發將重視個體潛能的激發和團隊的高效協做做爲其所推崇的第一價值觀。架構

敏捷開發的第二條價值觀就是「 目標導向」。同其餘衆多管理理論和模型同樣,敏捷開發認同目標導向是成功的關鍵,由於沒有目標也就無所謂成功。敏捷開發的價值觀中清楚地闡明,軟件開發的目標是「 可工做的軟件」,而不是面面俱到的文檔。而遺憾的是,不少軟件項目已經在紛繁的文檔之中迷失了本身的目標。工具

敏捷開發的第三條價值觀就是「 客戶爲先」。雖然敏捷開發強調的第一價值觀是「 以人爲本」,但敏捷宣言的締造者們並無忘記客戶,相反他們真正的理解客戶的需求、懂得如何與客戶合做。敏捷價值觀裏強調的「 客戶爲先」即不是簡單地把客戶看成「 上帝」、刻板的推崇「 客戶至上」,客戶要求什麼、咱們就作什麼;也不是把客戶看成「 談判桌上的對手」 甚至「 敵人」,去鬥智鬥勇。敏捷價值觀把客戶當成了合做者和夥伴,把本身的使命定位爲「 「 幫助客戶取得競爭優點」。測試

敏捷開發的第四條價值觀就是「 擁抱變化」。人們常說「 世界上惟一不變的就是變化」,大多數人也相信事實確實如此。而以往不少的軟件項目卻忽視了這一點,或者更準確地說是他們不肯意「 正視」。他們老是試圖用詳盡的計劃去預先窮舉這些變化,而後又試圖經過嚴格遵循計劃來控制變化的發生,而結果每每是被不斷涌現的變化擊垮。敏捷開發價值觀中認可變化是軟件開發的一部分、並相信正是客戶在不斷變化其需求的過程當中明晰了其真正的須要。於是敏捷開發歡迎變化、擁抱變化,並可坦然應對變化,正是這些變化爲客戶和項目帶來了價值。優化

最後,還應記住敏捷宣言中的最後一句話:「 儘管右項有其價值,咱們更重視左項的價值」—敏捷宣言並未否認或貶損「 右項」 的價值,在敏捷開發的價值觀中認可「 流程和工具」、「 詳盡的文檔」、「 合同談判」 以及「 遵循計劃」 的重要性,只是兩相比較,「 更重視左項的價值」。)編碼

 

敏捷選擇提出的12條原則已經應用於管理大量的業務以及與IT相關項目中,包括商業智能(BI)。12原則包括:
1.經過早期和連續型的高價值工做交付知足「客戶」。
2.大工做分紅能夠迅速完成的較小組成部門。
3.識別最好的工做是從自我組織的團隊中出現的,
4.爲積極員工提供他們須要的環境和支持,並相信他們能夠完成工做。
5.建立能夠改善可持續工做的流程。
6.維持完整工做的不變的步調。
7.歡迎改變的需求,即便是在項目後期。
8.在項目期間天天與項目團隊和業務全部者開會。
9.在按期修正期,讓團隊反映如何能高效,而後進行相應地行爲調整。
10.經過完車的工做量計量工做進度。
11.不斷地追求完善。
12.利用調整得到競爭優點
 

敏捷開發的主要特色

與傳統開發方法相比,在敏捷開發的整個過程當中,有如下幾個主要的特色:spa

(1)敏捷開發的過程有着更強的適應性而不是預設性,從敏捷宣言的第四條響應變化高於預設計劃即可以看出來。由於軟件開發過程的自己的不可預見性,不少用戶在項目開始時不可能對於這個項目有着一個完整而明確的預期。不少對軟件的預期都在後期的修改和完善過程當中產生。所以高適應性顯然更加符合軟件工程開發的實際。而敏捷開發實現其適應性的方式主要在於,第一,縮短把項目提交給用戶的週期;第二,增長用戶,業務人員,開發人員這三者之間的交流;第三,經過減小重構的成本以增長軟件的適應性。操作系統

(2)敏捷開發的過程當中,更加的注重人的因素。在傳統軟件工程中,我的的因素不多的被考慮到分工中,每一個個體都是隻是整個代碼開發機器的一個小小的螺絲釘,我的的意志和創造力很大程度上的被抹去爲了更好的爲集體服務。而在敏捷開發過程當中,每一個我的的潛力被充分的考慮,應用什麼技術很大程度上直接由在第一線開發的技術人員決定;每一個人的特色和創造力均可以充分地發揮,這樣開發出來的軟件更加的具備生命力,由於他融入了開發者的心血和創意,開發者再也不是進行機械的乏味的堆砌,而是創造屬於本身的藝術品,這樣的條件下產生的代碼必然在質量上更佔優點。設計

(3)在敏捷開發的過程當中,整個項目是測試驅動的而不是文檔驅動的。不只每一個模塊有着本身的相應的測試單元,開發人員在開發本身的模塊的過程當中必須保證本身所開發的模塊能夠經過這一單元的測試,而且集成測試貫穿了整個開發過程的始終。集成測試天天會進行十幾回甚至幾十次,而不是像傳統方法同樣只有當各個模塊的編碼都結束了以後再進行聯合調試。這樣,在軟件開發的進程中每一點改動所引發的問題都容嘉容易暴露出來,使得更加容易在錯誤剛剛產生的時候發現問題從而解決問題。這樣就避免了在最後整個系統完成時錯誤隱藏的太深給調試形成極大的困難。調試

 

敏捷開發與傳統開發方法的比較

優點

敏捷開發的高適應性,以人爲本的特性,和輕量型的開發方法即以測試爲驅動取代了以文檔爲驅動,這三個主要的特色,也就是敏捷開發相對與傳統開發方式的主要有點。由於它更加的靈活而且更加充分的利用了每一個開發者的優點,調動了每一個人的工做熱情。進程

 

敏捷確實是項目進入實質開發迭代階段,用戶很快能夠看到一個基線架構版的產品。敏捷注重市場快速反應能力,也即具體應對能力,客戶前期滿意度高。

劣勢

與傳統開發方式相比,敏捷開發的最主要的劣勢在於敏捷開發歡迎新的需求,而在每次新的需求產生時均可能引發整個系統的大幅度的修改。由於開發者在開發上一個版本的時候,徹底沒有考慮之後的優化將要如何進行。這樣的開發方式實際的軟件開發過程當中,並不必定老是有效的。

而另外一個方面,敏捷開發由於缺少不少在敏捷開發中被認爲「不重要」的文檔,這樣在一個大型項目好比一個操做系統開發的時候,因爲其項目週期很長,因此很難保證開發的人員不更換,而沒有文檔就會形成在交接的過程當中出現很大的困難。

 

敏捷注重人員的溝通,忽略文檔的重要性,若項目人員流動大太,又給維護帶來很多難度,特別項目存在新手比較多時,老員工比較累。

須要項目中存在經驗較強的人,要不大項目中容易遇到瓶頸問題。

 
相關文章
相關標籤/搜索