我公司堅持將SCRUM作爲維護和擴展代碼庫的開發過程。SCRUM和傳統/高度耦合代碼
我們的代碼庫沒有文檔,用各種技術和高度耦合(各地的全局變量,在後端有大約800個Oracle PL-SQL存儲過程的程序性JavaScript代碼,沒有對象,隱藏的假設等)編寫。當然沒有單元測試。而且,開發團隊是新的,對現有代碼沒有經驗,並且絕對不是跨功能的,因爲他們每個人都具有特定的技術知識(例如JavaScript,但沒有PL-SQL)。
當我們第一次試圖引進SCRUM幾個月前,我們悲慘地失敗了,因爲
- 沒有想給估計,因爲他們沒有任何的代碼,因爲變化
- 編寫單元測試是不可能的知識添加單元測試需要,給出的代碼庫需要重構
- 建立一個適當的測試環境也對自己 (收集測試數據等),一個巨大的努力
- 沒有想嘗試到c個月屬於「外國」技術的手機代碼(例如一個接觸php部分的SQL人)。
另一方面,用戶故事確實以可用的形式出現,我們有一個相當不錯的流程來記錄和解釋開發團隊的需求。
鑑於上述情況,我認爲SCRUM可能不是最好的前進方向。不過,我想看看有沒有人有計劃提出如何在這樣的環境中接近SCRUM。
如何使用SCRUM特別是遺留代碼庫的問題?問題與您選擇的項目管理理念有何關係? – Matthew 2015-03-31 19:23:55
我的理解是SCRUM需要在sprint結束時測試用戶故事的實現。鑑於代碼庫不支持單元測試(這就是我稱之爲遺留代碼的原因),問題是我們是否可以採用SCRUM。我們應該花費太多時間重構要進行單元測試的代碼,或者提供未經過單元測試的用戶故事。 – user2465039 2015-03-31 19:30:52
還有其他類型的測試可以在不易於單元測試的系統上完成。有很多可用的集成測試框架。邁克爾羽毛的「與遺產代碼有效地合作」也許是一本好書。 – Matthew 2015-03-31 19:56:46