工具和敏捷軟體開發之間的關係

agile_boy發表於2008-07-30

Kent Beck最近發表了一篇文章,其中談到了他對於工具和敏捷軟體開發之間關係的一些想法。他認為:很多人都錯誤詮釋了“個人與互動重於流程和工具”這條敏捷原則,他們以為敏捷軟體開發不需要工具。工具其實是敏捷軟體開發必需的部分,對於有效的開發來說,正確的工具集合可以起到催化劑的作用。

Kent認為,敏捷很注重“流”(flow),也就是說要進行小塊的軟體交付,並因此而帶來各個活動之間的頻繁切換。一般來說,在分析、設計、測試、編碼和釋出之間都會進行快速切換。而工具的作用,也從充分發揮某個活動的作用,變成了在活動之間的切換。他給出了使用牆上的卡片作為工具的例子,認為這滿足了活動切換的條件,即使有所不足。當結對程式設計的人員在某項活動中發現新的需求時,他們可以更新卡片,再回到之前的活動中。因此卡片有助於快速切換,但是它們的弱點在於只能暫時使用,而且無法在多個站點之間共享。

Kent指出,透明在敏捷中也很重要。因為敏捷擁抱變化,專案規劃發生變更就是很常見的事情。透明可以保證團隊中的每個人都能知道變化的發生,併產生彼此之間的信任。工具應該支援並鼓勵透明。

Kent補充道,常用的敏捷實踐之間的關係很密切,勝過單獨的工具。比如,每日部署實踐需要單元測試、配置管理和持續構建的支援。TDD實踐也需要單元測試工具和重構工具的配合。從另一個角度來看,每個工具也支援多種實踐。例如,配置管理工具可以支援每日部署、增量式設計和持續整合。因此每個工具支援多個實踐,而且每個實踐需要多種工具支援。

他指出:敏捷已經對開發人員使用的工具產生了深遠的影響。對於未來工具可能的變化,他的預測是:

  • 在活動之間更平滑的切換
  • 在更大的範圍支援自動化測試
  • 增強透明度
  • 實時協作

這篇文章可以下載多種格式。對文章的討論也在極限程式設計討論組中進行。

檢視英文原文:Relationship Between Tools and Agile Software Development

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14639675/viewspace-413623/,如需轉載,請註明出處,否則將追究法律責任。

相關文章