如果團隊同時在實現(xiàn)多個故事該怎么辦?
如果團隊每次實現(xiàn)一個故事,將代碼發(fā)布到主干中并不算什么大不了的事情。只要這個故事相關(guān)的代碼在工作分支上完成實現(xiàn)并通過測試,我們把所有的相關(guān)內(nèi)容從工作分支上復制到主干上就可以了。搞定!
先等一下。如果團隊中同時開發(fā)多個故事呢?如果“開戶”故事完成了,而“存款”還在進行中呢?
如果我們在這個點上向主干進行同步,就會將尚未完成的“存款”故事同步進去,這時它還不能發(fā)布呢!而且違反了主干的版本控制方針!
當然,我們可以等到“存款”故事完成。
(等待……)
好了,現(xiàn)在“存款”故事完成了!太棒了!等一下……現(xiàn)在有人開始開發(fā)“取款”用戶故事了!沒錯!同樣的問題又發(fā)生了!

如果 “存款”故事的一個測試失敗了,就很難知道是因為“存款”故事相關(guān)代碼造成的,還是由于檢入同一分支中并且部分完成的“取款”故事相關(guān)代碼的原因。
等待無法起到任何幫助作用。這樣實際上是在滾雪球,期望在未來某個假設的時間點上所有的故事都可以完成(如果這樣的情況真的能夠發(fā)生的話),而且可以進行一次大規(guī)模的發(fā)布。
上述是一個非常普遍的問題。我們該怎么做呢?
下面是一些應對之策:
不要做過多的并行開發(fā)。要力圖將團隊的注意力每次都只放在一個故事之上。 如果在“開戶”完成之前就有人準備開始“存款”相關(guān)的工作,要等到“開戶”徹底完成之后再檢入“存款”相關(guān)代碼;蛘呖梢詫ⅰ按婵睢毕嚓P(guān)的代碼檢入到一個臨時的分支之中,如果你喜歡操作多個分支的話。 如果在“開戶”完成之前就有人準備開始“存款”相關(guān)的工作,可以讓他先從一些相對安全和不可見的UI元素等部分開始,這些東西的變化不會影響到整個分支的可發(fā)布性。比如,“存款”需要開發(fā)一些新的代碼以及對一些舊有代碼的修改,可以先實現(xiàn)新的代碼(新的方法、新的類、新的測試等等),而不是先去修改已有代碼。如果“存款”需要新的GUI元素,那就讓它們先不可見。等到“開戶”故事完成而且發(fā)布到主干上之后,我們就可以開始實現(xiàn)“存款”的剩余代碼了。
此文章共有2頁 1 2 下一頁
文章來源:中國項目管理資源網(wǎng)
|