編者按:
CMM認證是當今IT界最熱的話題之一,這表明中國軟件企業已開始重視與軟件項目管理有關的問題了。為了了解國內軟件企業對軟件項目管理的認識程度以及他們在軟件項目管理方面的具體做法,日前,記者采訪了開思、東方通、瑞星三家純軟件公司的相關負責人。三家公司中,東方通業已開始按照CMM規范進行軟件開發。在采訪中,三家公司的負責人分別介紹了各自企業在軟件項目管理方面的經驗。開思公司的產品總監石宏峰先生還為記者詳細講解了開思公司的《產品部開發規范》。
經過整理,我們將東方通和瑞星兩家公司的負責人在采訪中所說的主要內容刊登于此。我們相信,其具有一定的認識價值。另外,我們將開思公司《產品部開發規范》的一部分也刊登于此——我們并不認為開思的規范就是最好的規范。對軟件項目管理而言,普適性是不存在的,好壞是相對的,適用不適用才是絕對的——我們相信,其具有一定的參照價值!
加強相關教育和培訓
朱律瑋(東方通科技首席軟件設計師)
楊樺(東方通科技總經理助理)
東方通科技從去年底開始為參加CMM認證(二級)做準備。擬議中正式參評的時間是今年11月。在這之前我們會請國內咨詢公司的有關專家和國外的評估師進行兩次預評估。
半年多來,我們覺得一切還算順利。起初我們擔心編程人員會有抵觸情緒——因為每完成一天的工作或一道工序或一個項目后都要做記錄、編文檔、寫報告,較之以前,工作量無疑是增加了——后來看看,大家對執行CMM規范還是理解的、支持的。
按照CMM規范開展工作后,到目前為止,公司的運營成本是增加了——因為要增加管理人員、撰寫文檔也需要人手——但從長遠看,其會帶來降低成本、提高質量、提高用戶滿意度等好處。對此,我們確信不疑。
與國外相比,我們在軟件工程管理方面的差距不僅表現為管理體制、管理方法、管理思想的陳舊,整個軟件業的落后才是根源。
個人英雄主義情結、喜歡單打獨斗是我們的民族性之一,其在軟件人才身上表現得尤為明顯,已成為中國軟件企業做大的一個瓶頸。造成這種狀況的原因,除了國內軟件業的發展水平不高、軟件項目規模不大和軟件企業管理者自身素質不高外,還有很重要的一點,即與軟件工程管理有關的教育內容幾乎沒有。在國外,PSP和GSP均為軟件專業學生的必修課,可在國內,這兩門課在學校里至今還沒有開起來。國外施行的是定崗培訓,比如撰寫文檔就是一門專業課,專門有人修它,畢業后拿它來“安身立命”,國內則是大家過獨木橋,統統都學寫程序。應該說,目前國內同行對軟件工程管理的重要性已有了一定的認識,但在相關人員的培訓上下的力氣仍遠遠不夠。
其實人才才是最關鍵的,F在軟件業最缺的人才之一就是產品經理,他們是軟件工程管理的主角。產品經理必須具備以下素質:具有長期的軟件開發經驗——般來講,要在8年以上;了解用戶的需求;對產品熟、對市場熟——他可以不了解一個產品的底層技術,但必須了解其功能,能把握其發展方向;具有協調能力?傊,產品經理并不一定非常聰明,并不需要在某一方面特別突出,但要八面玲瓏。這樣的人才太難找了。東方通的產品經理都是自己培養的。
CMM規范并非只適用于大型軟件企業,其也適用于中小型企業。CMM規范只是一個框架、綱要性質的東西。企業在落實它時要細化一次;企業將其落實到具體的某個項目時,要再細化一次;中小企業可以不像大型企業那樣將CMM規范細化得那么細,夠用就好,不要教條。
實施CMM規范、通過CMM認證有如下一些好處:確定工作流程和方式,從而使產品的質量和開發的可延續性有了保證;可以提高企業在用戶中的信譽度,增加企業與強勢公司競爭的籌碼;可以承接國際大公司的外包項目———美國公司愿意找印度公司來承接其外包項目,就是因為印度公司對CMM規范普遍比較重視,通過CMM認證的軟件企業也多;公司不再受制于人,人走了,事照做,這是一個公司成熟的表現。
軟件商業化的必要手段
談文明(北京瑞星科技股份有限公司研發部經理)
中國軟件產業發展時間不長,雖然已有部分技術達到國際水平,但由于商業環境還不夠完善,在軟件技術的商業化與軟件工程管理等方面,與國際同行相比,還存在差距。
只有率先將技術先進的產品推向市場的公司才會贏得利潤。在瑞星,技術商品化已被當作一種制度,它有助于提高整個企業的素質。
瑞星意識到在充滿競爭的環境中要獲得成功,天才人物是必不可少的,但他們并不是全部。目前,一個軟件工程的成功更多地要依靠科學家、工程師、制造人員和銷售人員的協同努力。
在軟件商業化的過程之中,建立規范化的易于操作的軟件開發行為規范是首先要做的工作。針對殺毒軟件的特點,瑞星專門設計了瀑布模型結合增量模型的開發方式,即將項目分階段來實現。首先實現市場最需求的核心功能,然后在此基礎上繼續開發,每個單獨的階段都采用瀑布模型的開發方式。
具體地說,一個基本的軟件開發流程包括需求階段、系統設計階段、詳細設計階段、編碼階段、單元測試階段、集成測試階段、系統測試階段、軟件發布軟件維護階段。其中決定軟件開發成功與否的關鍵階段是:軟件需求管理、軟件計劃管理、軟件質量管理和軟件配置管理。
為了在用戶和處理用戶需求的軟件項目組之間達成共識(用戶由最終用戶、高層領導、銷售人員和市場調研人員組成),“軟件需求規格說明書”是必不可少的。經過正式的評審和確認,其將成為后續工作的基礎。
軟件項目的實施過程是根據軟件項目的資源、約束條件和執行能力確定的,因此需要制定合理的軟件工程管理計劃,這是項目經理的職責之一。項目經理應定期檢查“項目開發計劃書”,按照當前項目開發的實際情況,對其進行調整。
為了保證每一個軟件產品都合乎需求,需要設立一個負責項目監督和協調的SQA。其會對軟件產品是否符合定義好的軟件過程中的相應部分進行審查、復審和測試。公司高層主管應該定期參與、評審SQA的活動。
軟件配置管理是指在整個工程期間對項目的所有軟件配置項進行規范化管理。如采用版本控制軟件對軟件配置項版本進行版本控制,采用基線管理方法對變化進行控制,即在遵循軟件工程標準的基礎上對整個軟件進行控制和管理,維護其完整性、一致性和可跟蹤性。
瑞星努力營造的是一個廣泛的網絡,研發、制造、銷售、分銷和服務,連續進行。圍繞著產品、市場和開發階段而不是單純的技術來組織各項工作。為了這個目的,標準操作是必不可少的。
附錄:開思公司《產品部開發規范》。ㄕ
說明:第一部分為《目錄》,從中可以看出開思公司《產品部開發規范》的整體架構;第二部分為《開發規范概述》,從中可以看出開思公司在軟件項目管理方面的一些具體做法。
1 目 錄
1 目的
2 開發規范概述
2.1 應用項目管理管理開發過程
2.2 標準的階段性開發工作
2.2.1 總體規劃
2.2.2 項目立項
2.2.3 需求分析
文章來源于領測軟件測試網 http://www.kjueaiud.com/