2013-05-28 25 views
5

假設需要重構(太大而不能作爲現有用戶故事的一部分) - 是否可以在產品待辦事項列表上重構「故事」?「重構」產品待辦事項項目是否應計入速度?

重構的目的不是改變系統的行爲 - 因此根據定義,沒有給客戶直接的業務價值。

- 那麼重構'故事'有故事點,然後計算速度或這是不知何故作弊?

上下文: 我們在最簡單的結構中完成了一些存儲數據的初始故事。這些數據的結構不適用於即將到來的用戶故事,並且需要採用不同的方法,爲了適應這種新方法,需要更改現有數據結構的所有現有功能。

+1

什麼使得重構太大而不能作爲用戶故事的一部分進行合併?新的數據結構是用戶故事的依賴。 對此的更多想法: http://ronjeffries.com/xprog/articles/refactoring-not-on-the-backlog/ – tuxayo

+2

這個問題是無題的,因爲它不在本網站的範圍內, [我可以在這裏詢問什麼主題?](// stackoverflow.com/help/on-topic)另請參閱:[我應避免詢問哪些類型的問題?](// stackoverflow.com/help/dont-ask)您可以在[另一個Stack Exchange站點](// stackexchange.com/sites#name),*也許* [pm.se]或[softwareengineering.se]上詢問。請務必閱讀幫助中心針對您打算髮布問題的網站的主題頁面。 – Makyen

回答

8

在我看來,在您的產品待辦事項列表中有這樣的項目是絕對沒問題的,因爲我總是將PB作爲軟件完成所需的一切。

我以前在產品待辦事項列表中經常有功能,bug修復,重構和研究任務。如果你沒有把它放在積壓之中,那麼這項任務將如何完成呢?您還需要爲任務定義「完成」,這有助於描述重構的目標(使代碼更快,代碼更具可測試性等)。

+0

謝謝 - 我的結論:估計所有類型的積壓物品。故事點積累修復錯誤/重構。如果團隊發現重構是必要的/錯誤,那麼要完成的工作的規模會相應增長。 我們的產品Backlog是一個名爲「用戶故事隊列」的Sharepoint列表。也許重命名它(並且不使用Sharepoint)可能會有所幫助... 如果可能的話 - 將重構任務附加到需要它的用戶故事 - 以便重構完成JIT並達到某個目的。 – AndyM

+0

我同意這種做法。重構是爲了提高代碼庫的效率和/或可維護性,即使他們沒有注意到它們,也會爲客戶/產品增加正面價值。因此,我希望它被包含在衝刺速度中。 – NickGPS

1

我看到這個問題靠不同的團隊以幾種方式接近。

1)將技術債務項目(如重構)作爲故事添加到產品待辦事項中,用戶類型爲「開發者」,業務價值表示爲直接成本或ROI。

這具有使每個人(包括客戶)都能看到技術債務項目(及其業務價值/存在理由)的優勢。它還使包括必要技術工作的速度得到考慮和可見。

但是,它們可能太過技術性,不適合每個人都理解,並可能浪費時間來解釋和談判這些項目。對於每個人來說,商業價值可能並不明顯或可以解釋,特別是那些注重功能的人。

2)爲技術債務問題預留一次'特殊'衝刺。

這些都是跟技術積壓完全分開的產品積壓。這消除了團隊爲他們制定案例的必要,推動技術債務項目被添加到基於業務價值的積壓中,或者迫使這些問題進入用戶故事形式。

缺點:社區中有些人反對任何一種特殊的迭代。它還要求客戶(以及所有人)接受'黑暗'迭代的生產力衝擊,其中沒有明顯的進展(和速度)。

3)將技術債務所需的時間捲入故事。

這允許團隊只承諾那些可以完成而不會招致技術債務的項目。因此故事點和速度將包括重構等內容。

我看到的一個很大的缺點是,它意味着故事應該在沒有技術債務的情況下完成......這似乎違反了只做足夠完成項目的原則。

+0

關於第3點,「......這似乎違反了只做足以完成項目的原則。」。在我們的團隊中,完成項目意味着該項目必須是「完成完成」,或者必須遵循完整的完成定義,並且如果DoD說應該重構代碼以最大限度地減少技術債務,那麼重構將在衝刺中被考慮。否則,如果未執行重構,則項目不是「完成完成」,即它不能離開衝刺積壓。 –

0

這個問題有點過時,但主題本身不是這樣,我會冒險回答。

我認爲:不,重構是一個單獨的活動,在計算速度時不會考慮在內,因爲它不會帶來商業價值,也不會提供可用的增量。

這個數據的結構是不是要爲即將到來的用戶故事工作,需要不同的方法

那麼我會分別定義和估算的「即將到來的用戶故事」。

相關問題