1. 為什么一個軟件公司需要基于CMM的軟件工作過程?
建立及遵循基于CMM的軟件工作過程可以為軟件公司帶來兩個I: 保證(Insurance)和投資(Investment)。
保證是指公司能夠保質,保量并按期交付給客戶令其滿意的產品, 即為當前工作帶來保證。投資是指在做當前的軟件工作的同時,一個項目或整個公司所建立起來的各項工作過程(各類文檔/資料),可以為將來的相關工作提供參考,甚至可以被直接采用。
2. 我認為有關CMM的工作是公司管理層需要做的,與軟件工程師沒有太大關系。
如今的軟件項目趨向于大規模和高復雜度。一個項目一般需要涉及多個階段來完成:項目提議,需求分析,項目計劃,系統設計,編制程序,各類測試,產品交付以及維護支持。在某些階段可能需要一個隊伍的共同參與。一個軟件工程師應該參與多個階段并與其他項目相關人員密切合作,這些工作的具體方針和實踐都可以得益于CMM。
3. 我們已經處于編程階段,可是我們的客戶還是不斷更改/增加軟件需求,我們應該怎么辦?
這是軟件開發項目中經常發生的情況。一個軟件公司不可能要求它的客戶具備CMM的知識或實踐。但在這種情況發生時,項目負責人(Project Leader)或技術經理(Technical Manager)應該遵循CMM建議相關的工作過程,組織項目人員討論及評審這些變化,如果影響到產品設計,編程,測試以及交付日期時,項目負責人或技術經理應該及時與客戶溝通,向他們出示相關文檔,協商解決方案。