Scrum和XP團隊沒有時間進行理論研究。不花時間用建模工具來畫UML圖、編寫完美的需求文件,也不為了應對在可預計的未來中所有可能發生的變化而去寫程式碼。
Scrum和XP都關注如何把事情做好。
Ken Schwaber說,Scrum不是方法學,而是一個框架。
Scrum團隊尺寸(3-12人)、sprint長度(2-6個星期);定義“完成”的不同方式;不同形式的產品backlog和sprint backlog(Excel、Jira、索引卡);多種測試策略、演示方式、多個Scrum團隊的資訊同步方式……。
XP實踐:每日構建,結對程式設計,測試驅動開發,等等。
產品backlog是Scrum的核心,是一個需求、或故事、或特性等組成的列表,按照重要性的級別進行了排序,包含客戶想要的東西,用客戶的術語描述。通常存放在共享的Excel文件裡面,使多個使用者可以同時編輯它。其它所有的製品都放在版本控制倉庫。
故事(story),也稱backlog項,包括欄位:
ID——統一識別符號;
Name(名稱)——簡短的、描述性的故事名;
Importance(重要性)——產品負責人評出一個數值(僅指故事的重要性);
Initial estimate(初始估算)——團隊的初步估算,最小的單位故事點(story point),相當於一個“理想的人天(man-day)”;
How to demo(如何做演示)——描述了這個故事應該如何在sprint中演示,一個簡單的測試規範;
Notes(註解)——相關資訊、解釋說明和對其它資料的引用等;
準備Sprint計劃
1)必須存在產品backlog;
2)一個產品只能有一個產品backlog和一個產品負責人;
3)所有重要的backlog條目都已經根據重要性被評過分;
4)產品負責人應當理解每個故事的含義;
Sprint計劃評估方式
1)可使用Jira(bug跟蹤系統)存放產品backlog;
2)可使用Excel簡單方便,直截了當;
3)可使用VersionOne、ScrumWorks、XPlanner敏捷過程工具
制定Sprint計劃(Scrum中最重要的活動),應產生的成果:
1)Sprint目標;
2)Scrum Team成員名單;
3)Sprint backlog(Sprint中包括的Story列表);
4)Sprint演示日期;
5)Daily Scrum Meeting的時間和地點;
每個Story都含有三個變數:Scope(範圍)、Estimate(估算)、Importance(重要性),其中:
Scrum Owner:負責Scope和Importance;
Scrum Team:負責Estimate;
第四個變數Quantity(質量),包括外部質量和內部質量:
外部質量:使用者可以感知的;
內部質量:使用者看不到的要素,可維護性等問題;
打斷沒有成果的Sprint計劃會議;
Sprint長度:就是Sprint演示日期(Sprint 計劃會議的產出),時間越短越好,公司就越來越“Agile”,時間最長為三週。
短的Sprint=短反饋週期=更頻繁的交付=更頻繁的客戶反饋=在錯誤方向上花的時間更少=學習和改進的速度更快。
故事是可以交付的東西,是產品負責人所關心的。
任務是不可交付的東西,產品負責人對它也不關心。
處理“我不知道今天干什麼”的情況:
1)羞辱式做法: “如果你不知道怎麼幫助團隊,我建議你還是回家去,或者看書,或者怎麼都行。要不也可以找個地方坐下,等別人需要幫忙的時候你就過去。”
2)守舊式做法:簡單給他們分配個任務了事。
3)施加同事壓力的做法: 對他們說,“Joe,還有Lisa,你們兩個可以放鬆點,我們會站在這裡慢慢等,直到你們找到幫助我們完成目標的事情為止。”
4)奴役式做法:對他們說,“你們今天可以給大夥兒乾乾雜活。倒咖啡、做按摩、清理垃圾、做午飯,一切一切大家今天讓你們做的事情。”你會驚訝的發現Joe和Lisa在霎那之間就找出了有用的技術任務
演示也叫回顧;
堅持所有的sprint演示的理由:
1)團隊的成果得到認可;
2)其他人瞭解你的團隊在做些什麼;
3)演示可以吸引相關干係人的注意,並得到重要反饋;
4)促進不同的團隊相互交流,討論各自的工作;
5)做演示會迫使團隊真正完成一些工作,併發布。
Sprint演示時的注意項:
1)清晰闡述sprint目標;
2)集中精力演示實際工作的程式碼,少講廢話;
3)演示時節奏要快;
4)只說業務功能,不說技術細節;
5)可讓觀眾自己體驗一下產品;
6)儘可能少演示細碎的bug修復和微不足道的feature。
如果沒有演示,你就會發現團隊在不斷重犯同樣的錯誤。
如何組織演示:
1)根據要討論的內容範圍,設定時間為1至3個小時;
2)owner,master,team;
3)在不受干擾的地方框圖討論;
4)指定某人做祕書;
5)master展示sprint backlog,團隊幫助對sprint做總結;
6)輪流發言;
7)對比預估生產率和實際生產率,並分析差異原因;
8)master總結並給出下一sprint的改進。
可將sprint backlog分為三類,並進行討論:
1)Good;
2)Could have done better;
3)Improvement;
其中,1)和2)是回顧,3)是展望未來。
團隊通過頭腦風暴決定下一個sprint將進行哪些改進,根據最終結果選出合適的數量,不然得不償失,不一定要完成所有的改進;
在團隊間傳播經驗
1)指定一個人會參加所有的sprint回顧會議,充當知識橋樑;
2)讓每個Scrum團隊都發布sprint回顧報告。
學習中…
《硝煙中的Scrum和XP》下載地址:http://down.51cto.com/data/205762