「完成」意味著「可交付」嗎?

2021-09-17 20:33:26 字數 2440 閱讀 4080

在很多敏捷論壇和部落格上都有大量關於「完成」和「可交付」不同之處的討論。儘管它們聽上去含義相同,但在一些討論列表和部落格上認為,二者都是被人廣泛誤解和錯誤使用的詞彙。下面我們集中看看別人是怎麼理解「完成」的。

團隊怎樣才能知道他們做完的故事是「完成」狀態,還是「可交付」狀態呢?

\\

\

大多數公司從來沒有注意到「完成任務清單」與「可交付」之間的差別,所以他們從來不討論這個話題;

\ 大多數程式設計師對從「完成任務清單」到「可交付」有多少工作要做沒有概念,所以他們和他們的管理者都不會做相應的計畫;

\ 因為第二點的存在,導致對於怎樣計畫和評估可「所謂的可交付」版本,在各個部分間缺乏相應的協調性對話。 \

\

最近,在jeff patton outlined的文章(請見info的摘要)中,他對「可交付」的特性進行了概述:

\

對於客戶——想要銷售或使用該軟體的人——來說,「可交付」就意味著可以開始對該軟體的實際銷售和使用了,也就是說其所需具備的特性數量必須達到乙個最低 限度,軟體必需要按照預期意圖工作——至少要具備舊有軟體的功能或者它所替代的舊有紙質流程;軟體的外觀和行為必須是正確的——擁有足夠高的質量並且是完 善的——這一點對於商業軟體尤為重要,因為競爭對手就在你的背後緊緊跟隨。

「可交付」就意味著「完成」,而且是徹底完結,塵埃落定。沒有必要再通過迭代去處理已經完成的東西,應該就是可交付的完成狀態。

\

alistair cockburn似乎同意「可交付」是充分的「徹底完結」,他認為從「完成」到「可交付」之間的轉變是乙個迭代過程,對此,他在「寫三個故事卡片而不是乙個」的策略上對此進行了詳述:第乙個故事卡片上描述實際的故事;第二個是佔位符,為我們看到第乙個故事後必然要做的改變保留位置;第三個故事卡片就完成那些改變後所需要做的優化。這三個故事都應該記錄到backlog並被列入到迭代計畫之中。

\ 目前,社群在談論關於「可交付」和「潛在可交付」時也有著不同的理解,一些敏捷的實踐者們都認同「潛在」就意味著「離可交付只差一步」,matt wynne對此的建議是:

\

對於將「潛在可交付」轉變到「實際交付」需要花多少時間這一點,大家可能有誤解。編譯**再將其佈署到系統測試或使用者測試環境 中,可以讓使用者感受到你所做的改變,這讓大家覺得軟體目前在潛在可交付狀態。但當你必須在淒清冰冷的夜裡修改**時,你就會知道它離真正的可交付差得還遠呢。
\

mike cohn似乎認同這一點:

\

……「潛在可交付」與「可交付」的含義不同。一些大型或者複雜的專案會要求在乙個發布週期迴圈的最後階段(一般是6個二周的開發 sprint再加乙個兩周的發布sprint)進入「發布sprint」和「加固sprint」。發布sprint可不是鬆懈懶散的工作週期,相反,它是 對系統中某些部分進行整固的時期。
\

mike kirby也給出了類似的意見:

\

在我們的公司裡有三個得到正式認可的階段(取決於你使用哪些敏捷技術):「**開發」、「加固「和「最終驗收」。「可交付」是在完成第三個階段之後才有的。
\

實踐者們似乎也同意「潛在可交付」和「可交付」之間的這種差別,彌合這種差距的辦法可能就是在乙個發布週期的最後加入乙個加固sprint。

\ 那麼團隊在彌補「完成」和「可交付」之間的差距時,還要注意些什麼呢?chris spagnuolo的意見是:

\

團隊可以確切地認為:「完成」就是指所有的功能特性都經歷了從「分析」到「實現」的階段。任何團隊都應該將「完成」的定義擴充套件得盡量寬泛。我們的團隊現在就將「完成」定義為:已完成分析的、已完成設計的、已完成編碼的、已完成測試的和已完成文件的。

一旦你對「完成」有了明確的定義,就可以與主要干係人一起討論什麼時候才算是「可交付」的。

\

alistair cockburn對於「加固sprint」加上了他的意見:

\

要讓sprint的長度可以滿足:

(a)在這個迭代週期中,使用者可以看到並修正特性,

(b)在這個迭代週期內,所有參與者都能讓自己負責的特性達到可交付的狀態,而且是在消費者級別上(或者任何你認為需要的級別)。 \

這一標準讓確定這個迭代週期長度的討論和計畫變得簡單了很多。

\

看來,現在大家對於「完成」和「可交付」二者還是有不少誤解。且不論現在的狀況,我們可以發現很多人還是認為交付的軟體只要達到「完成」狀態就足夠了,而且其中涵蓋了「可交付」的範疇。

\ 敏捷團隊需要將「完成」定義得與「可交付」越接近越好。可能僅靠一次熬夜加班,沒有辦法讓軟體從「完成」過渡到「可交付」狀態;團隊也許要在乙個 sprint之內增量式擴充套件「完成」的軟體直到「可交付」。團隊成員還需要與產品所有者以及客戶一起,定義出「可交付」在當前專案上下文中的具體含義。

\檢視英文原文

does \"done\" mean \"shippable\"?

如果融資意味著聯姻 收購是否意味著死亡

創始人兼ceo。部分內容有刪改。雖然instagram,drawsomthing因為收購一夜暴富,但通常情況下,收購都是失敗的,如果融資意味著聯姻,收購是意味著死亡還是重生?融資過程是這樣的,投資人對創業公司各方面進行評估考核,然後與之討論,協商,如果中意對方,融資完成,然後舉辦融資慶祝party,...

如果融資意味著聯姻 收購是否意味著死亡

創始人兼ceo。部分內容有刪改。雖然instagram,drawsomthing因為收購一夜暴富,但通常情況下,收購都是失敗的,如果融資意味著聯姻,收購是意味著死亡還是重生?融資過程是這樣的,投資人對創業公司各方面進行評估考核,然後與之討論,協商,如果中意對方,融資完成,然後舉辦融資慶祝party,...

Ubuntu PC意味著什麼?

5月1 日,世界 pc領導廠商 dell 經由 direct2dell 正式宣布 1 dell 與canonical 公司建立夥伴關係 2 dell 即將 ubuntu pc 此事,意味著什麼?自今年五月底起,ubuntu pc 在美國境內銷售 5 月2日,cnet 科技資訊網刊載文章,題為 二次擁...