敏捷交付的一天

每天走進辦公室,第一件事情是衝上一杯咖啡,在Pantry和同事聊會天。然後回到辦公桌前,查收前一天未讀的郵件。

項目經理和商業分析師打開產品代辦列表(Product Backlog),看看當前項目的進展。

產品待辦列表是團隊在進行迭代式開發時經常使用的一種工具,來管理在未來迭代中將要實現的用戶需求。出現在“產品待辦列表”中的用戶需求一般以“用戶故事”爲單位來組織。傳統的“堆棧式”產品待辦列表強調按用戶故事的優先級排序,越靠近棧頂的用戶故事優先級越高,且拆分得要足夠細,以便讓團隊在下一個迭代開始時從中選取要開發的用戶故事。

從產品代辦列表開始

迭代啓動會議(IPM)通常發生在每個迭代的第一天,團隊成員一起制定迭代計劃。這個會議由商業分析師主持,團隊一起同步幾個方面的內容:

下一個迭代的用戶故事;

對下一個迭代的期望和計劃;

風險的評估和總結。

不同的人對需求的理解是不同的,所有團隊成員都要明確用戶故事的相關內容、所要實現的功能、滿足哪些條件用戶故事纔算完成。迭代會議的主要產出是下一個迭代中需要完成的用戶故事,這些用戶故事即爲下一個迭代所要完成的主要目標。 

​站會(Standup meeting)是團隊一天協同工作的開始。團隊在物理牆前快速開一個會議,團隊成員逐個更新自己的狀態:

昨天完成的工作;

今天計劃做的工作;

面臨什麼阻礙,需要什麼幫助;

自己手頭用戶故事的進展,是否存在技術風險。

站會

既然是快速的會議,站會的時間就不宜過長,10分鐘左右爲佳。建議團隊成員站着開會,因爲研究表明,當人們坐着開會的時候,會議的時間會被無形中拉長——會議的重要目的是讓每個人在自己以及同事面前作出承諾,這個承諾是團隊之間的承諾。

站會結束後大家就開始了一天的工作。在敏捷開發中,所有需求都會以“故事卡”的形式拆分、細化、並傳遞給開發團隊。

一個迭代的敏捷軟件開發

用戶故事開卡(Story kick-off)常常是一天敏捷軟件開發的開始。在每個用戶故事開發之前,要確保BA、DEV和QA對用戶故事理解一致。這個溝通活動通常由DEV講解這個用戶故事要完成的功能及AC,一旦發現任何疏漏,BA會及時補充。DEV有任何疑惑也需及時提出來,當場確認,使這些功能得以正確實現。在後續開發中如果碰到任何疑惑,也應及時找BA瞭解清楚。QA會嚴格按照AC來驗收用戶故事。

結對編程(Pair Programming)是指兩位程序員坐在同一工作臺前開發軟件。

將代碼評審做到極致:錯誤發現地越早,修復成本越低

程序員之間的社交:團隊內充分的知識共享

結對編程

Dev把自己對應的卡開發完成並提交代碼後,需要和需求輸出方(商業分析師)在測試環境下desk check以驗收需求,否則不可以將卡挪到下一個泳道,這個過程叫Story Sign Off

如果能有超過四個小時的工作時間重疊,Always on(由電視、Mac Mini和Skype組成的無間斷視頻)一定要有。實時視頻能增加許多親切感和趣味,拉近團隊成員的距離;更能讓包括站會、desk check在內的很多敏捷實踐變得容易。有了Always On,信息不回擡頭喊一喊,開會了朝屏幕招招手,方便直接,即使大家相隔千里,也能隨時就問題展開討論,也算對得起“魔鏡”的名號。

敏捷團隊非常重視學習和分享,通過做session實現能力培養和知識傳遞是一種很常見的方式。每天中午,各個團隊會有計劃性地舉行session分享。爲了將知識分享的供需可視化,可以建立一個session牆,分成兩部分:一邊由團隊成員寫出想要了解的技術、業務知識,相當於是需求方;另一邊寫着根據需求而安排的session,相當於是提供方,這樣清楚明瞭,便於跟蹤。

Session牆

在一天的工作中,有時候會組織Showcase。功能演示(Showcase)是敏捷開發流程中的又一個實踐,通常發生在每個迭代的最後一天,目的是演示可工作的軟件。團隊把一個迭代中開發好的功能給相關人員演示,並收集反饋,以便在下一個迭代中可以對變化作出快速響應。

Code Review

開發團隊在完成每天代碼之後,會聚在一起評審當天的代碼,我們稱之爲代碼審查(Code Review) 。這樣做有幾個好處:團隊經過一天的高強度的思考與編碼,適當地停下來,看看其他人寫的代碼,同時將自己的代碼講解出來,往往能意外地獲得一些靈感,或許能解決自己面臨的阻礙。

互相瞭解設計思路,更好的建議和思路重構,提高代碼質量;

及早發現潛在缺陷,降低事故成本:如果這個時候發現代碼的壞味道,和一些需要改進的地方,代碼審查結束後可以花少量時間作出更改;

促進團隊內部知識共享。

團隊會保證代碼能夠與已有代碼進行集成,並且在一天的工作中也會儘可能頻繁地把代碼撿入到單個主線分支中。如果構建失敗,團隊會把修復CI當作第一優先級的事情來做。

完成Code Review,忙碌而有趣的一天結束了。在《選擇三件事》這本書中,作者建議讀者只要放棄什麼都想做的執念,我們的生活就會更充實。每天我們應當在工作、睡覺、家庭、朋友和健身這五件事中,選擇做三件主要的事情。回到家,陪陪家人、看看書、早點休息。新的一天會更加精彩!

閱讀:

項目管理中的敏捷實踐

淺談敏捷離岸團隊溝通

敏捷團隊需要怎樣的工作環境?

本文作者萬學凡,ThoughtWorks首席諮詢師,武漢。作者保留本文一切權利,未經許可請勿轉載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章