理解:
- 首先,敏捷并不是一門具體的技術,而是一種理念或者說是一種思想。它可以指導我們更加高效的開發。
- 其次,敏捷開發都具有以下共同的特征:
1.迭代式開發
????2.????增量交付
????3.????開發團隊和用戶反饋推動產品開發
????4.????持續集成
????5.????開發團隊自我管理
- 最后,相比于“傳統”的瀑布開發模式,敏捷開發是一種“現代”的開發模式。
具體開發
上面說了敏捷是一種指導思想或開發方式,但是它沒有明確告訴我們到底采用什么樣的流程進行開發,而具體的開發方式有哪些呢?
Scrum,極限編程(XP),精益軟件開發(Lean Software Development),動態系統開發方法(DSDM),特征驅動開發(Feature Driver Development),水晶開發(Crystal Clear)等等。
除了Scrum和XP,對于上面的其他開發方式,我也只是簡單了解,大家可以多查查相關的資料。
我們可以簡單的對比一下Scrum和XP:?
- 在開發的過程中,你可以采用Scrum方式也可以采用XP方式;?
Scrum和XP的區別是,Scrum偏重于過程,XP則偏重于實踐,但是實際中,兩者是結合一起應用的。
敏捷宣言:
我們通過身體力行和幫助他人來揭示更好的軟件開發方式。經由這項工作,我們形成了如下價值觀:
個體與交互 重于 過程和工具
可用的軟件 重于 完備的文檔
客戶協作 重于 合同談
響應變化 重于 遵循計劃
在每對比對中,后者并非全無價值,但我們更看重前者
什么是Scrum?
Scrum 是一個用于開發和維持復雜產品的框架 ,是一個增量的、迭代的開發過程,通常用于敏捷軟件開發。。原詞來自于橄欖球中“帶球過人”。在橄欖球比賽的每次沖刺前,都將有一個計劃安排的過程,但沖刺開始后則由隊員在原計劃的基礎上隨機應發
評價:
很多覺得Scrum并沒什么實質性作用,原因有這么幾點:
1.????對于沒有接觸過Scrum的程序員來說,很難做到敏捷。
2.????用戶故事的劃分以及產品列表挑選最高優先級有點困難
3.????開發的過程中,團隊中所有程序能夠一直保持積極主動性很難把握
4.????Scrum對于自組織的團隊要求很高
5.????對于在實施Scrum的過程中,對于把握全局的master以及產品負責人的要求更高。
6.????能否在實施的過程中及時發現問題,及時解決問題
不可忽視Scrum作用:
1.????Scrum團隊總是先開發對客戶具有較高價值的需求。
2.????更好的管理軟件開發項目,它同樣可以用于管理運行軟件維護團隊,或者作為計劃管理,或者作為計劃管理方法。
3.????提高團隊的開發效率,降低項目的開發周期,最大限度的發揮團隊的作用,更好的滿足用戶的需求。
優缺點:
Scrum的優點就是敏捷的優點,很注重實效,能更好的應對變化。
缺點是,他過于強調了人的自我管理。 有的觀點認為,Scrum適用于一幫資深程序員組成的團隊,每個人都是牛人,每個人都有激情干活,這樣才work。在國內大家缺乏能動性,沒什么激情,很不適合Scrum。
???還有一個問題,就是很容易不停的因為目標變化而重新設計,最終導致不能交付。
???Scrum并不能保證項目成功,它只是給你更多的反饋,更多的可控性,讓你更靈活的應對變化。在實際項目中我們應該對Scrum進行可適應性調整。
團隊分工:
- 秦崇文:編寫代碼,進行前端測試
- 彭圣松:寫后端開發代碼
- 鄧志豪:了解客戶需求,溝通用戶
- 谷濤: 編寫需求文檔
- 儲夢秋: 負責項目以及安排任務和測試