軟件工程方法學之--CMM

 

文章出處: http://www.manageblog.net/windwithlife/archive/2008/07/06/6269.html

 

軟件工程與集成產品開發

(一)
    在我們進行產品開發管理的過程中,任何一箇中型以上的產品開發,一般都是一個集成產品開發的過程,這其實我們看待產品開發的角度與層次,讓我分層次來看一個IT公司的管理:
   1,一個常規IT公司從運作角度來說,按產品的生成消亡來看,分爲市場階段,產品階段,開發階段,發佈交付階段,維護階段。根據這些階段相應承擔其責的部門應有,市場部門(sales,marketing),產品部門(product),
RD部門(R&D),測試部門,支持部門(FAE,Call Service).同時,相應的支持部門還會有人力資源部門(HR)財務部門(Finance),運維部門(OM,Operation&Maintain).那麼產品集成開發與軟件工程所涉及的部門當屬R&D,Product,Testing,Technical Support.HR,
   2,從集成產品開發角度,系統工程組從產品部門得到需求(也可以從客戶)進行需求分析,然後進行產品集成系統設計(可以增加系統分析與設計部門),然後以SOW(任務分配書)形式分給不同軟件項目組,不同硬件組,同時配備給他們相應的測試組,最後產品測試組裝,發佈。那麼軟件工程的理論(具體的方法學)可以應用到軟件項目組中。(當然,軟件工程中的方法學也是一個與組織相關的系統工程,也有自己的組織方法,比如要進行培訓,要進行人力資源配合,要進行組織的不斷改進與變化)。比如CMM就有適用於軟件開發的SW-CMM也有適用於其它開發(如硬件相關產品的開發)P-CMM,爲了簡化,我們就只注重SW-CMM那麼集成產品開發中,軟件開發項目組,纔是SW-CMM大顯身手的地方,當然軟件開發中也有系統與架構設計這一環節,所以IPD(Integerated Product Development)強調是較高層次的組織協調與系統分析,而軟件工程方法注重是軟件開發及相關過程的方法論。這樣容易理解集成產品開發與軟件工程之間的關係。接下來我們來學習一下軟件工程中的方法學:CMM,RUP,XP。


a,CMM:
           根據軟件開發經驗,對軟件開發過程進行識別,標明,識別其中關鍵的部分(KPA),這些部分對軟件產品的開發起決定性或至關重要的作用,一個軟件開發企業,建立這些部分規則,及好的實踐方法,這樣這個企業組織就能夠成功應對各種軟件產品的開發,當然這些關健部分只所以成爲關健部分,都是以軟件開發經驗作爲依據,客觀,實用,當然一個企業不可能短時間內全部對這些部分進行關注與達到一定的組織能力。於是CMM(Capability of Mature  Model)對這些部分進行按級別劃分,企業可以一步一步,實現這些部分,這些部分按着級別,逐漸對開發組織進行越來越清晰的認識與越來越有效的管理。所以這些部分是分層次的。如果不做好第二層,就不可能做好第三層次。
            這些部分也可以按過程過化分,一個產品的軟件開發過程,其中有數年過程
        基本過程:也可以看作產品的生命週期過程。
                        需求過程,開發過程,驗證過程,發佈過程,維護過程。
        質量過程:
        組織過程:


b,RUP(Rational Unite Process)
          這是一套對軟件開發過程的方法學,強調以架構爲中心,迭代式漸近開發方法來完成產品的開發週期。
        也就是說是重點在於產品開發生命週期的一種方法學


c,XP (Extremely Process)
        算是一種Alige Process,強調面對需求快速變化的項目,強調快速的結對編程,開發產物的組內透明,與重構。也就是說是重點在於產品開發生命週期的一種方法學

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章