幕間休息:——完成的感覺
xpchina:BrokenDoor
--------------------------------------------------------------------------------
摘自《XP Installed》 第61-63頁 簡單的翻譯了一下,希望大家能夠喜歡。
XP 的嵌套式的設計和編程循環讓項目保持在軌道上,并且提供了一個健康的不斷完成的感覺。
--------------------------------------------------------------------------------
大多數項目持續數月之久;有一些會持續數年。為了防止在無邊無際地編碼-即使是漂亮的優質代碼-的持續打擊下變得發狂,每一個項目都需要停頓。一個程序員可以獲得的最好的停頓是一種完成的感覺。XP的設計循環提供了一個循環相套的節奏,每一個周期都有著它自己的完成時刻。
成功的運行測試程序每個幾分鐘就給了程序員們一個完成的感覺。跟你的伙伴分享這點小小的快樂吧。完成一個任務每隔幾個小時就提供了一個完成的感覺。跟所有的其他的程序員們分享這份感覺吧;休息一下;也許換一下伙伴。完成一個故事是一個重要的里程碑。每個人都得到成功的感覺。同所有的客戶和程序員們分享吧;也許可以舉行一個小小的儀式。
完成一個迭代過程標志著完成了一些故事并且為下一次完成開啟了一扇門。同整個團隊共享這份快樂吧;確認一下是否準備好了比薩餅或者其他一些小的慶祝。
每一次發布提供了一個重要的完成的感覺:新的商業價值已經在客戶手中了。這是美好的一天!可以打開香檳了!
這些都是重要的時刻。他們為工作加上了標記,使它們擁有一種進度和意義的感覺。沒有這些時刻,工作就會變成苦差事,一個沒有結尾的死亡競賽。
- 程序員們掌握節奏
程序員們,每一天都創造自己的完成的感覺的責任。在一個時刻只考慮一個故事,從這個故事的任務中取出一個來進行工作。為這個任務編寫一個你需要的測試。運行它,直到它能夠運行。完成編碼直到它能夠完成工作,經常的運行所有的測試。當你正在為它工作的測試能夠運行的時候,休息一下。在你的腦海中慢慢體會 - 又完成了一點。
在一個時刻編寫測試中的一個,為任務測試并且編碼直到所有必需的測試能夠運行。休息一下。任務完成了!讓你自己感覺一下這個小小的勝利。從你的清單上劃掉這個任務。感覺到一點點興奮。任務完成了!
代碼是否已經定型并且可以發布了——不是全部完成了,只是已經可以運行所有的測試了?也許這是一個運行所有測試和發布一些代碼的好時機。代碼發布了!生活是美好的!
在一個時刻為一個故事工作。當為故事編寫的所有的測試能夠運行時,休息一下。一個完整的故事完成了!這真是太好了?蛻魧』匾粋標記為完成的卡片。生活是很美好的!
當一個故事完成的事后,這是一個明確地時候需要運行所有的測試并且發布你的代碼。
在代碼發布的時候舉行一個小的儀式。也許去找一個當你在柜臺要求服務的時候敲打在它上面的小鈴鐺。當你成功地發布后重重地敲它一下。當其他人給這個鈴鐺一下重擊地時候,給他們一點鼓勵-輕輕的鼓掌,從容地舉杯慶祝說“呀...耶!”。
給項目加上標點,享受這些完成地時刻。在一個迭代周期結束時,通過將已經完成的故事交還給客戶形成了一個小的成果!八鼈円呀浲瓿闪!苯o你自己一點掌聲-這很好!如果有一些故事沒有完成,就讓它呆著吧。確認先說明這些,因此你可以通過上面的貼紙標注關閉這個迭代周期!斑@些故事沒有完成,解釋...解釋!蓖nD一下!斑@里,”提交已經完成的一堆,“是我們已經完成的故事!毙菹⒁幌,給自己祝賀。
客戶們,你們也會為這些時刻感到滿意。一些你要求的東西已經完成了。你的問題已經解決了一部分。已經咬到了一大口,并且你獲得一些價值,一些你能夠用的東西。
慶祝這個時刻。程序員就像小動物一樣,只是沒有那么自然。我們需要持續的鼓勵來保持動力。所以對我們說:“好的,程序員,很好。很好的程序員!币苍S向我們扔一塊骨頭或者一個程序員餐像是一包泡面(譯注:原文是a package of red licorice 意指紅甘草精,可我不知道那是什么好東西,我們中國的程序員餐就是一包大塊兒的泡面了:))。
你的項目將會持續一段很長的時間。有時可能會更長。當這里有成就或完成的感覺時工作會變得輕松和愉快。提供這些時刻,享受它們。每天都成功,并且確保讓所有人知道你每天都在成功。
文章來源于領測軟件測試網 http://www.kjueaiud.com/