2017.07.07 IT項目管理筆記整理 第10章 敏捷軟件開發

什麼是敏捷軟件開發方法 一、敏捷方法是一類軟件開發流程的泛稱; 二、敏捷方法是相對於傳統的瀑布式軟件過程提出的; 三、敏捷方法能夠用敏捷宣言(4條)、敏捷原則(12條)來歸納; 四、敏捷原則經過一系列的敏捷實踐來體現出來;程序員


敏捷開發軟件的特色:1敏捷軟件開發更強調程序員與業務專家、用戶之間的緊密合做,面對面的溝通,認爲這種方式更有效 2可以很好地根據需求的變化編寫代碼 3頻繁交付新的軟件版本 4採用緊湊和自組織的軟件開發團隊 5更注重個體在軟件開發中的做用數據庫


敏捷軟件開發的方法有:1極限編程 二、軟件開發節奏 三、敏捷數據庫開發
四、自適應軟件開發 5水晶方法 六、特性驅動開發 七、動態系統開發方法
八、精益軟件開發 9測試驅動開發 十、XBreed 十一、敏捷建模 十二、Scrum編程


敏捷開發的核心思想是:以人爲本,適應變化架構


敏捷四項宣言體現其價值觀:1個體與交互賽過過程與工具 二、能夠工做的軟件賽過面面俱到的文檔 3客戶合做賽過合同談判 四、響應變化賽過遵循計劃框架


敏捷方法的關鍵實踐:一、增量迭代 二、測試驅動開發TDD
3持續集成 4面對面交流 5其它重要實踐工具


傳統項目管理:事先對整個項目進行估計、計劃、分析 ;反對變動; 變動須要從新估計、從新規劃 ;嚴密的合同來減小風險, 若是改變需求要走 CR 流程. ;項目做爲一個「黑盒子」 ,對客戶與供應商的可視性差. ;文檔和計劃驅動的方法.;軟件交付時間晚, 意識到風險的時間晚. ;WBS,甘特圖,關鍵路徑分析 開發工具


敏捷項目管理:事先對整個項目作一個粗略的估計,每一次迭代都有詳細的計劃. ;擁抱(接受)變化, 客戶價值驅動開發. ;信任和賦予權力;合約使變動變得簡單,增長價值. ;客戶和開發人員之間是緊密的連續的合做關係 ;每次迭代都產生可交付的軟件 ;專一於交付軟件. ;第一次迭代就可交付能工做的版本,風險發現的早. 測試


瀑布模型:流程固定、沒有彈性;團隊互動困難;若需求未被徹底瞭解,或是可能須要較大變動,瀑布型不適合 編碼

敏捷方法: 完整地開發可在少數幾周或幾月內可被測試的功能;強調及早交付對業主有價值的可執行功能 ;在整個生命週期中持續地改善、增長將來的功能 spa


敏捷方法的關鍵實踐:增量迭代;測試驅動開發TDD;持續集成;面對面交流;其它重要實踐。需求,設計階段的問題;開發,維護階段的問題Scrum,不是一種方法,也不是一項構建產品的技術,而是一個框架,在這個框架裏能夠應用各類過程和技術,Scrum是英語中橄欖球運動的一個專業術語,表示「爭球」


敏捷宣言聽從的12條原則 1對咱們而言,最重要的事經過今早的和持續交付有價值的軟件知足客戶須要

2咱們歡迎需求的變化,即便是在後期

3常常交付能夠工做的軟件,間隔能夠從幾個星期到幾個月,時間跨度越短越好

4業務人員和開發人員應該在整個項目過程當中始終在一塊兒工做

5圍繞鬥志高昂的人進行軟件開發,給開發者提供適宜的環境,知足他們的須要,並相信他們可以完成任務

6在小組開發中最有效率也最有效果的信息傳達方式是面對面的交談

7能夠工做的軟件是進度的主要度量標準

8敏捷過程提倡可持續開發

9不斷追求卓越的技術和良好的設計將有助於提升敏捷性

10簡單———儘量減小工做量的藝術相當重要

11最好的構架、需求和設計都源自於自組織的團隊

12每一個必定時間,團隊就要總結如何更有效率,而後相應地調整本身的行爲

 

敏捷軟件開發的關鍵成功因素:一、組織文化必須支持協商討論 二、人員彼此信任 三、人少而精 四、程序員所作決定獲得承認 五、環境設施知足成員間快速溝通的須要

 

極限編程的原則 一、快速反饋 二、簡單性假設 三、逐步修改 四、擁抱變化 五、高質量的工做

 

極限編程的行爲 一、傾聽 二、測試 三、編碼 四、設計


極限編程的實踐一、客戶做爲團隊成員 二、用戶故事 三、短交付週期
四、測試驅動的開發方法 五、驗收測試 六、結對編程 七、集體全部權
八、持續集成 九、可持續的開發速度 十、開發的工做空間 十一、計劃遊戲
十二、提倡簡單的設計 1三、時常對現有代碼進行重構 14隱喻


Scrum工做成果:一、產品積壓訂單 二、衝刺積壓訂單 三、障礙積壓訂單四、燃盡圖


Scrum 形式:一、衝刺規劃會議 二、每日站立會議 三、衝刺評審會議四、衝刺回顧會議


Scrum的3個角色,3項活動,3種工具,1個衝刺(P329具體說明)
3個角色:一、產品負責人 二、Scrum主管 三、Scrum團隊

3項活動:一、衝刺計劃會議 二、每日站立會議 三、衝刺評審會議

3種工具:一、產品訂單 二、衝刺訂單 三、燃燒進度表
1個衝刺:一個時間週期,一般在2-4周之間,開發團隊會在此期間完成所承諾的一個衝刺訂單的開發

 

Scrum特有的措施 1頻繁的風險評估和應對措施

2經過每日站立會議,讓計劃和模塊開發保持透明,讓每個人知道誰負責什麼,以及何時完成

3以衝刺評審會爲主要形式,頻繁召開利益全部人會議,以跟蹤項目進展,保持項目開發的節奏

4沒有問題會被藏在地毯下


Scrum 項目開始時要作些什麼: 1計劃 2系統架構設計 3確認開發工具和基礎設施
4設計開發原型系統 5組織對設計的評審會議


產品負責人(Product Owner)的職責: 1肯定產品的功能。 2決定發佈的日期和發佈內容。 3爲產品的profitability of the product (ROI)負責。 4根據市場價值肯定功能優先級。 5每一個Sprint,根據須要調整功能和優先級(每一個Sprint開始前調整)。 6接受或拒絕接受開發團隊的工做成果。


Scrum導師必需要: 1保證團隊資源徹底可被利用而且所有是高產出的。 2保證各個角色及職責的良好協做。 3解決團隊開發中的障礙。 4作爲團隊和外部的接口,屏蔽外界對團隊成員的干擾。 5保證開發過程按計劃進行,組織 Daily Scrum, Sprint Review and Sprint Planning meetings。


Scrum較傳統開發模型的優勢: Scrum模型一個顯著的特色就是響應變化,他可以儘快地響應變化,傳統的軟件開發模型會隨系統因素的複雜度增長,項目成功的可能性迅速下降,而使用Scrum方法後,系統開發成功的機會大大提升

相關文章
相關標籤/搜索