2012-02-12 48 views
0

我們正在審查Scrum並瞭解我們如何在我們的產品中實現它。由於它對我們來說是相當新的,大多數例子都遵循一個非常簡單的循環,所以我們對它如何適用於我們的情況有一些疑問。如何處理並行產品中的單個團隊?

我們是一個由少數開發人員組成的團隊。我們有1款產品具有多個並行產品版本。例如:

Foo/ 
    /version_1 
    /version_2 
    /fork_a 
    /fork_b 

第1版是我們的傳統版本,它主要接收錯誤修復,但我們需要從我們的主要發展港口回來,偶爾功能:第2版。兩個fork_a和fork_b是我們的產品的特殊版本, Foo,可以從另一個用戶界面轉到一個小的額外功能。目前,當叉子製造完成時,它被視爲關閉,沒有任何東西移植到該分支。

我們的問題是所有這些產品版本都是並行開發的,我們無法想象如何保持這一點。 (我們計劃使用TFS 2010作爲我們的工具,因此任何直接示例都是有用的。)

我們雖然將所有東西視爲不同的產品,每種產品都有自己的版本和衝刺。但是這意味着需要在版本1中使用功能A以及版本2中的功能B的開發人員可以使用並行衝刺進行預訂。我們基本上需要手動管理。這意味着我們無法正確生成報告來對此進行可視化。

另一種想法是將所有東西視爲單一產品並放棄發佈期限。或者使用季度版本,並且在所有產品的衝刺下。但這意味着我們可以在一個月的衝刺的第一週內發佈產品。我們如何與之合作?或者,我們如何正確地查看單個產品版本所做的工作?因爲工作開發人員X在sprint 1和2中所做的工作對於我們所定位的產品發佈無效。

任何真實世界的例子和想法如何管理這是非常感謝。

回答

0

要查看在特定版本上完成的工作,請在簽入時使用工作項關聯,這樣您就可以簡單地查詢哪些項目進入了哪個分支。

使用自動構建自動將變更集(以及因此工作項目)關聯到產品的內置版本。通過這種方式,很容易找出哪些二進制文件發生了哪些更改。

然後終於讓市場營銷人員決定如何命名/編號每個發佈,技術版本號不必與營銷版本相匹配,大多數微軟產品都是這方面的一個很好的例子,Windows 7並沒有版本號爲7,內部使用6.1,版本號7600.16385.090713-1255

1

我們處理的是與我們的Scrum團隊類似的情況。我們有一個更廣泛的產品,我們用一個團隊開發(內部桌面應用程序,網絡應用程序,Web服務)。所有人都有一個共同的技術基礎(C#.NET),但有很多客戶和演示技術。實際上,我們有足夠多的軟件開發人員將其分解爲單獨的團隊,但我們沒有足夠大的支持人員(QA,DBA,BA)來這樣做。所以我們最終修改了經典的Scrum方法,因爲並不是所有的故事都可以由整個團隊來處理,有些是更多的web開發和更多的桌面。我們仍然取得了很大的成功,每兩週就對我們所有產品的反饋,並向利益相關者進行組合演示。我們也同步發佈所有產品。

我認爲要做的最好的事情就是開始處理似乎適合的任何過程,並在回顧過程中一路調整。不要太擔心成爲教科書,因爲所有敏捷流程都是根據您的具體情況量身定製的。做一些事情「正確」比在嘗試做出決定時不做任何事情要好。

0

我曾經在團隊中工作過,樹幹和樹枝像你擁有的一樣。當時我們沒有練習敏捷,但這並沒有阻止我們用我們的常識來拉動。如果我現在要再做一次,我將有一個主板用於所有需要在衝刺中發生的工作,但也爲每個不同的分支/分支都有子板。主板和子板每天都在同一時間更新。子板僅提供特定於每個叉子/分支的故事和進度的可視化。主板上的所有內容仍然完成,每次衝刺都會完成標準。版本需要同步到相同的衝刺間隔(時間可以不同),以保持團隊合作(沒有平行衝刺)。