翻譯的不錯(cuò), 淺顯易懂, 非常具有實(shí)戰(zhàn)意義。完全是作者親身體會(huì)的總結(jié)。不過(guò)感覺(jué)scrummaster相關(guān)的東東介紹的太少了。
====================以下是讀書筆記的分割線===================
Scrum不是方法學(xué),它是一個(gè)框架。也就是說(shuō)Scrum不會(huì)告訴你到底該做些什么。
Scrum 的強(qiáng)大和令人痛苦之處就在于你不得不根據(jù)自己的具體情況來(lái)對(duì)它進(jìn)行調(diào)整。
產(chǎn)品 backlog是 Scrum的核心,也是一切的起源。從根本上說(shuō),它就是一個(gè)需求、或故事、或特性等組成的列表,按照重要性的級(jí)別進(jìn)行了排序。它里面包含的是客戶想要的東西,并用客戶的術(shù)語(yǔ)加以描述。
一個(gè)backlog條目就是一個(gè)story, 包括:
id,
name,
優(yōu)先級(jí),
估算時(shí)間(多少人天),
如何演示(最終的結(jié)果是個(gè)什么樣子, 簡(jiǎn)單的描述就是“先這樣做,然后那樣做,就應(yīng)該得到……的結(jié)果 ”, 可以理解為測(cè)試的偽代碼),
備注(相關(guān)信息, 解釋說(shuō)明, 相關(guān)資料引用, 一般都比較簡(jiǎn)短)
如何解決問(wèn)題的應(yīng)該是開發(fā)團(tuán)隊(duì),產(chǎn)品負(fù)責(zé)人只需要關(guān)注業(yè)務(wù)目標(biāo)。
不斷的問(wèn)產(chǎn)品負(fù)責(zé)人“但是這樣做是為什么呢”這樣的問(wèn)題,一直問(wèn)下去,直到我們發(fā)現(xiàn)內(nèi)在的目標(biāo)為止。然后再用真正的目標(biāo)來(lái)改寫這個(gè)故事, 最開始的技術(shù)描述只會(huì)作為一個(gè)注解存在。
在 sprint 計(jì)劃會(huì)議之前,要確保產(chǎn)品 backlog 的井然有序。
產(chǎn)品負(fù)責(zé)人應(yīng)當(dāng)理解每個(gè)故事的含義. 他不需要知道每個(gè)故事具體是如何實(shí)現(xiàn)的,但是他要知道為什么這個(gè)故事會(huì)在這里。
產(chǎn)品負(fù)責(zé)人有決定每一個(gè)故事優(yōu)先級(jí)的權(quán)利
Sprint 計(jì)劃會(huì)議非常關(guān)鍵,應(yīng)該算是 Scrum中最重要的活動(dòng)
每個(gè)故事的三個(gè)重要變量:范圍, 估算, 重要性
范圍和重要性由產(chǎn)品負(fù)責(zé)人制訂, 估算由開發(fā)人員制訂
何為"范圍": 比如做某件事情, 是否還需要做另外一件事
產(chǎn)品質(zhì)量分為內(nèi)部質(zhì)量和外部質(zhì)量, 可以先發(fā)布一個(gè)很簡(jiǎn)陋, 運(yùn)行很慢的系統(tǒng), 也就是外部質(zhì)量很差的系統(tǒng), 然后再進(jìn)行調(diào)整, 但是內(nèi)部質(zhì)量(可維護(hù)性, 代碼可讀性, 測(cè)試覆蓋率和重構(gòu))決沒(méi)有討價(jià)還價(jià)的余地
Scrum中的一切事情都有時(shí)間盒。
當(dāng)開了長(zhǎng)時(shí)間的會(huì)議依然沒(méi)法確定一個(gè)sprint計(jì)劃, 可以規(guī)定一個(gè)最終的時(shí)間期限, 如果還是沒(méi)法做出, 就另外安排一個(gè)時(shí)間來(lái)開sprint計(jì)劃會(huì)議, 而不是一味延長(zhǎng)時(shí)間
scrum的要求: 把事情完全做對(duì), 達(dá)到完全可交付的狀態(tài), 事情只做了一半, 它的價(jià)值就是0.
一旦時(shí)間估算值比較大, 其精確程度就很難把握
通過(guò)對(duì)故事的演示, 來(lái)揭示故事的范圍
故事和任務(wù)的區(qū)別:故事是可以交付的東西, 是產(chǎn)品負(fù)責(zé)人關(guān)心的, 任務(wù)是不可交付的, 產(chǎn)品負(fù)責(zé)人無(wú)須關(guān)心
無(wú)論你的 sprint backlog 是什么形式,都要盡力讓整個(gè)團(tuán)隊(duì)參與到保持 sprint backlog 及時(shí)更新的工作中來(lái)。
ScrumMaster為團(tuán)隊(duì)提供支持,消除他們的障礙
回顧是 Scrum中第二重要的事件(最重要的是 sprint 計(jì)劃會(huì)議),因?yàn)檫@是你做改進(jìn)的最佳時(shí)機(jī)!
回顧會(huì)議中, 問(wèn)"如果時(shí)間可以倒流,從第一天重新開始這個(gè) sprint,那你覺(jué)得哪些事情會(huì)用其它方式來(lái)做?"
很多時(shí)候,只要能清楚地指出問(wèn)題所在,到了下一個(gè)sprint,問(wèn)題也許就自行解決了。
Scrum 注重的是管理和組織實(shí)踐,而XP 關(guān)注的是實(shí)際的編程實(shí)踐。
結(jié)對(duì)編程令人精疲力竭,不能全天都這樣做。
結(jié)對(duì)編程可以增進(jìn)團(tuán)隊(duì)間的知識(shí)傳播。速度快到令人難以想象。
多數(shù)情況下,開發(fā)人員掌握TDD的唯一方式就是跟一個(gè)熟悉 TDD的人一起結(jié)對(duì)編程,一旦掌握以后,他就會(huì)受到徹底的影響,從此再也不想使用其它方式工作。
HSQLDB 用作嵌入式的內(nèi)存數(shù)據(jù)庫(kù),在測(cè)試中使用。
Jetty用作嵌入式的內(nèi)存 Web 容器,在測(cè)試中使用
剛開始應(yīng)該想辦法提高手工測(cè)試的效率。
一開始就應(yīng)該保持設(shè)計(jì)簡(jiǎn)單化,然后不斷進(jìn)行改進(jìn);而不是一開始努力保證它的正確性,然后就凍結(jié)它,不再改變。
你可以打破這里的任一規(guī)則,不過(guò)一定要有個(gè)好理由,并且記錄下來(lái)。
“測(cè)試人員”指的是“主要技能是測(cè)試的人”,而不是“只做測(cè)試的人”。
開發(fā)人員常常都是很差勁的測(cè)試人員。尤其是他們測(cè)試自己代碼的時(shí)候。
測(cè)試人員應(yīng)該跟編寫測(cè)試代碼的開發(fā)人員一起結(jié)對(duì)編 程。如果測(cè)試人員根本不會(huì)編程,他也應(yīng)該跟開發(fā)人員結(jié)對(duì),即便 他只能坐在一邊看,讓開發(fā)人員敲鍵盤。相對(duì)于好的開發(fā)人員,好 的測(cè)試人員常常能想出多種不同類型的測(cè)試,所以他們可以互補(bǔ)。
即使所有的編程活動(dòng)都已完成,距離產(chǎn)品發(fā)布還有很遙遠(yuǎn)的距 離。至少?gòu)?fù)雜系統(tǒng)是這樣的。
在 Scrum 團(tuán)隊(duì)中含有兼職成員一般都不是什么好主意。
“團(tuán)隊(duì)凝聚力”是Scrum的核心要素之一,如果一個(gè)團(tuán)隊(duì)合作工作達(dá)多個(gè)sprint之久,他們就會(huì)變得非常緊密。
Scrum master 檢查列表(職責(zé))
創(chuàng)建sprint信息(目標(biāo), 團(tuán)隊(duì)大小, 時(shí)間估算), 昭示天下
確保晨會(huì)正常開始和結(jié)束
增刪sprint中的故事
向團(tuán)隊(duì)傳達(dá)項(xiàng)目進(jìn)度(backlog, 燃盡圖)
排除開發(fā)過(guò)程中的障礙和干擾
sprint演示, 并昭示天下
組織召開sprint回顧會(huì)議
總結(jié)本次sprint經(jīng)驗(yàn)教訓(xùn)和更新實(shí)際生產(chǎn)率估值
八卦
作者Henrik 在東京長(zhǎng)大,目前與他的妻子 Sophia 和兩個(gè)孩子生活在斯德哥爾摩。他在空閑時(shí)間還是一個(gè)活躍的音樂(lè)家,跟本地樂(lè)隊(duì)一起創(chuàng)作樂(lè)曲,玩貝司和鍵盤。
posted on 2011-03-17 08:45
macrochen 閱讀(445)
評(píng)論(0) 編輯 收藏 所屬分類:
讀書