[+]編程
隨着敏捷開發愈來愈流行,人人都在談敏捷,人人也都在學習scrum等敏捷開發方法。。。固然,本身也是敏捷開發的實施者和受益者。架構
咱們公司引入敏捷開發的時間並不長,在實施敏捷的過程還存在一些問題,本身在實施敏捷的過程也存在不少的疑惑(畢竟原來沒有學過,和真實的經歷,體會),因此最近一直在學習敏捷,看敏捷的視頻和閱讀相關資料,同時結合本身實施敏捷的經驗,經過分享博文進行一下簡單的總結,目的有四:
1. 詳細的介紹和學習一下敏捷開發
2. 和CSDN的大牛們一塊兒分享交流,學習,提升一下
3. 總結實施敏捷過程當中的問題,不斷反思,不斷提升
4. 最後,但願對不了敏捷的朋友有必定的幫助框架
敏捷開發(Agile Development)不是指某一種具體的方法論、過程或框架,而是一組價值觀和原則。工具
首先,敏捷並非一門具體的技術,而是一種理念或者說是一種思想。它能夠指導咱們更加高效的開發。學習
其次,敏捷開發都具備如下共同的特徵:url
迭代式開發spa
增量交付.net
開發團隊和用戶反饋推進產品開發設計
持續集成視頻
開發團隊自我管理
最後,相比於「傳統」的瀑布開發模式,敏捷開發是一種「現代」的開發模式。
上面說了敏捷是一種指導思想或開發方式,可是它沒有明確告訴咱們到底採用什麼樣的流程進行開發,而具體的開發方式有哪些呢?
Scrum,極限編程(XP),精益軟件開發(Lean Software Development),動態系統開發方法(DSDM),特徵驅動開發(Feature Driver Development),水晶開發(Crystal Clear)等等。
除了Scrum和XP,對於上面的其餘開發方式,我也只是簡單瞭解,你們能夠多查查相關的資料。
咱們能夠簡單的對比一下Scrum和XP:
1. 在開發的過程當中,你能夠採用Scrum方式也能夠採用XP方式;
2. Scrum和XP的區別是,Scrum偏重於過程,XP則偏重於實踐,可是實際中,二者是結合一塊兒應用的。
《敏捷宣言》
咱們經過身體力行和幫助他人來揭示更好的軟件開發方式。經由這項工做,咱們造成了以下價值觀:
個體與交互 重於 過程和工具
可用的軟件 重於 完備的文檔
客戶協做 重於 合同談判
響應變化 重於 遵循計劃在每對比對中,後者並不是全無價值,但咱們更看重前者
敏捷宣言是對敏捷的高度總結和昇華,即便如今不理解也沒有問題,在實踐的過程當中咱們會逐漸對它有一個深入的認識。
在敏捷開發中,咱們遵循如下準則:
咱們的最高目標是,經過儘早和持續地交付有價值的軟件來知足客戶。
歡迎對需求提出變動——即便是在項目開發後期。要善於利用需求變動,幫助客戶得到競爭優點。
要不斷交付可用的軟件,週期從幾周到幾個月不等,且越短越好
項目過程當中,業務人員與開發人員必須在一塊兒工做。
要善於激勵項目人員,給他們以所須要的環境和支持,並相信他們可以完成任務。
不管是團隊內仍是團隊間,最有效的溝通方法是面對面的交談。
可用的軟件是衡量進度的主要指標。
敏捷過程提倡可持續的開發。項目方、開發人員和用戶應該可以保持恆久穩定的進展速度。
對技術的精益求精以及對設計的不斷完善將提高敏捷性。
要作到簡潔,即盡最大可能減小沒必要要的工做。這是一門藝術。
最佳的架構、需求和設計出自於自組織的團隊。
團隊要按期檢討如何可以作到更有效,並相應地調整團隊的行爲。
敏捷開發宣言比較抽象,可是敏捷開發十二原則就很是具體了,相信用過敏捷的人都知道,上面的十二原則都是開發過程的經驗總結。看到十二條原則,一一的對比咱們公司在實施敏捷的過程,還存在一些問題,這些問題直接致使了低效率的,不暢的敏捷,例如:最後一條,團隊要按期檢討,這點作的就很差,形成團隊的積極性下降,開發效率降低,並且很難做出調整,甚至我開始也是拒絕的,有了這些原則做爲指導,咱們能夠更加從容的實施敏捷。
敏捷開發十二原則是咱們實踐的具體指導方針,它能夠指導咱們實施更加成功的敏捷。當我看到這些內容時,真有一種如飢似渴的感受,真想一會兒都把他們裝進個人腦子裏。書到用時,方恨少。及時補充本身永遠都不晚。
敏捷的思想今天算是深刻人心了,後面的具體方法就是教會咱們如何實施敏捷。有了這些思想,整個世界都開始美好了。