敏捷開發新手入門篇

2021-07-11 06:53:24 字數 2390 閱讀 8662

隨著軟體開發方法的不斷演進,混合的開發方法在各軟體企業和團隊中應用越來越廣泛。每一種開發方法都有其優點,如傳統的瀑布式方要求有詳細的專案計畫和文件,部署、qa測試和交付過程嚴謹。而敏捷方法的優點則體現在能夠快速迭代,更多的強調人員在整個開發過程中所發揮的作用。

•瀑布模型

-固定的、沒有彈性的。

-很困難去達到互動。

-假如說需求沒有完全的被了解,或是可能需要完全地改變專案的需求,瀑布式的model是比較不適合的。

•敏捷方法

-完整地開發,每少數幾周或是少數幾個月裡可以測試功能。

-強調在獲得最簡短的可執行功能的部分,能夠及早給予企業價值。

-在整個專案的生命週期裡,可以持續的改善、增加未來的功能。

①個人和互動重於方法和工具(individuals and interactions over processes and tools);

-人是軟體專案獲得成功最為重要的因素

-合作、溝通能力以及互動能力比單純的軟體程式設計能力和工具更為重要

-方法和工具是死的,人是活的,人要是太「面」或者協作不好,再強大的方法和工具都是白扯;

②可工作的軟體重於完備的文件(working software over comprehensive documentation);

-過多的面面俱到的文件往往比過少的文件更糟

-軟體開發的主要和中心活動是建立可以工作的軟體

-直到迫切需要並且意義重大時,才進行文件編制

-編制的內部文件應盡量短小並且主題突出

③與客戶的協作重於合同談判(customer collaboration over contract negotiation);

-客戶不可能做到一次性地將他們的需求完整清晰地表述在合同中

-為開發團隊和客戶的協同工作方式提供指導的合同才是最好的合同

④響應變化重於嚴格遵照計畫(responding to change over following a plan);

-變化是軟體開發中存在的現實

-計畫必須有足夠的靈活性與可塑性

-短期的迭代的計畫比中長期計畫更有效

1、product owner 負責確定乙個product backlog(有順序的產品列表);

2、scrum team根據product backlog列表,做工作量的預估和安排;

3、通過 sprint planning meeting 中挑選出乙個story作為本次迭代完成的目標;

4、sprint backlog是由scrum team去完成的,每個成員根據sprint backlog再細化成更小的任務;

5、 daily scrum meeting(每日站立會議),每次會議控制在15分鐘左右,團隊成員輪流發言:昨日今日所做之事以及遇到的問題

6、當一次sprint完成,產品負責人和客戶參加srpint review meeting,每乙個scrum team的成員都要向他們演示自己完成的軟體產品

8、最後就是 sprint retrospective meeting,以輪流發言方式進行,總結並討論改進的地方,放入下一輪sprint的產品需求中;

更加透明; 隨時跟蹤專案的狀態和進展情況,及早發現問題和風險 .

 快速交付, 每次迭代都能交付可執行的軟體.

 最高風險和最高優先順序的需求,最優先進行開發.

 改善應對變更能力, 減少大量的重計畫.

 改善專案溝通.更好的客戶參與, 避免錯誤的假設.

誤解:敏捷是拯救仸何專案的銀彈.

敏捷方法只有運用得當才有效果.

 誤解:敏捷意味著 ad-hoc hacking ,丌需要仸何文件.

敏捷是有嚴格要求的,也是面向質量的

根據溝通的需要產生相應的文件.

 誤解:敏捷只是開發者的問題

基本的開發方法不傳統相比有顯著丌同, 影響專案的各個方面: 合同, 角色, 定價模型, 專案管理等.

 誤解:採用敏捷方法的開發組/專案丌需要制定計畫

敏捷專案需要經常制定計畫,但是丌需要試圖超前制定專案計畫,通常這也是丌可能的.

 誤解:敏捷專案的範圍可以隨時改變.

變更可以等到下一次迭代開始,當前正在迚行中的迭代丌能變更

敏捷開發雖然地位如日中天,但不要盲目追隨,根據專案選擇適合的開發方法才會事半功倍。敏捷開發不是銀彈,需要不斷的實踐才會更好的發展。

Redis 新手入門篇

redis hash 是乙個string型別的field和value的對映表,hash特別適合用於儲存物件。redis 中每個 hash 可以儲存 232 1 鍵值對 40多億 redis 的 set 是 string 型別的無序集合。集合成員是唯一的,這就意味著集合中不能出現重複的資料。redis...

AngularJs之新手小白入門篇

首先,angularjs是乙個基於mvc處理模式,實現了mvvm資料雙向繫結 的用於開發動態web專案的框架。這是乙個簡單angularjs的應用 scope.nihao 你好 1.要應用angularjs框架,首先我們需要做的是引入angularjs的js檔案 4.最後一步,也是必不可少的一步,在...

ubuntu新手入門

ubuntu使用設定之介面篇 ubuntu系統裝好了,不過怎麼看上則呢麼醜醜的?好像mr徐的介面和我的不一樣呢,怎麼設定的呢?首先,讓我們來設定工具條。ubuntu預設2條工具條,讓我們來把他設定成和windows下一樣的吧。先讓我們在上面的工具條的空白的地方,選擇刪除面板。然後,讓我們在底下的面板...