2015-03-31 74 views
-2

我公司堅持將SCRUM作爲維護和擴展代碼庫的開發過程。SCRUM和傳統/高度耦合代碼

我們的代碼庫沒有文檔,用各種技術和高度耦合(各地的全局變量,在後端有大約800個Oracle PL-SQL存儲過程的程序性JavaScript代碼,沒有對象,隱藏的假設等)編寫。當然沒有單元測試。而且,開發團隊是新的,對現有代碼沒有經驗,並且絕對不是跨功能的,因爲他們每個人都具有特定的技術知識(例如JavaScript,但沒有PL-SQL)。

當我們第一次試圖引進SCRUM幾個月前,我們悲慘地失敗了,因爲

  • 沒有想給估計,因爲他們沒有任何的代碼,因爲變化
  • 編寫單元測試是不可能的知識添加單元測試需要,給出的代碼庫需要重構
  • 建立一個適當的測試環境也對自己 (收集測試數據等),一個巨大的努力
  • 沒有想嘗試到c個月屬於「外國」技術的手機代碼(例如一個接觸php部分的SQL人)。

另一方面,用戶故事確實以可用的形式出現,我們有一個相當不錯的流程來記錄和解釋開發團隊的需求。

鑑於上述情況,我認爲SCRUM可能不是最好的前進方向。不過,我想看看有沒有人有計劃提出如何在這樣的環境中接近SCRUM。

+0

如何使用SCRUM特別是遺留代碼庫的問題?問題與您選擇的項目管理理念有何關係? – Matthew 2015-03-31 19:23:55

+0

我的理解是SCRUM需要在sprint結束時測試用戶故事的實現。鑑於代碼庫不支持單元測試(這就是我稱之爲遺留代碼的原因),問題是我們是否可以採用SCRUM。我們應該花費太多時間重構要進行單元測試的代碼,或者提供未經過單元測試的用戶故事。 – user2465039 2015-03-31 19:30:52

+1

還有其他類型的測試可以在不易於單元測試的系統上完成。有很多可用的集成測試框架。邁克爾羽毛的「與遺產代碼有效地合作」也許是一本好書。 – Matthew 2015-03-31 19:56:46

回答

1

Scrum是一種產品開發框架/方法。代碼的好壞無關緊要。或者即使有這個問題的代碼。你可以使用scrum方法來寫一本書(this book實際上是使用scrum創建的)。

上次失敗的原因是scrum沒有正確執行。通常在引入scrum時,它不會100%實現。

Scrum是一個框架,所以人們無法真正地挑選並按照自己喜歡的方式進行改變。這就好像你在下國際象棋,但改變了一些規則,使遊戲更容易。它不這樣工作。

從技術上講,估計,單元測試和用戶故事不是scrum的一部分。但是它們通常與Scrum一起使用,因爲它們是有用的工具。 Scrum的核心描述爲here並概括爲herehere

爲了成功實施,您的公司需要至少派一個人參加認證的ScrumMaster®課程或僱傭Scrum教練。

如果實施正確,但scrum可能潛在地提高您的產品質量。 Scrum是現代產品開發(尤其是軟件開發)框架。我們不能保證Scrum能夠解決您的問題,但是majority of organisations使用scrum進行軟件開發是有原因的。

0

認證是證明你跟着當然,不是說你擅長你做什麼 好笑:)
的Scrum解決方案:
步驟1.建立多職能團隊,每隊作爲儘可能多樣化的專業。引入'結對編程',讓人們互相學習......
第2步。將您的'代碼庫'視爲一個新的MEGA項目!你的Scrum團隊開始用模塊來處理它:當時一片。
第3步。組織每個模塊以包含來自'代碼庫'的一個應用程序並處理它:初始評估,衝刺計劃,產品積壓等。 - Scrum!
您的XP解決方案:
第1步。帶上XP教練來培訓您的員工!幾天的強化訓練可以讓你從頭開始(用右側的教練)。您將擁有跨職能團隊,配對編程,連續迭代等。
第2步。將您的「代碼庫」視爲一個新的MEGA項目!你的XP團隊開始在模塊中處理它:當時一片。 (敏捷,我愛你!)
第3步。保持教練方便前三個月...你需要他!
享受!

+0

我真的很感謝答案。不過,我認爲你重新執行了我最初的想法。具體來說,我認爲SCRUM不能應用,因爲:步驟1不能執行(團隊不是多功能的,正如我所說的),步驟3不能執行(高度耦合的代碼不允許組織模塊包含我們的一個應用程序代碼庫)。我錯過了什麼嗎? – user2465039 2015-04-02 17:29:41

+0

不知道您的工作環境和項目的最貼心的細節我不能確定任何的Scrum或XP或RUP或DSDM或任何其他敏捷或瀑布方法可以在您的情況下取得成功。我所說的是我的答案中給出的步驟是在AGILE環境中的合理步驟!如果你(不管是公司還是技術團隊)不願意,或者你不能接受這些,那隻不過是你掌握的。 – 2015-04-02 23:07:12

+0

敏捷使您能夠隨着公司和個人而變得靈活 - 如果您的公司和團隊的最佳利益是學習更多語言,而不是敏捷實踐者,那麼您只需要爲此付出努力。配對編程存在的主要原因之一是技能交流(除了溝通和雙重焦點 - 一個人在代碼上,另一個人在正在進行的工作的整體形象上......)。 – 2015-04-02 23:10:40