為了便於外界的理解,thoughtworks商定了乙個經典答案
「60%scrum+40%xp」
。1.什麼是scrum?
首先,它是一套敏捷開發流程;是為了兼顧產品經理和程式設計師的保證專案正常交付的方法。
角色:
1)project owner
:即產品經理,迫於領導的壓力,喜歡往團隊中不斷增加任務或修改需求。
2)scrum master
:類似於專案負責人,他需要做的是保護團隊,兼顧產品經理的需求,確保專案的按時交付。
3)team
:開發測試設計人員,
scrum master
本身可能也是開發人員。
流程圖:
其中還包括迭代回憶,每日站會,內部演示(review meeting)等形式。
2.什麼是xp?
xp(extreme programming
)極限程式設計:在更短的週期內,更早地提供具體、持續的反饋資訊。
在迭代的進行計畫編制,首先在最開始迅速生成乙個總體計畫,然後在整個專案開發過程中不斷的發展它。
依賴於自動測試程式來監控開發進度,並及早地捕獲缺陷。
依賴於口頭交流、測試和源程式進行溝通。
倡導持續的演化式設計。
依賴於開發團隊內部的緊密協作。
盡可能達到程式設計師短期利益和專案長期利益的平衡。
其中包含一些方法:結對程式設計(pair),持續整合等。
我自己在zte實習的過程中也體會到了部分的持續整合帶來的優點,基本每一周到兩周的版本迭代,每日的
daily ci
都是提公升效率的好方法。
1.產品投入市場速度加快
2.縮短新客戶導流的週期
3.減少維護遺留系統成本
4.減少新開發系統的成本
其實也就是通過提高效率降低成本來提高收入。
價值驅動+技術卓越(這個我目前沒有入職還沒有體會到
hhh)
1. 統一迭代節奏:
乙個團隊是全功能的,其中包含開發,測試,業務需求分析師,ux等角色。大家統一的進行迭代,並且跨職能協作,也就是你的角色不是固定的,所以對學習能力和開發能力要求都十分的高。
2. 基於story的需求和範圍的實時管理:
要求全角色都能夠理解並且認可乙個story-----這樣做能夠體現價值驅動原則。
其中不對story進行更技術的
task
「全棧文化支援
」3. 持續整合+測試驅動開發:
持續整合的兩個核心:1)必須每次提交出發構建
2)每次提交必須基於上一次的成功構建
測試前置(tdd):先寫單元測試是基本素養,對較為複雜的
story
做提前驗收,早溝通早發現問題。
4. 效能和週期時間的持續改進:
實質問題圍繞在velocity和
cycle time
上,每個團隊都需要做的持續改進。
5. 基於客戶深度參與的統一團隊:
客戶參與迭代內站會,展示會和回顧會。
迭代看板,通過以story為核心,承載業務價值,實質上是吧質量管理融入了技術工程體系內,都是以團隊為概念。
以上就是該書第一部分所講內容,這一部分對敏捷開發做了乙個基本的介紹,通過對團隊中的布局,團隊每天需要做的事,來詳細的講述了thoughtworks在開發過程中的整體流程,通過舉例詳細表明了開發過程中的角色,敏捷開發中的實踐原則。
《Java敏捷開發》讀書筆記1
1 以使用者故事管理專案 敏捷就是提取故事,拆分故事,開發故事,驗收故事,交付故事。2 使用者故事可以用於評估發布時間.舉例 客戶要求50天交付系統,我們對故事進行故事點評估,預計17個點。根據經驗,乙個故事點 5人天,2個開發人員,預計需要43天。這樣的估計很不準確,給4個人,22天就可以完成嗎?...
敏捷開發讀書筆記
1 開始時需求要明確 2 盡早發布可執行的demo,持續進行整合 3 功能粒度要足夠低 4 架構可以隨時進行調整 5 測試驅動開發 6 持續整理 及架構重構 7 持續的速度,任務分解需要細緻 粒度要小,各個模組的任務完成要及時 有效 軟體之美在於它的功能,在於它的內部結構,還在於團隊建立它的過程。對...
敏捷開發的讀書筆記
敏捷開發,就是在乙個高度協作的環境中,不斷使用反饋進行自我調整和完善。你要防微杜漸,把問題解決在萌芽狀態。你要探索未知領域,在大量成本投入之前先確定其可行性。你要知錯能改,在事實面前主動承認自己的所有錯誤。你要能自我反省,經常編碼實戰,加強團隊協作精神。一開始可能會覺得不適應,但只要真正行動起來,習...