淺談敏捷模型
對於開發模型,我向來學習部深,也許是因為沒做開發的緣故了,不過之前對RUP開發模型還是頗有了解,在大學實習期間,這可能是我那次實習中最大的收穫了…敏捷,源於什麼開始瞭解,我已經模糊了,不過最近到是開始去了解他了,因為一個朋友的公司居然由於這個敏捷開發模型,導致專案做的很爛,我那朋友也是做測試的,所以經常在一起聊,聽說當初去那家公司也是源於敏捷開發,引起了他的興趣,其實這個並不奇怪,因為敏捷已經在這個時期在開發管理過程中引起廣泛的關注,所以當然我也不例外,不過作為一個測試人員,對模型的瞭解僅侷限於過程實施,畢竟沒有開發以及專案管理者那麼受青睞,最重要的實施者必然是他們.不過說到敏捷開發,必須也有敏捷測試,關於近期公司準備組織大家去培訓敏捷模型的課程,相信我們的專案執行方向也是趨於敏捷了,所以我也開始逐步瞭解一點點了.
敏捷,從字面上理解就是對事務的反應速度,將這種速度演變到軟體開發中就是效率,如何更高效的完成軟體開發,我想這就是敏捷開發的精髓.但是敏捷的誕生是源於什麼呢,從軟體開發的過程來分析,我們再開發過程遭遇最多的問題就是需求,如何合理分析並得到穩定的需求,是專案開發成敗的關鍵因素,因為使用者只想得到自己想要的東西,那麼一旦開發人員誤解了使用者的需求,最終交付的產品必須滿足不了使用者,所以如何解決需求隨時隨地變化地問題,已經成為近年來軟體開發過程中最大的難題.所以,直到敏捷的出現,讓大家有些豁然開朗,軟體軟體開發可以這樣收放自如,這樣隨心所欲,並且毫不拒絕使用者的任何需求,哪怕是任何時間任何階段.用於一句英文廣告語來表示,那就是”Just do it!”
簡單的說,敏捷開發是一種以人為核心、迭代、循序漸進的開發方法。敏捷創始人的創作意願表明,敏捷是一種思想,它需要的是Actor。其實我認為這個Actor就是執行者,而且很好很強地執行者。在敏捷開發中,軟體專案的構建被切分成多個子專案,各個子專案的成果都經過測試,具備整合和可執行的特徵。換言之,就是把一個大專案分為多個相互聯絡,但也可獨立執行的小專案,並分別完成,在此過程中軟體一直處於可使用狀態。那麼敏捷模型實踐流程又與技術和管理有什麼關係呢,下面我們具體來從這些方面瞭解一下.
從技術實踐上來講,第一個方面就是說敏捷開發是體現個體與互動重於過程和工具,很多人都覺得敏捷只是一個過程,給這個過程制定嚴格的標準,就可以完成,其實不然,更多專案失敗的原因就是因為沒有理解,敏捷是以人為本,敏捷的改變就是一個一個人的改變.第二個方面談到,持續部署就是王道, 我想這也是敏捷最突出的一個表現,在快速響應使用者需求的同時,其實使用者也想快速得到想要的結果,所以開發人員能快速展現成果就是通過快速的部署,但這種部署並不是沒有準則和週期的,必須是嚴格控制且真正提高效率的過程.第三方面,其實源於第二點,但是也是敏捷模型成敗的主幹,也就是敏捷死於產品交付的壓力,敏捷並不是保證交付的銀彈,敏捷也從來不是提高交付速度的工具,敏捷和其他所有專案一樣,當交付壓力過大時,很可能面臨失敗。因為敏捷的迭代化特徵,使這個交付壓力從第一個迭代就能體現,而如果這個交付壓力不能夠很好的解決,比起傳統瀑布式專案來說,更容易造成失敗。敏捷的迭代式開發也許讓我們沮喪,因為我們再也沒辦法嘗試對程式設計師隱瞞我們交付壓力過大的事實,而領導者要做的其實很簡單,不管用什麼辦法,讓團隊擁有最合理和最現實的交付壓力,這樣的結果一定不是又快又好,但一定是在合理的速度下達到合理的質量標準。領導者們,你們在某種意義上來說不是團隊的領導者,而是團隊的保護者,敏捷是幫助你隨時發現團隊危險的工具,請把你的團隊保護好,不要它從一開始就死掉。
從組織管理上來談敏捷,有這三點,首先,持續整合的習慣怎樣養成的,有時候我們總以為持續整合只是技術問題,當我與我那個朋友聊到他們專案總是處於部署過程就出現問題,那麼為什麼總是在這個階段出現問題呢,也許我們認為是環境配置等問題,所以每次他都疲於除錯,但最後總鬱悶叢生,因為問題是在開發之中,而並非環境問題,所以說持續整合建設中遭遇的一些典型難題,歸根結底都不是技術問題,而是人的問題。 其實,就是合理的安排敏捷開發過程中人員分配問題,這裡我從朋友那裡聽到最多的話就是加班,因為測試任務和部署都是他來幹,結果就是任務不能合理的完成,遇到問題也不能快速定位和解決,開發人員和測試人員的比例也是極其不符合敏捷開發模型的準則,所以他在這個專案中總是很痛苦,因為敏捷並不是敏捷.以此來看,還是要回歸到敏捷的宗旨,以人作為專案核心驅動.
敏捷,一個新的方向,但是也可能是一個新的誤區. 雖然國內已經引入敏捷不短的時間了,可是能將敏捷在專案中實施成功,屈指可數. 正如敏捷創始人Dave Thomas表示,“敏捷並不是一個產品。敏捷的產生,是因為當初我們犯了錯誤,所以我們總結出4條原則,希望節省後來人的時間。但是,學習敏捷不能模仿,不是複製,更不能抄襲。敏捷是一種思想,它需要的是行動者(Actor)。”
本文轉自一米一陽光部落格園部落格,原文連結: http://www.cnblogs.com/candle806/archive/2010/10/15/1851957.html ,如需轉載請自行聯絡原作者
相關文章
- 淺談軟體開發模型之瀑布開發和敏捷開發模型敏捷
- 淺談一下“敏捷開發”敏捷
- 淺談領域模型模型
- 淺談雙親委派模型模型
- 顏色模型淺談 (轉)模型
- 淺談Java記憶體模型Java記憶體模型
- 淺談話題模型:LSA、PLSA、LDA模型LDA
- 淺談Netty的執行緒模型Netty執行緒模型
- 淺談 Node.js 單執行緒模型Node.js執行緒模型
- 也談敏捷(1)敏捷
- 也談敏捷(2)敏捷
- 軟體測試模型-敏捷模型模型敏捷
- 淺談網頁搜尋排序中的投票模型網頁排序模型
- 淺淺談ReduxRedux
- 敏捷開發大家談(三)敏捷
- 敏捷開發大家談(二)敏捷
- 敏捷開發大家談(一)敏捷
- 敏捷開發大家談(四)敏捷
- 淺淺淺談JavaScript作用域JavaScript
- 瀑布模型和敏捷開發模型敏捷
- 淺談產品模型(Profile)在程式設計中的作用模型程式設計
- 淺談雲巴實時通訊的程式設計模型程式設計模型
- 淺談JVM記憶體結構 和 Java記憶體模型 和 Java物件模型JVM記憶體Java模型物件
- Celery淺談
- 淺談flutterFlutter
- 淺談JMM
- 淺談反射反射
- 淺談mockMock
- 淺談SYNPROXY
- 淺談Disruptor
- 淺談IHttpHandlerHTTP
- 淺談 PromisePromise
- 淺談PWA
- 淺談vuexVue
- 淺談JavaScriptJavaScript
- 淺談RMQMQ
- 淺談Zilliqa
- 淺談RxJavaRxJava