在實際項目過程中,通常業務分析師會提前將計劃的需求故事發給團隊成員。運用合適的分布式項目管理工具會讓這一過程更加容易,如 Mingle 或者 Jira。在工具中整理出下一個迭代的故事墻,讓團隊成員提前看到虛擬墻。在迭代計劃會議上,主持方將虛擬墻打開并屏幕共享給其他方,這樣各方就可以關注在同一個需求故事卡的討論上。
回顧會議:
由于各種限制原因,分布式團隊很容易產生溝通不足現象。而回顧會議創造了必要的溝通橋梁,因而非常重要,一定要保證所有方都能參與進來。遠程回顧會議通常利用在線白板,讓每個成員提前在在線白板上提交上個迭代里做得好的和值得改進的地方。這樣,當回顧會議開始后,每個人都是有所思考的,提出的意見更有深度,而且也可以更好地利用回顧會議的時間一起探討所有人都關注的問題。通常,通過回顧會議可以發現,處于不同地理位置的多方成員往往關注的事情也不同,而會議上各方成員又可以了解對方在擔憂什么,遇到了哪些困惑,并將這些擔憂困惑分享,形成大家都認同的改進行動。
結對編程:
結對編程這一實踐對于知識的傳遞非常重要,即便在分布式團隊中,結對編程依然是非常重要的實踐。合理地利用時差,在各方重疊的工作時間里通過屏幕共享工具遠程結對,是保證代碼質量的重要手段。
每天合理地利用遠程結對不光可以傳遞知識,同時也是一種有效地影響其他團隊成員的方式。遠程結對可以讓咨詢師清楚了解處于不同地域位置的客戶團隊的代碼水平、代碼風格和思維方式,從而可以通過每天頻繁的結對編程言傳身教最佳實踐。這種影響行為改變的方式效果顯著,而且對于增強團隊成員互相了解信任,并形成有統一責任感的“同一個團隊”,也非常有幫助。
但不可否認,遠程結對會影響開發效率。并且,由于各方工作時間安排以及公共假期等原因,很難保證遠程結對的頻率。所以,遠程的代碼評審(Code Review)就顯得格外重要。每天各方開發人員在一個固定時段去評審所有提交的代碼,能夠讓團隊成員不光關注自己,也了解別人做了哪些代碼改動。同時,代碼評審對于形成統一的代碼風格也很重要。當處于遠端的咨詢師想去去影響客戶的代碼風格時,如果無法讓所有的人都理解為什么要用某種風格,那么之后的一致性也就無從談起。而遠程代碼評審就能在溝通不足的條件下,從分展示好的風格帶來的改進(Lead By Example),從而達到提成遠程提升客戶技能的目的。
在分布式開發中,我們依然遵循基本的實踐,同時為了克服遠程開發溝通不足的缺陷,并達到整個團隊能力提升的目的,我們更關注建立溝通渠道和及時的分享。所有的實踐在滿足基本的目的之后,都要考慮是否能通過這一實踐分享知識以及獲取知識的正確方式,客戶成員是否能得到能力的提升。
除了溝通這一挑戰之外,分布式開發環境下當然還有其他各種挑戰,如如何遠程的讓團隊保持足夠的凝聚力,讓大家不因為距離而產生陌生感? 所以,經常在工作之余進行些適合遠程的團隊的游戲,定期邀請各方成員去對方工作的地方工作幾周,體會對方的工作環境,能夠更好地幫助團隊保持一致的目標。此外,分布式團隊模式下的項目也有需要關注的特有的風險,如各自國家的成員有不同的公共假期,最后的部署上線如何安排等細節都需要去關注。
由于基于知識流程外包的分布式開發追求交付的成功以及團隊的成長,那么面對不同的客戶團隊就會有不同的挑戰。作為咨詢師,在關注軟件交付本身的同時,更要關注如何提升團隊的能力。通過以上這些實踐不難發現,雖然依然采用敏捷的基本實踐,但在分布式開發的場景下,適當地改進基本實踐,才能真正實現高附加值的卓越軟件交付。
原文轉自:http://kb.cnblogs.com/page/158996/