敏捷開發相關概念——學習筆記

Scrum是一種輕量級敏捷開發框架,用來管理軟件和產品。使用各類流程和技術來解決複雜的適應性問題,同時以高效生產力、創造性方式交付價值最大化的產品。
Scrum不適合很是簡單的或異常複雜與混亂的項目。編程

 

敏捷宣言:
個體和互動 高於 流程和工具
工做的軟件 高於 詳盡的文檔
客戶合做 高於 合同談判
響應變化 高於 遵循計劃架構

 

Scrum有三個屬性:輕量級、簡單易懂、十分難以掌握。框架


Scrum依賴固定節奏的迭代週期,稱爲Sprint,每一個Sprint以計劃會議開始。
Scrum的特徵是團隊內外的反饋和透明,它的短週期和協同的本質使其至關適應於快速變化或者有緊急需求的項目。工具


Scrum框架:
3種工件:產品backlog、Sprint backlog、完成標準
3種角色:產品負責人、敏捷教練、團隊
4種會議:計劃會議、每日站會、評審會議、回顧會議
5個價值觀:承諾、勇氣、專一、尊重、開放性學習

 

使用Scrum必須作出改變:
1. 理解Scrum的基本價值觀
2. 每每要經歷巨大的思惟方式的轉變
3. 準備變化的發生並適應變化
4. 處理新暴露出來或新冒出來的問題
5. 引入敏捷工程實踐測試

 

1. scrum的基本價值觀:
承諾:說到作到,不輕易許諾
勇氣:勇於嘗試新的方法、勇於提出問題,勇於拒絕say no、勇於承擔責任,主動擔起任務
專一:不要被其餘事情所打擾,傳注當前事項與工做
尊重:互相尊重,彼此信任
開放性:開放的思想,吸取新的思想觀念和方法,吸收各類經驗教訓編碼

2. Scrum須要轉變思惟方式:
成功的Scrum最大的障礙就是不具有轉變思惟的能力,或者說不具有使用新的思考方式來解決問題的能力。
若是沒有按照它的指令來使用,特別會在最初的時候,Scrum可使用你的項目很快變得很糟糕。不少團隊淺嘗輒止,自覺得懂得更多了,認爲他們的實際狀況有所不一樣,因而按照本身的方式來應用。
在決定定製Scrum以前,必定要先理解Scrum。按照它原本的意圖,不作修改直接拿來應用。花一些時間盡你所能好好學習它。
不要再一開始嘗試把Scrum和你熟悉的其餘一些工具組合使用,如今還不是時候。只有掌握了一種工具以後,你纔可以學會把它和其餘工具成功結合在一塊兒使用。spa

3. 準備變化的發生,並適應變化
傳統的軟件開發方法是基於項目計劃來開發的,先將計劃的功能所有開發出來之後,再進行校驗而後修正問題。越遲發現問題,要改動的地方越多(甚至軟件架構),這樣就會形成工做量成倍增長,工期延期等問題。
而敏捷開發,是基於價值來計劃開發的,以階段性完成有價值的故事爲目標進行的,每一個階段都會去驗證,根據需求的變化去調整階段性計劃,越早完成的計劃是越有價值的計劃,這樣持續性將價值功能交付給客戶,也有利於客戶提前發現問題,進而修正問題。
4. 處理新暴露出來或新冒出來的問題
Scrum能夠暴露長期以來被掩蓋或者忘記的問題,它也會暴露新的問題,這些問題不侷限於開發和團隊合做
Scrum挑戰組織規範,迫使管理層作出艱難的選擇:解決這些問題或者忽視這些問題
5. 引入敏捷工程實踐
  a. Scrum是一個項目管理框架,它講的是如何管理項目,可是它不包括特定的、可讓你每兩週就提交潛在交付軟件的工程實踐。所以你須要它的最佳搭檔:極限編程(XP)
  b. 儘管單靠Scrum也對團隊有所幫助,但把Scrum和XP結合在一塊兒會產生顯著的效果
  c. 一旦你的團隊對Scrum的角色、工件以及會議有豐富的經驗,他們就能夠準備集成XP的實踐
  d. 項目必須有如下XP實踐:
    可持續的步伐:團隊成員儘可能是專職的,不被打擾的;在作sprint時,針對舊系統的維護工做若是佔用較多時間,可考慮啓用專職維護團隊來進行,維護舊系統時使用良好的工程實踐來改進遺留代碼。
    代碼集體全部:避免增長與團隊文化不協調的新成員,文化的衝突可能會致使項目開發效率低下,甚至失控。
    結對編程與測試驅動開發
    持續集成:天天至少提交一次代碼,努力爭取天天回家的時候持續集成都是綠色的
    編碼標準:沒有編碼標準會對代碼集體全部形成巨大的破壞
    重構:沒有重構會讓需求的改變沒法適應業務變化的系統設計


成功祕訣:開放的學習Scrum
1. 改變規則是很危險的,團隊必須理解Scrum的規則
2. 團隊成員必須學習Scrum的基本機制
3. 給予足夠的時間
4. 不要在項目中途使用Scrum
5. 保證爲持續學習分配時間設計

相關文章
相關標籤/搜索