天天看點

靈活開發相關概念——學習筆記

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. 準備變化的發生,并适應變化

傳統的軟體開發方法是基于項目計劃來開發的,先将計劃的功能全部開發出來以後,再進行校驗然後修正問題。越遲發現問題,要改動的地方越多(甚至軟體架構),這樣就會造成工作量成倍增加,工期延期等問題。

而靈活開發,是基于價值來計劃開發的,以階段性完成有價值的故事為目标進行的,每個階段都會去驗證,根據需求的變化去調整階段性計劃,越早完成的計劃是越有價值的計劃,這樣持續性将價值功能傳遞給客戶,也有利于客戶提早發現問題,進而修正問題。

Scrum可以暴露長期以來被掩蓋或者忘記的問題,它也會暴露新的問題,這些問題不局限于開發和團隊合作

Scrum挑戰組織規範,迫使管理層做出艱難的選擇:解決這些問題或者忽視這些問題

  a. Scrum是一個項目管理架構,它講的是如何管理項目,但是它不包括特定的、可以讓你每兩周就送出潛在傳遞軟體的工程實踐。是以你需要它的最佳搭檔:極限程式設計(XP)

  b. 盡管單靠Scrum也對團隊有所幫助,但把Scrum和XP結合在一起會産生顯著的效果

  c. 一旦你的團隊對Scrum的角色、工件以及會議有豐富的經驗,他們就可以準備內建XP的實踐

  d. 項目必須有以下XP實踐:

    可持續的步伐:團隊成員盡量是專職的,不被打擾的;在做sprint時,針對舊系統的維護工作如果占用較多時間,可考慮啟用專職維護團隊來進行,維護舊系統時使用良好的工程實踐來改進遺留代碼。

    代碼集體所有:避免增加與團隊文化不協調的新成員,文化的沖突可能會導緻項目開發效率低下,甚至失控。

    結對程式設計與測試驅動開發

    持續內建:每天至少送出一次代碼,努力争取每天回家的時候持續內建都是綠色的

    編碼标準:沒有編碼标準會對代碼集體所有造成巨大的破壞

    重構:沒有重構會讓需求的改變無法适應業務變化的系統設計

成功秘訣:開放的學習Scrum

1. 改變規則是很危險的,團隊必須了解Scrum的規則

2. 團隊成員必須學習Scrum的基本機制

3. 給予足夠的時間

4. 不要在項目中途使用Scrum

5. 保證為持續學習配置設定時間

    本文轉自 AllEmpty 部落格園部落格,原文連結:http://www.cnblogs.com/EmptyFS/p/7755680.html,如需轉載請自行聯系原作者

繼續閱讀