天天在用著敏捷的思想,但是今天面試的時候讓講敏捷,又不知從何說起,今天記錄下 ,部分內容也有參考網上優秀的易理解的說法。
什麼是敏捷開發?
敏捷開發(
agile development
)是一種以人為核心、迭代、循序漸進的開發方法。
我理解它僅僅是一種開發方法,更是為了應對激烈競爭和快速
需求變化的一種價值觀和商業模式。
敏捷提倡以人為核心,敏捷注重的是人與人之前的,面對面的交流。
敏捷的核心假設就是:需求是變化的。
它以一種區域性演進,逐步交付,小批序列的方式更快速的進行交付和保證產品質量。
開發測試過程圖
借用幾張圖來說明
測試活動
測試系統圖
敏捷的核心假設是:
需求是持續變化的
敏捷12條準則/原則
1.customer satisfaction by rapid delivery of useful software
對我們而言,最重要的是通過盡早和不斷交付有價值的軟體滿足客戶需要
2. welcome changing requirements, even late in development
我們歡迎需求的改變,甚至在開發的最後階段
3.working software is delivered frequently (weeks rather than months)
經常交付可以工作的軟體(從幾星期到幾個月)
4.working software is the principal measure of progress
可以工作的軟體是進度的主要度量標準
5.sustainable development, able to maintain a constant pace
敏捷過程提倡可持續開發。出資人、開發人員和使用者應該總是維持不變的節奏
6.close, daily co-operation between business people and developers
業務人員和開發者應該在整個專案過程中始終朝夕在一起工作
7.face-to-face conversati最好的架構、需求和設計都源自自我組織的團隊
12.regular adaptation to changing circumstances
每隔一定時間,團隊都要總結如何更有效率,然後相應地調整自己的行為
on is the best form of communication (co-location)
在開發小組中最有效率也最有效果的資訊傳達方式是面對面的交談
8.projects are built around motivated individuals, who should be trusted
圍繞鬥志高昂的人進行軟體開發,給開發者提供適宜的環境,滿足他們的需要,並相信他們能夠完成任務
9.continuous attention to technical excellence and good design
對卓越技術與良好設計的不斷追求將有助於提高敏捷性
10.simplicity
簡單。——盡可能減少工作量的藝術至關重要
11.self-organizing teams
敏捷的價值觀:
個體與互動 重於 過程與工具
可用的軟體 重於 完備的文件
客戶協作 重於 合同談判
響應變化 重於 遵循計畫
敏捷的一些特點和問題
ø 前期投入變多了
ø 對人的要求變高了
ø 常常在專案未完時就顯現出的商業價值
ø 成功專案管理類,網際網路類偏多
ø 專案成功但可維護性不佳
ø 給人感覺流派比較多
ø 有一些極端敏捷的思路和主張,無文件等
敏捷最佳實踐:
xp、scrum、水晶體系、動態系統開發方法dsdm、適配性軟體開發、fdd等
scrum
scrum是遵循敏捷方法的乙個軟體開發框架。在scrum框架中,融入敏捷開發的精神和思想。
scrum方法是一種偏重管理的優秀實踐組合:
它通過組建客戶參與的團隊,確定客戶與開發團隊的一致目標;
分里程碑,按商業價值排序的需求列表;
scrum框架核心內容:3-3-3
「3」個角色(role)
產品主管(procuct owner):負責專案的商業價值
scrum師傅(scrum master):他負責團隊的運轉和生產
自組織的團隊:目標一致的團隊
「3」個會議
迭代計畫會議
每日晨會
迭代回顧會議
「3」個工作元件
待開發任務列表(product backlog)用來排列任務的優先順序和跟蹤任務
迭代任務列表(the sprint backlog)
進度圖(burndown chart)
客觀的認識敏捷
敏捷是乙個新生的、飛速成長的方**
① 敏捷基於文化和價值觀的特點讓其實框架寬泛,相容性好,同時靈活性大導致施難度加大
大家對敏捷的理解各不相同,優秀實踐百花齊放;敏捷的優秀實踐個異性較強,直接學習風險大
② 敏捷提倡的緊密互補的工作方式,對人的要求高
③ 敏捷強調的價值觀理解不到位,容易讓人忽略某些東西,其結果會給人帶來誤解
④ 沒有萬能、完美的開發方法,適合的才是最重要的
敏捷開發流程
在動手設計前,第一步需要對市面上的同類競品進行較為深入的分析,提煉出競品的產品框架 各模組的設計特點,通過對比分析,總結出各競品的優缺點,取其精華,取其糟粕,真正做到後來居上。結合之前的競品資料和使用者資料,我們已經可以有的放矢地開始設計產品的大框架 主要任務流程和操作形式。最初的草稿採用多種方案,...
敏捷開發流程
敏捷開發總的流程如下 1.需求規劃和分期 2.需求評審 3.需求講解 4.方案評審 5.每日晨會 6.效能測試 7.codereview 8.demo 9.測試階段 10.線上bug修改流程 如何進行scrum開發?1 我們首先需要確定乙個product backlog 按優先順序排列的乙個產品需求...
敏捷開發流程
agile 敏捷開發,作為cmm神話崩潰後被引入的一套新的軟體開發模式,這幾年來被廣泛引起關注,並被寄予厚望。敏捷開發在其他業界的應用是否理想不得而知,但以下總結了我所在公司的敏捷開發試驗,希望可以達到管中窺豹的目的。敏捷開發宣言 個體和互動 勝過 過程和工具 可以工作的軟體 勝過 面面俱到的文件 ...