敏捷是如何使你跑得更快?

發表于:2013-04-07來源:InfoQ作者:BenLinders點擊數: 標簽:軟件測試敏捷敏捷測試
對于為何采用敏捷軟件開發這個問題,企業經常提到的原因之一是希望能夠更快地交付軟件。研究表明敏捷項目能夠進行地更快,例如《敏捷項目的成功證據》一文中描述的哥倫布市敏捷工作效率基準項目。

  對于為何采用敏捷軟件開發這個問題,企業經常提到的原因之一是希望能夠更快地交付軟件。研究表明敏捷項目能夠進行地更快,例如《敏捷項目的成功證據》一文中描述的哥倫布市敏捷工作效率基準項目。

  在博文《誰說敏捷項目不能更快一些》中,Matthew Heusser分享了他在Agile Testing Days大會上的討論:

  2012年11月在德國波茨坦舉行的Agile Testing Days大會上,《敏捷測試:實用指南》的作者Lisa Crispin和Janet Gregory大膽聲稱“敏捷意味著更快”是無稽之談。

  會后,Janet Gregory向Matthew Heusser解釋了她這么說是什么意思:

  她說,敏捷的關鍵不是速度。速度的提升可能是附帶產生的結果,但是不是一開始就會這樣。向敏捷轉型這個過程會托你后腿,至少短期內如此。并且這個期限不是一兩個禮拜,它可能有一兩年之久。

  Matthew提供了為何他認為敏捷可以更快的幾個論據。他講解了如何構建正確的事情,忽略那些不值一提的需求以便節省時間。使用敏捷的另外一個原因是“老辦法也不快”。

  對比敏捷團隊和傳統團隊,前者一年中無法完成的事情,后者可能能夠完成,但這么比較他們不合適。一年中,傳統團隊也許能夠完成12個半需求,但卻搞得一團糟最終啥也沒有發布。

  他在博文結尾解釋了為何不同意這個觀點,并闡述了對敏捷能夠幫助團隊更快交付軟件的看法。

  還遺留一個問題:是否是更快了?Crispin和Gregory可能認為這個無所謂,如果只關注短期的進度,長遠看來這么做只會導致過度簡化,帶來的是痛苦和低效。我認為團隊能夠在流程改進過程中盡量杜絕浪費,工作效率也會隨之提升。

  在《讓敏捷跑得更快》一文中,Chris Turner討論了敏捷項目可能變慢的一些原因。他描述了經常遇到的四個原因,并給出了一些處理意見。

  不合適的人:從團隊中剔除那些不遵循良好工程規范或是正在把事情搞復雜的人。

  先定義流程:建立可以開放的溝通、自組織、授權的團隊。

  使用了不當的技術:讓團隊有權決定使用什么技術,如果該技術妨礙了發布,允許團隊重新做選擇。

  架構太復雜:重構,使軟件盡可能保持簡單。

  Neil Killick在他的博文《交付軟件最快的方式是保持可持續的節奏》描述了為何讓敏捷團隊加快交付速度會給軟件開發拖后腿。他講訴了關于敏捷團隊的一個故事,在為期兩周的Sprint中該團隊平均能夠交付10個用戶故事,但待交付的用戶故事卻增加了。

  現在想象一下,我們讓團隊每個Spring只完成一個用戶故事。那么,即便不能打包票,我們也能相當確信能夠交付這個用戶故事。我們還能相當肯定可以完成得很出色。

  現在我們要求這個團隊每個Sprint交付兩個用戶故事。即使該團隊極有可能能夠交付這個2個用戶故事,成功的概率也要比只要求團隊每個Sprint交付一個用戶故事時要低一些。所以我們就有了一點不確定性。

  現在再想象一下,合同大限將至,我們還在努力趕工,是不是該加把勁了。所以我們要求預計能夠交付10個用戶故事的團隊交付12個用戶故事(現在我們超負荷了)。甚至是14個?要求團隊步伐越快(或者說是越糟),交付軟件時無法預料的事情就會越多,最后交付的軟件很可能質量更差。

  他建議允許團隊保持一個可持續的節奏:

  讓團隊找到一個合適的平衡點、在他們能力范圍內交付高質量軟件,那么就創建了一個成功的軟件開發周期。

原文轉自:http://www.infoq.com/cn/news/2013/03/agile-faster

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97