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


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和你熟悉的其他一些工具組合使用,現在還不是時候。只有掌握了一種工具之后,你才能夠學會把它和其他工具成功結合在一起使用。

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. 保證為持續學習分配時間

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM