當DDD遇到專案管理

genius_li發表於2011-10-17

我在一個軟體公司,由於需求膨脹太快,公司將大量功能進行外包並以此為發展趨勢,這其中最大的問題就是外包軟體質量無法保證。我在進行這樣一種嘗試,本部進行需求及領域建模以及模型層(領域層)的實現,提供核心的領域模型的實現及相關文件,只對外圍功能進行外包。但當著手時,發現有一系列問題,首當其衝的是專案管理。

我們公司按照CMMI4過程,從規劃、概要需求列表、資源估算,之後才能立項。即使公司允許使用敏捷過程,也是基於立項之後。我對DDD有一定的實踐,不過僅限於建模與實現層面,而對DDD的專案進行管理沒有經驗。

市面雖有一些DDD的書籍,但都是針對建模與實現的技術層面,沒有地方可以從“開發過程”層面進行參考的書。希望有這方面經驗的大神可以進行一些分享……

另外我想補充的是,我們公司的立項過程,對“概要需求列表”中的列表項需要做到:

1. 按功能拆分成列表項,按每項對開發建立專案任務

2. 每項中的功能必須可以進行測試,才能對測試人員建立專案任務

3. 對大於5人天開發任務量的功能進行拆分

但對於DDD,由於我只想開發出領域模型及實現,我會產出4樣東西:

1. 領域模型設計文件

2. 領域模型層的實現程式碼

3. 針對模型層的單元測試程式碼(以Facade粗粒度業務呼叫為入口,mock掉基礎設施)

4. 供外包使用的藉口API

這其中沒有表示層,所以無交付供測試人員測試的功能,所以不能按照之前的方式進行立項。

公司允許使用任何開發過程,我可以向管理層提出用SCRUM或RUP,只是我無法確定哪種方法更適合DDD,如果我用RUP,我還無法確定每個迭代週期做什麼,甚至我無法確定在哪個階段交付哪些成果。再次懇請有這方面經驗的大神可以不吝賜教,謝謝!

相關文章