第一篇:軟件項目管理的理論與實踐
軟件項目管理的理論與實踐
摘要:本文在探討CMM/CMMI、敏捷編程等相關理論的基礎上,結合軟件開發(fā)實踐,提出了平衡敏捷與紀律的軟件管理思想,并探討了融合敏捷與CMM/CMMI的最佳實踐。
關鍵詞:CMM/CMMI,敏捷 當CMM遭遇敏捷
本世紀初,在國務院18號文件《鼓勵軟件產業(yè)和集成電路產業(yè)發(fā)展的若干政策》的推動,以及鼎新、東軟等先驅軟件企業(yè)的帶動下,國內掀起了一陣CMM風暴(CMM于2000年升級為CMMI,文中在不特別針對某個具體版本時,使用CMM泛指CMM/CMMI),軟件企業(yè)的CMM/CMMI評估形成了一股席卷全國的潮流。據(jù)CSDN統(tǒng)計,截止到2010年9月,我國通過CMM/CMMI評估的企業(yè)已達到1300家,全球排名第二。一時之間,CMM似乎成為了衡量軟件企業(yè)開發(fā)能力的唯一標準,成了發(fā)展我國信息技術行業(yè)的銀彈。然而,自2005年開始,一些有識之士就已經認識到CMM的局限性,紛紛撰文提出質疑。目前,隨著越來越多軟件企業(yè)CMM神話的破滅,CMM已經完全走下神壇?,F(xiàn)在打開百度,搜索CMM的相關內容,除去概念、介紹性的文章外,對其持否定態(tài)度占了絕大部分,繼續(xù)力挺CMM的文章幾乎絕跡。由此可見,中國的軟件界已經從CMM的狂熱階段轉入理性階段。
在CMM由盛轉衰的同時,以強調人本、效率為核心的敏捷思想開始悄然興起。從Kent Beck的極限編程(eXtreme Programing,簡稱XP)和敏捷聯(lián)盟的敏捷宣言中,中國程序員開始聽到CMM外的聲音。而隨著Martin Fowler、Robert Martin等敏捷大師登陸中國,數(shù)屆敏捷大會在北京召開,整個中國軟件界掀起了一股以務實、高效、簡約為特征的敏捷風。目前,軟件行業(yè)的媒體、雜志上,充斥著介紹XP、Scrum等敏捷方法的專題文章,秉承敏捷思想進行管理的軟件企業(yè)隨處可見,敏捷成了過程改進的最熱門話題。
面對CMM的盛極而衰和敏捷的方興未艾,我們不禁要問:CMM到底怎么了?敏捷真的適合我們嗎?我們該何去何從? CMM怎么了
我第一次接觸CMM是2000年。在此之前,我一直試圖尋找一套軟件開發(fā)標準,曾經學習過GB 85-88和IEEE-830、IEEE-12207等軟件工程標準,但一知半解,遠沒有形成一個系統(tǒng)化過程的概念。CMM的豐富、廣博確實讓我眼前一亮,好象打開了一面通向世界軟件技術的窗戶,看到了從未想象過的世界。但是,CMM那些繁復的規(guī)定和要求,又讓我望而卻步,“可遠觀而不可褻玩焉”。2002年,在信產部政策的推動下,各地方政府紛紛出臺了獎勵政策,稍具規(guī)模的軟件公司,都在躍躍欲試地準備CMM評估,CMM才真正走到我們面前,雖然當時還不完全了解CMM到底能帶給我們什么。
其后幾年,CMM/CMMI成了我工作的一部分,我對它有了更深刻的了解??梢哉f,CMM是中國軟件行業(yè)規(guī)范化的啟蒙者。CMMI-DEV 1.2的22個PA、48個特定目標、165個特殊實踐,覆蓋到了軟件開發(fā)和管理的方方面面,讓我們真正了解到什么是軟件管理。每個職業(yè)軟件人,無論是開發(fā)者還是管理者,都有必要了解、掌握這些內容。作為一個指導軟件企業(yè)過程改進的框架,CMMI提供了階段型和連續(xù)型兩種方法論,并通過5個通用目標、17個通用實踐,清晰地描繪了一條軟件企業(yè)走向成熟的路線。比如CMMI-DEV 1.2 Ⅱ級的目標,就是“管起來”,無論你用什么方法,只要把計劃、度量、需求、配置、質量保證等內容管起來,就認為是達到了Ⅱ級。當Ⅱ級積累到一定程度,認為各項目間有必要共享各自的經驗的時候,就可以向Ⅲ邁進了。遺憾的是,我們在引進CMM的過程中,犯了急功近利的毛病,囫圇吞棗,沒有真正按照框架的精神踏踏實實地進行過程改進,導致了CMM的水土不服。究其原因,我覺得問題應該出在以下幾個方面:
1.CMM的移植問題。CMM起源于美國國防部和國家宇航局,所針對的都是大型項目。這些項目失敗的成本巨大,對軟件質量要求非常之高,因此,對過程的精細程度要求非常之高。在制定模型時,為了做到方法的完備性,所制定的過程框架又涵蓋了各種情形,使過程模型更加復雜化。在移植到中國后,由于評估時間等的壓力,我們并沒有充分地消化CMM的精髓,沒有考慮我們企業(yè)所能承受的成本,沒有根據(jù)項目的實際情況進行有效裁剪,而是僵化地全套照搬,建立了過于復雜的管理流程,形成了大量面面俱到卻無人問津的過程制品,反倒失去了對項目核心的掌控,導致生產效率降低,產品質量下降。而過程改進人員又普遍脫離了開發(fā)實踐,CMM成了教條,使開發(fā)人員產生了反感情緒。
2.CMM缺少工程方法。CMM是一個能力標準,只講要做什么,卻沒講怎么做。例如CMMI-DEV 1.2 Ⅱ級的7個PA,全部是項目管理的內容,基本未提及工程方法。CMMI-DEV 1.2 Ⅲ的11個PA,雖然涉及到RD、TS、PI等技術領域的內容,但只提了宏觀要求,并未涉及細節(jié)。這種設計方式,是因為CMM的創(chuàng)建者假定軟件企業(yè)已經具備了適合本企業(yè)的、完整有效的軟件工程方法論。我國企業(yè)在引進CMM前,基本上還沒有形成自己的軟件過程和文檔體系,而是寄希望于CMM來改善這種情況。在CMM實施中,又普遍存在重管理輕技術的觀點,忽視了企業(yè)資產的建立,通常是照辦咨詢公司提供的模板,沒有進行有效的本地化,沒有認真探索適合自身的工程方法,從而導致管理先進、技術落伍的不良狀態(tài),也從根本上違背了CMM“過程改進”的基本思想。
3.CMM不適合小型項目。CMM起點很高,對各個環(huán)節(jié)要求極嚴,是真正的重量級方法。對周期短、回報小、資源不足的小型項目來說,使用CMM的成本太高,可以說是得不償失。這一點,在CMM剛剛進入中國時,SEI的專家們曾反復聲明,CMM的創(chuàng)始人Watts Humphrey老先生也一再強調。在CMM之后,Humphrey先生又建立了用于小規(guī)模團隊的TSP(Team Software Process)模型和用于個人的PSP(Personal Software Process)模型,作為CMM的補充。在為波音公司的IT部門進行CMM咨詢時,Humphrey先生根據(jù)各部門的實際情況,分別制定了實施CMM Ⅲ、CMM Ⅱ、TSP、PSP的不同方案。由此可見,CMM并不是放諸四海而皆準的銀彈,無論是公司還是項目,選擇CMM,都應該根據(jù)自己的實際情況進行理性的選擇,而不應該生搬硬套,以命令的形式強制推行。反過來,如果選擇了CMM,就要提供足夠的資源,否則就會事與愿違,反倒降低效率,影響產品進度和質量。
4.CMM的知識更新問題。CMM初稿是在1986年提出的,87年正式發(fā)布1.0版。它的基本內容,都是基于瀑布模型設計的。按照《人件》和《最后期限》的作者Tom DeMarco的說法,“CMM 已經有超過 20 年的歷史,它的成功經驗都是在 1985 年前獲得的。CMM 試圖將一個固定的模型強加于一個日新月異的行業(yè)之上,它鼓勵你效仿 IBM 在 1970 年代所采用的軟件開發(fā)方式。僵化,不敢面對變化,這是如今的軟件業(yè)最忌諱的?!?006年8月發(fā)布的CMMI-DEV 1.2版本,開始尋求對這一局限進行突破,但是進展甚微。例如,目前迭代式開發(fā)已經被公認是先進的開發(fā)組織模式,可以有效應對變化。而CMM在某些方面卻限制了迭代的應用。比如里程碑式的需求評審、設計評審,就是典型的瀑布模型的影響,與迭代方法中隨著開發(fā)的深入逐步獲取需求的思路完全矛盾,造成了兩者的沖突,客觀上限制了基于迭代的新式工程模型的應用。
5.實施過程中理論和實際的脫離。國內的CMM實施,最頭疼的就是找不到合適的SEPG和QA人選。按照CMM的思想,SEPG和QA應該來自具有豐富開發(fā)經驗的技術人員,能在開發(fā)過程中得到軟件人員的尊重,并給予全方位的指導,從而得到客觀的洞察力。而我們的軟件企業(yè)通常比較年輕,人才積累少,SEPG和QA的軟件經驗普遍不足,兼之過于追求理論上的完美,不注重跟蹤過程執(zhí)行情況,不注重收集反饋信息,導致我們的流程、制度脫離開發(fā)實際,引起開發(fā)人員反感。正如軟件界泰斗Boehm博士所說的那樣,“過程改進黑暗面的誘惑力是巨大的,實施者們很容易受其誘惑而陷入只追求表面文章的黑暗面之中”。這樣的過程改進只注重滿足標準,片面追求過程與規(guī)范的符合度,脫離了軟件開發(fā)實踐,忽略了實踐對理論的驗證、反饋,違背了過程改進的初衷,偏離了提高效率、提高軟件質量的根本目標。敏捷的特征
以CMM為代表的傳統(tǒng)意義上的軟件方法學描述,通常“能夠”處理任何大小的項目,而實際上真正的困難就來自于如何對這些方法加以裁剪以適合較小的項目。針對這種理論與實際的脫節(jié)現(xiàn)象,敏捷方法應運而生。相對于CMM這樣的重量級方法,敏捷方法常被認為是“輕量級”方法。敏捷的倡導者認為,軟件產品開發(fā)無法一開始就能定義產品最終的規(guī)程,開發(fā)過程中需要研發(fā)、創(chuàng)意、嘗試錯誤,所以沒有一種固定的流程可以保證專案成功。開發(fā)團隊應有明確的最高目標,熟悉開發(fā)流程中所需具備的最佳典范與技術,具有高度自主權,緊密地溝通合作,以高度彈性解決各種挑戰(zhàn),確保每天、每個階段都朝向目標有明確的推進。
相對于傳統(tǒng)方法,敏捷方法更重視“人”在軟件研發(fā)中的作用,重視效率,重視對變化的積極響應,倡導迭代式開發(fā),反對機械地盲從既有過程,反對面面俱到、堆積如山卻無人問津的文檔。自1996年敏捷先驅Kent Beck提出極限編程思想后,敏捷方法得到了廣泛響應,敏捷愛好者于2001年成立了敏捷聯(lián)盟,并發(fā)表了敏捷宣言:
? 注重個人及互動 勝于 過程和工具 ? 注重可用的軟件 勝于 詳盡的文檔 ? 注重客戶協(xié)作 勝于 合同談判 ? 注重響應變化 勝于 恪守計劃
2002年后,敏捷方法得到了迅猛發(fā)展。其中影響至深、波及至廣的當屬極限編程(XP)和Scrum方法。
極限編程是敏捷理論的先驅,“極限”的含義是將在開發(fā)中總結的最佳實踐發(fā)揮到極至。例如,如果你認為迭代是好的,那么就將迭代的周期壓縮至最小,甚至幾天、幾小時一次迭代。嚴格來說,極限編程并不是一套完整的方法論,而是一組核心理念和一套最佳實踐的組合。XP倡導溝通、反饋、簡單、勇氣四個核心價值觀,主張項目的設計、結構要保持簡單,要注重溝通和用戶反饋,要有勇氣接受變化、重構代碼。XP提出了項目計劃(The planning game)、小版本(Small releases)、隱喻(Metaphor)、簡單的設計(Simple design)、重構(Refactoring)、測試驅動(Test-driven)、結對編程(Pair programming)、代碼共享(Collective ownership)、持續(xù)集成(Continuous integration)、不加班(40-hour week)、現(xiàn)場客戶(On-site customer)、編碼標準(Coding standards)等十二個核心實踐,其中重構、測試驅動、小版本(迭代)、持續(xù)集成等實踐已經成了敏捷思想的核心,被現(xiàn)代軟件工程理論廣泛接受。XP作為敏捷方法的先驅,最大貢獻是為敏捷方法提供了大量基礎實踐。它的基本思想被各種敏捷方法廣泛接受、繼承,為敏捷的盛行奠定了基礎。
Scrum方法的名字取源于英式橄欖球爭球隊,其用意就是要把體育比賽中那種團結、拼搏的精神施加于軟件團隊。和XP相比,Scrum提供了更具體的工程管理機制,從而使Scrum的可操作性更強。這也是近年來Scrum方法盛行的原因。Scrum方法的核心,是將開發(fā)過程分解為一系列小的迭代,每次迭代稱為一個Sprint(沖刺)。每個Sprint通過計劃會議明確任務,通過每日例會掌控進度、問題,通過評審會議總結成果。如此反復,經過一系列可控的“沖刺”,最終達成項目目標。其基本流程描述如下:
1.列舉可以預知的所有任務,包括功能性和非功能性任務,形成所謂Backlog。2.將整個產品的Backlog分解成一系列Sprint Backlog,這個Sprint Backlog是按照目前的人力物力條件可以完成的。3.召開Sprint計劃會議,劃分、確定這個Sprint內需要完成的任務,標注任務的優(yōu)先級并分配給每個成員。Sprint的任務是以小時計算的,并不是按人天計算。
4.進入Sprint開發(fā)周期,在這個周期內,每天需要召開15分鐘的每日Scrum例會。5.整個Sprint周期結束,召開Sprint review meeting,將成果演示給Product Owner。該會議為外部會議,邀請干系人參加,一般不超過4小時。
6.團隊成員最后召開Sprint retrospective meeting,總結問題和經驗。該會議為內部會議,時間不超過3小時。
7.這樣周而復始,按照同樣的步驟進行下一次Sprint。
無論是XP還是Scrum,其基本思想都是互通的。它們所倡導的最佳實踐,看似一個個獨立活動,實際上具有很高的耦合度,不能孤立地執(zhí)行。例如,XP的共享代碼權,如果沒有編碼標準、結對編程作為基礎,是很難實現(xiàn)的;小版本沒有重構作為保障,會導致結構的混亂;Scrum的每日例會,要以“站立會議”的方式進行,以保證效率;Scrum的Sprint要以持續(xù)集成、重構等實踐作為保證,否則無法維護產品的完整性和可靠性,等等。
敏捷以一種充滿活力的方式,挑戰(zhàn)了傳統(tǒng)軟件工程思想的沉悶,激起了全球軟件人員的強烈反響。然而,任何事情都有其不利的一面,敏捷也是如此。敏捷無法管理大型項目,即使對比較適合敏捷的中小項目來說,敏捷也有自身的弱點,例如:
1.敏捷過于依靠個人素質和Team leader的領導能力,因此在團隊成員較新,缺乏足夠的經驗、技巧和敬業(yè)精神時,敏捷會失效;
2.敏捷經常會被誤解成不寫文檔。事實上,敏捷反對的只是面面具到、求全責備的文檔和過程,而不排斥必要的文檔。例如XP的12個核心實踐,就提到項目計劃、隱喻和簡單的設計三個涉及文檔的活動。敏捷只是提倡用一種更直接、更輕量、更易于理解的方式編寫文檔,而不是一概否定文檔。
由此可見,以CMM為代表的傳統(tǒng)方法和敏捷思想實際是事務對立統(tǒng)一的兩個方面。傳統(tǒng)方法強調過程、強調紀律,而敏捷方法強調個體、強調創(chuàng)造。如果將兩種思想有機結合起來,取長補短,達到平衡,就能找出更合適的過程改進之路。平衡敏捷與規(guī)范
在敏捷與傳統(tǒng)為誰是誰非的問題爭論的不可開交的時候,一些有識之士已經在考慮兩者的融合。其中比較有代表性的一位,是以創(chuàng)造了COCOMO模型、螺旋模型和經典名著《軟件工程經濟學》而聞名的Boehm博士。Boehm博士在2003年出版了《Balancing Agility an Discipline》一書,對平衡敏捷和規(guī)范的問題進行了詳細的論述。該書的中文版《平衡敏捷與規(guī)范》也已經于2005年由清華大學出版社出版??梢?,平衡敏捷與規(guī)范,已經是被國內外學者所認同的發(fā)展之路。敏捷與規(guī)范之爭,大致可以歸結為以下兩個方面:
1.人與過程孰重孰輕之爭,或者軟件到底是“工程”還是 “藝術”之爭; 2.質量尺度的把握,或者說,需要為質量付出多少成本。
人與過程之爭,焦點是軟件開發(fā)過程創(chuàng)造性的地位問題。CMM把軟件開發(fā)過程看作一個工程過程,希望利用在制造業(yè)等傳統(tǒng)行業(yè)中獲得的經驗來管理軟件開發(fā),對開發(fā)中的“個人英雄主義”行為持明確的否定態(tài)度,倍加推崇正確的過程、嚴格的工序和絕對的紀律。而敏捷方法的核心就是強調發(fā)揮個人或團隊的創(chuàng)造性,主張按照項目特點選擇過程。在敏捷專家看來,沒有什么規(guī)范是固定不變的,所有過程都由人而定,都是為項目成功服務的。敏捷和規(guī)范各有所長,以CMM為代表的規(guī)范過程更適合需求明確的大型項目,而敏捷更適合具有挑戰(zhàn)性的研究項目。
質量尺度的把握。CMM強調質量至上,不會因為效率犧牲質量。敏捷強調效率,一些敏捷方法提出了“滿意質量”的概念。滿意質量基于“任何事情都帶來成本,而我們所想要的總是超過我們的支付能力;質量在本質上是有條件的和主觀的;為了在軟件方面達到完美,我們不得不解決許多困難問題、達成許多折衷和解決相互沖突的價值,完美不會很容易或機械性地實現(xiàn)”的基本前提,提出了滿意質量的定義:(1)可帶來足夠的利益;(2)不存在致命性問題;(3)所帶來的利益超過問題所造成的損失;(4)在當前條件下綜合考慮所有因素后,進一步的改進所帶來的損害大于其帶來的幫助。滿意質量否定了質量至上的觀念,說明了敏捷思想更加務實的價值觀。應該說,CMM的質量目標更適合作為一種文化或信念,而滿意質量是對質量目標更理性的思考,更具有說服力和實用性。
敏捷強調個體、強調效率,但同時對個體素質要求較高,局限性較大。而CMM強調過程,強調質量,更適合于簡單、重復的生產活動,很難應付復雜多變的情況。事實上,敏捷與規(guī)范正是軟件開發(fā)過程中兩個不可或缺的方面。過分強調自由,開發(fā)過程就會失控,回到軟件危機前的“混沌”狀態(tài);而過分強調規(guī)范,又會導致僵化,扼殺人的主動性和創(chuàng)造力。因此,軟件管理的目標,就是平衡敏捷和規(guī)范的矛盾,使開發(fā)活動高效、有序地進行。對已經通過了CMM/CMMI評估,但仍希望持續(xù)改進的軟件企業(yè),我覺得最直接的平衡方法,是用敏捷的觀點重新審視既有規(guī)范,用效率觀點重新評價各種管理活動,逐步剔除其僵化、低效的部分,最終達到平衡。具體方法可概括如下。
1.對項目分類進一步精細化,提供更豐富的生命周期模型,并提供與之相適應的模板和規(guī)范要求,使之能夠盡量適應不同類型項目的情況。通過CMM/CMMI評估的企業(yè)所采用的流程規(guī)范,大多是繼承自咨詢公司提供的模板。雖然在改進過程中有適當裁減,但并未真正接受實踐的檢驗,而且普遍不能支持新的生命周期模型。要想讓規(guī)范更好地支持開發(fā)過程,幫助企業(yè)提高開發(fā)效率、產品質量,就應該不斷吸納新知識、新思想,不斷建立新模型,使企業(yè)資產庫不斷得到擴充。另一方面,企業(yè)資產庫對開發(fā)部門應該是開放的。開發(fā)人員是推動企業(yè)知識更新最積極的因素,管理人員應該積極支持、幫助、配合項目組使用創(chuàng)新方法、過程,認真跟蹤、觀察新方法的執(zhí)行效果,及時總結經驗教訓,將新方法及時合并到企業(yè)資產庫。
2.提供更靈活的裁減條件,減少不必要的中間環(huán)節(jié),給予項目經理更多的控制權限。任何過程都有其局限性,而每個項目都有其特殊性,不可能通過機械地復制既有過程就達到復制成功的目的。這一點,SEI的專家也是認同的,CMM的Ⅱ級命名為“可重復級”,升級到CMMI時更名為“管理級”,就隱含了這個道理。軟件不同于簡單的生產加工活動,是一個充滿挑戰(zhàn)和創(chuàng)造性的工作,軟件管理也不可能完全照搬企業(yè)管理的經驗,而必須強調“人”,特別是項目經理在整個過程中的主導作用。給予項目經理更多的控制權限,尤其是過程裁減的權限,更有利于發(fā)揮項目經理的聰明才智,引導項目走向成功。這是敏捷思想的精髓所在。對開發(fā)過程中的管理活動,要深入分析其對具體項目的作用,才能作出是否需要的合理判斷。以專家評審為例。理論上,專家評審可以集中專家的智慧,對開發(fā)活動肯定是有益的。但某些企業(yè)由于環(huán)境、業(yè)務復雜度、技術復雜度、人際關系等等原因,專家可能不愿意或沒能力提供有效意見,這樣評審就不能達到預期目的。如果評審成了走過場,就要引發(fā)深度思考,考慮評審所帶來的收益是否大于付出的成本,并決定是否裁減評審活動了。裁減的最終決策權應該交給項目經理,而不是SEPG人員。因為項目經理要對項目總體負責,只有他最了解、最關注項目的成本、進度、質量,其它人員的意見都具有局限性、片面性。
3.管理體制要從實踐中來,到實踐中去。所有針對軟件開發(fā)的管理活動,都是為了讓開發(fā)工作更有效、更可靠、更可控,都是為開發(fā)服務的。敏捷的最大魅力,就是所有最佳實踐都是來自于開發(fā)活動的,所以才會得到開發(fā)人員的廣泛擁戴。因此,管理制度的制定,尤其是過程、文檔模板的制定,要堅持實踐是檢驗真理唯一標準的原則,堅持從開發(fā)實踐中總結經驗,積累財富。要杜絕閉門造車式的過程改進,無論多么完美的理論,都要經過實踐檢驗后,才能驗證其正確性。軟件管理人員必須具備軟件開發(fā)經驗,并不斷深入開發(fā)實踐,體會規(guī)范的實際運用效果。管理規(guī)范要經過實踐檢驗后才能形成制度,并且要考慮是否能為開發(fā)人員所接受,所增加的管理成本是否物有所值等因素。如果脫離了實際,制度就會僵化,變成阻礙開發(fā)工作的束縛,達到適得其反的目的。
4.發(fā)現(xiàn)問題,量體裁衣,逐步實現(xiàn)過程改進。羅馬不是一天建成的,任何進步都要有一個普及、接受、適應的過程。CMMI 的組織過程焦點(OPF)明確地列舉了組織過程改進的方法。在CMM實施階段,由于時間的壓力,企業(yè)可能沒有真正按照CMM的精神來實施過程改進,急于求全、求大,或多或少地存在制度與實際兩層皮的情況。要改變這種狀態(tài),應該堅持持續(xù)改進的精神,改進要按照OPF的要求,評價組織過程,發(fā)現(xiàn)最薄弱環(huán)節(jié),找出最緊迫的過程改進需要,制定改進計劃,實施過程改進。按照這種方式,即使每次改進僅完成一個PA,只要真正落到實處,就會取得實際的進步。如此反復,企業(yè)就會得到真正的發(fā)展。如果違背了這個規(guī)律,一味求大求全,浮于表面,過程改進可能永遠是一句空話。5平衡管理與技術
在平衡敏捷與規(guī)范的討論中,還有一個不容忽視的問題,就是平衡管理與技術的關系。軟件是一個技術密集型行業(yè),是一種純腦力勞動,技術對于項目成功的重要性,是不庸質疑的。在CMM登陸之前,我們普遍存在重技術、輕管理的現(xiàn)象。CMM作為一個管理框架,重點在于強調管理,正是對片面強調技術的糾正。然而,隨著CMM思想的不斷深入,又難免產生矯枉過正的情況,反倒讓軟件企業(yè)忘記了立身之本,忽略了技術的地位,造成管理至上的錯誤。管理與技術孰輕孰重?如何擺正管理與技術的關系?要想平衡管理與規(guī)范,這些問題都是不可避免的。
1.軟件開發(fā)活動中技術的地位問題。軟件不同于傳統(tǒng)企業(yè),軟件產品的形成過程,主要依靠人的思維活動,是看不見、摸不著的。管理的目的,是為了引導人的思維活動按正確的方式發(fā)展,但是決不能替代人的思維。有人說,產生文檔的根本原因,來自于項目經理的恐慌,因為項目經理無法感知、控制軟件項目的進度和質量,只能依賴文檔來進行監(jiān)控。如果忽視了技術、技能的培養(yǎng),忽視了軟件人員的素質建設,思維就失去了基礎,僅僅依靠管理、紀律,是不可能獲得成功的。尤其在客戶要求日益復雜、技術日新月異的今天,技術的重要性越發(fā)突出。一個良好的設計思路、技術決策,往往是覺得項目成功的關鍵。因此,應該正確認識技術在軟件活動的地位,尊重知識,尊重技術,讓管理為技術服務。
2.客觀分析企業(yè)的狀態(tài)。管理和技術是保證項目成功的兩個決定因素,不能偏廢。作為企業(yè)領導,要實現(xiàn)過程改進,就要客觀分析企業(yè)的狀態(tài),分析清楚企業(yè)現(xiàn)在的弱項是管理還是技術,然后再制定相關政策,而不能想當然地片面強調某一方面,加劇不平衡狀態(tài)。我個人認為,在沒有實施任何認證的企業(yè),忽視管理的可能性較大;在通過了ISO9000、CMM的企業(yè),則往往夸大了管理,忽視了技術。
3.客觀分析管理和技術的分別。面對企業(yè)在開發(fā)過程中暴露出來的問題,要進行客觀、深入的分析,判斷是管理問題還是技術問題,再采取相應措施。比如現(xiàn)在普遍存在的需求失控的問題,從表面上看,是需求開發(fā)(ReqD)和管理(ReqM)的問題。但是,如果深入到問題本質,可能會發(fā)現(xiàn),需求變更是不可避免的。那么,就要從架構設計和開發(fā)過程方面找問題。例如可以采用組件式開發(fā),讓軟件易于適應變化;可以使用原型法,讓用戶盡早看到產品;或者使用迭代式開發(fā),及時規(guī)避風險,讓產品逐步接近用戶目標。如果死鉆牛角尖,一味在需求調研、文檔、評審上下功夫,就會事倍功半,降低效率。
4.注重技術人才的培養(yǎng)?!吧w成非常之事,必待非常之人”。兩千年前的漢武帝,就已經認識到人才的重要性。正是因為具有不拘一格用人才的非凡氣魄,漢武帝才能挖掘出衛(wèi)青、霍去病這樣的軍事天才,建立不世之功。在軟件行業(yè),也不乏蓋茨、裘伯軍、王江民這樣以一己之力獲得巨大成功的先例。因此,軟件研發(fā),尤其是開拓性軟件的研發(fā),必須要有大批具有專業(yè)知識、超凡能力的“非常之人”。軟件企業(yè)要具備容納百川的胸懷,重視技術人才的挖掘、培養(yǎng),提供鉆研技術的環(huán)境,打造尊重技術的企業(yè)環(huán)境,造就技術過硬的拔尖人才,才能提高自身素質,建立企業(yè)的核心競爭力,在市場上保持競爭優(yōu)勢。結束語
前文在剖析CMM的利弊的基礎上,用敏捷觀點重新審視了過程改進的方法,并闡述了軟件企業(yè)中管理和技術的關系。最后,我們再回顧一下敏捷宣言,權作本文的結束語吧。
? 注重個人能力,注重創(chuàng)新,注重互動,反對僵化的過程和低效的工具 ? 注重編寫好用的軟件,反對面面具到卻無人問津的文檔 ? 注重客戶協(xié)作,避免生硬的商務談判
? 注重適應變化,響應變化,反對墨守成規(guī),恪守計劃
第二篇:軟件項目管理
軟件項目經理所需的素質
許多人都以為項目經理總是與“理想與光榮”相伴的,其實作為一個有志于改進中國軟件開發(fā)流程的項目經理來說,他們承擔的更多的是“艱辛與痛苦”。
一個優(yōu)秀的軟件項目經理應該具備以下素質。
一、執(zhí)著
可以這么說,在中國如果不執(zhí)著是做不成任何事情的,因為在軟件開發(fā)流程中推行各種規(guī)范和管理制度的時候,你可能遇到各種各樣的阻力和障礙,如果沒有應付挫折的思想和準備,你是很難推行成功的。要知道這樣一個基本事實,項目管理成敗的關鍵是:如果你不堅持,誰也不會堅持下去的。指望領導的扶持和群眾的自覺是不可能的。只有堅定信念,努力打動別人,才能成功。
堅持到成功為止。只要決定上管理流程了,就不要后悔,唯有堅持,因為你拼命努力而實現(xiàn)了99%,你卻不知,最后當你決定放棄的時候也許就是你要成功之時。要知道你準備放棄的時候可能正是對方也準備放棄之時,唯有堅持,你才能成功
二、親和力
親和力是指你和團隊相互依賴,相互信任能力的大小。親和力是你領導團隊走向成功的基礎,如果一個團隊的向心力不夠,各自為政,那么失敗就會在身邊陪伴你。要團隊的每個成員都信任你,你必須要做到關心下屬,主動與下屬溝通,為下屬爭取合法權利等。關心下屬就是在日常工作中對下屬的工作狀況,發(fā)展方向進行指導,避免其走彎路;在生活中也對其身體狀況進行關心,促進身體和心理健康的恢復。
多找下屬溝通是消除誤會的潤滑劑,同時也是了解下屬內心真實想法唯一捷徑。做項目經理的人,在某些事情上的處理的確會與人不同,也難以令人理解。這個時候只有多與下屬溝通,逐步達成共識,爭取大家的理解和支持。記住,沒有下屬的理解和支持,你永遠無法實現(xiàn)項目管理的規(guī)范化。另外就是了解下屬的真實想法,經常了解一下下屬的真實想法有利于我們不斷改進和調整流程,使生產流程更加符合本團隊的實際。切記一點,做領導的一定要多尊重下屬的想法,并且與之溝通,若一味等下屬找自己,那么是一般下屬與之水火不容要攤牌時,才會與你溝通,這樣悔之晚矣。
為下屬爭取合法權利是項目經理的一項重要職責。敢負責任是項目經理基本素質,如果你不經常研究工作數(shù)據(jù)保障下屬的合法權益時,你就很難讓你的團隊保持高效率。
三、品德高尚
“一撇一捺是個人,世世代代學做人。”在這個世界上最難做的就是做個品德高尚的人。試想一個思想猥褻的人很難取得成功,即使靠鉆營取得也只是暫時的,他不可能取得長久的成功。只有品德高尚的人才能感染周圍的人,使團隊具有向心力,從成功走向成功。
人有三種,一種是仗勢欺人,一種是持才壓人,最后一種是以德服人。仗勢欺人的人自持地位高而指三道四,自然是不可能團結人,更不可能獲得成功;持才壓人的人自持學識高而盛氣凌人,或咄咄逼人。殊不知“聞到有先后,術業(yè)有專攻”,“尺有所長,寸有所短”,難以學到更高的知識,也就難以取得更大的成功。只有以德服人的人以自己的修養(yǎng)和品德感染人,勇于吃虧,樂于助人,以德報怨,只有這樣才能使你對立面德人都不忍心傷害你,團結到一切可以團結到的人,擁有這樣的環(huán)境,你怎么可能不成功。
勇于吃虧,首先要放下私心,如果一個人始終 圍著自己轉的人是不可能做到的?!叭瞬粸榧海煺D地滅”是八十年代后出生的人心靈普遍反應;但是要記住人首先是社會中的人,如果脫離了社會,人恐怕已不會成其為人了。因此只有當你拋棄私心,主動為人,別人才會反過來支持你,幫助你。
樂于助人,是人類的一個良好品質,就象一首歌中所唱的“人字的結構就是相互支撐”。管理流程是不可能靠項目經理一個人維持的,必須要大家支持你。但是這卻需要你多幫助別人,別人才會幫助你。不管團隊成員發(fā)生什么事情,你要盡你所能去幫助他,這樣團隊才可能繼續(xù)前進。
以德報怨,可能是人最難做到的。中國人就強調“人若犯我,我必犯人”,其實在這回中不會有真正的仇敵,大家明爭暗斗的結果如果過20年后再去看的時候,保準一大半的人都會覺得不值得,許多人賭得就是一口氣,將自己成功的希望給湮滅了。當你能用寬容喝善良對待你對立面的人的時候,還有什么東西能阻擋你成功?
“得道多助,失道寡助;多助之至,天下順之,失道之至,親戚叛之;以天下之所順,攻親戚之所叛;故君子有不戰(zhàn),戰(zhàn)必勝矣?!?/p>
四、口才
良好的口才是項目經理打動項目成員的必備武器,當你擁有良好的口才將會使你無往不利。當年希特勒就是用他那天才般的口才征服了德國,使他的《我的奮斗》貫徹到每一個德國人的心中,從而成立了第三帝國。
要使自己的項目管理思想貫徹到每一個項目成員心中,就必須要做到以下的演講原則:
1.根據(jù)項目成員的共同目標象他們制定演講內容,只有讓他們信服你才有意義;
2.調動聽眾的這種感官,訴之觸覺、視覺、聽覺,用黑板、姿勢來輔助你的內容。
3.不斷的總結效果,改進自己演講宣傳的接受度,如果效果不理想,嘗試換一個方式來表達.調動聽眾的這種感官,訴之觸覺、視覺、聽覺,用黑板、姿勢來輔助你的內容。
3.不斷的總結效果,改進自己演講宣傳的接受度,如果效果不理想,嘗試換一個方式來表達和描述。
4.讓聽眾學以至用,只有他們積極反饋,才能更深入的聽你的思想。
五、循序漸進
循序漸進,不急于求成是項目經理在項目管理中必需具備的品質,在中國CMM過程改進的熱潮中,真正實現(xiàn)CMM管理的企業(yè)屈指可數(shù),而以CMM改進過程實質性為企業(yè)帶來質量提升和效益改進的公司更是寥落晨星。
為什么會出現(xiàn)這種情況?難道CMM真的不適應中國過情嗎?不是,絕對不是。是這些企業(yè)的項目經理太心急,連CMM2還不知道怎么回事就直奔CMM3,他們忽視了事務發(fā)展的客觀規(guī)律,凡事必須循序漸進。如果有一個企業(yè)在2年內通過了CMM4,我有十足的信心說,那是花錢買征;如果樂觀一點,一個中小企業(yè)從CMM1走到CMM2大約要2年時間,大型企業(yè)只會更長,不會更短,因為他們需要在培訓和溝通上付出更大的代價。
“循序漸進,循序漸進,再循序漸進?!边@句巴斯德德經典名言同樣適用于我們項目管理領域,他將逐步把我們帶向成功。
六、持久求學
“書到用時方恨少,學至成時始知卑?!睂W無止境,我在生產實踐中發(fā)現(xiàn),整個項目管理過程改進就是“學習-培訓-實施-發(fā)現(xiàn)問題-再學習”的循環(huán)過程,項目經理如果不學習將不能解決現(xiàn)實工作中出現(xiàn)的新問題,更不可能站在一個戰(zhàn)略的角度來解決問題。
事實上,求學也不能沒有目標,否則學到的知識太龐雜,而不能融會貫通,這樣的知識對實際工作指導甚少,真正的知識是一個目標體系,嚴格按照流程來一步步的掌握我們所需要的知識。
最后,我總結一下中國項目經理所必需掌握的知識:
1.專業(yè)知識:數(shù)據(jù)結構、關系數(shù)據(jù)庫、操作系統(tǒng)、軟件工程、編譯原理。(外國的項目經理可能不需要掌握)
2.管理知識:項目計劃、項目配置管理、成本核算、風險預估、績效考核。這是項目經理必須掌握的內容。
3.網絡知識:服務器的架構、各種服務的配置。因為管理的大廈是基于軟件的管理,沒有一個服務管理的網絡配合是不可以想象的。
4.“越過高峰,另一峰卻又現(xiàn)”,這是中國項目經理在持續(xù)求學中會不停的挑戰(zhàn)自我,向更高的山峰邁進。
七、敢負責任
一個人因為有責任才有生存的意義。一個人隨著年齡的增長,責任感也會愈來愈重。成年時,法律也會賦予一些年少時沒有的責任。同時地位逐漸提高,責任也會相對加重。
一個人惟有負責,才能產生做人的價值。所負責任愈大,價值就愈高。換句話說,有責任,生命才有意義。如果沒有感受到自己該負的責任,即使年齡超過20歲,也不算是一個成年人。
因此,經理就是要負責任,如果不負責任就可以不要經理了!項目經理關系到一個項目的成??;對于公司他必須要承擔及時匯報項目進度、成本核算和質量系數(shù)的責任,同時也必須保證項目組成員績效考核,政策落實,預留人才儲備等責任,是整個項目中責任最大的人,如果沒有良好的心理素質和應對能力是無法擔負責任的。
實際工作中項目經理主要要負責項目組的人員安排調度、工作分配、工作審核、工作跟蹤、項目計劃、項目匯報總結、成本核算、利潤分配等職責。
八、以身作則
項目管理的一個重要工作就是定義各種規(guī)范和制定,但是這些規(guī)范和制度的執(zhí)行除了靠項目經理的執(zhí)著推行,口才宣傳,力主培訓、懲戒得當之外,關鍵還是在于項目經理的以身作則。如果項目經理自己都違反自己定義的條款的話,那么就別指望團隊會自覺遵守這些規(guī)定。
作為一個管理者以身作則是最基本的素質,千萬不要為自己違反規(guī)范和制度找各種借口,例如我我是公司只屬考核,我因為某某更重要的事情而不得不違反?!爸辉S周宮放火,不許百姓點燈”的話,是無法將規(guī)范和制度推入人心的。項目經理如果違反了規(guī)范,只有當眾加重處罰,別無他法。
因此,鑒于規(guī)范制度的權威性主要還是靠項目經理自己,只有堅持以身作則,才能將自己優(yōu)秀的管理思想貫穿下去,取得開發(fā)過程改進的成功。
九、要有威信
一個項目經理說話有沒有人聽,必須要靠威信,這種威信是靠自身的素質,而不是狐假虎威??扛邔宇I導的支持來強迫團隊執(zhí)行項目制度過程的話,是注定會失敗的。因為團隊成員不信任你,表面服從,實際消極怠工,就足以讓流程實質癱瘓。
做事要有信用,說一不二,不能因為朋友關心就講情面。公是公,私是私。平時可以稀稀拉拉,關鍵問題決不手軟,不因為朋友關系妥協(xié),這樣才能樹立威信,便于工作。
威信除了必要的威信之外,最主要的還是信用,項目經理在做事沒有絕對把握的時候千萬不要承諾,一旦承諾就無論如何一定要實現(xiàn)。否則,當實現(xiàn)不成功而丟失信用之后,再想讓團隊相信你,信任你就是非常困難的事情了。
十、善于總結
項目經理要善于總結,只有不斷的總結才能不停的完善自己,成功的事情總結經驗,失敗的事情要總結教訓,總結的過程就是不斷改進的過程,這也是CMM規(guī)范所必需的素質。
總結
總結的過程要多吸取別人的意見,不要武斷自己的結論。博人所長,綜合起來才算趨于完美。這個原因有二:其一,項目經理不是孤立的一個人,而是必須融于團隊之中,一個流程合不合理,不是由項目經理說了算,而是要由團隊的成員說了算,注意傾聽團隊成員的真實感受,不斷改進流程才能成功。中國的許多CMM改進失敗,并不是項目經理知識能力不夠,而是他們沒有一起與團隊總結,經多年經驗,我們發(fā)現(xiàn)大多數(shù)規(guī)范,必須要有一套合理的軟件支持才能成功,否則無論你的理想多先進,想靠程序員工作來提高過程質量的改進是不現(xiàn)實的。其二,“聞道有先后,術業(yè)有專攻”,項目經理不可能是全才,什么都懂。因此要和哪些與專攻方向不同的人一起總結。比如項目經理可能精通軟件開發(fā)流程的改進,但是卻不知道測試流程、網絡管理流程、品質保證流程的改進,而這些流程又直接作用于軟件開發(fā)流程。這個時候必須與測試人員、網管人員、質量保證人員共同探討,找出一條切實可行的改進方案。
第三篇:淺談軟件項目管理范文
淺談軟件項目管理
1.軟件項目管理的概念
軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,通過計劃、組織、控制等一系列活動,合理地配置和使用各種資源,對成本、人員、進度、質量、風險等進行分析和管理,以達到既定目標的過程。其根本目的是對軟件開發(fā)的各個階段進行管理,增強對軟件開發(fā)的控制能力,提高軟件開發(fā)質量。項目管理可以讓一個項目獲得高額的盈利也可以讓一個項目損失慘重,而編碼的影響力則相對小一些。軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發(fā)人員的個人開發(fā)能力轉化成企業(yè)的開發(fā)能力,企業(yè)的軟件開發(fā)能力越高,表明這個企業(yè)的軟件生產越趨向于成熟,企業(yè)越能夠穩(wěn)定發(fā)展(即減小開發(fā)風險)。軟件因其復雜性和難以度量,使軟件項目管理較之其他項目管理而言有其特殊性。
2.軟件企業(yè)管理國際標準
軟件項目管理日趨成熟,并且已在軟件業(yè)發(fā)達的歐美日及印度等國得到廣泛應用,而在我國,由于大多數(shù)軟件企業(yè)規(guī)模較小,生產方式依然是倚仗個人英雄主義的作坊式生產,軟件開發(fā)缺乏嚴格的項目管理和質量保證體系。標準化、管理過程標準化、度量標準化、應用領域內業(yè)務的標準化,都是推動整個軟件行業(yè)內、軟件產業(yè)鏈上各個企業(yè)規(guī)范軟件開發(fā)過程的前提基礎和有力保障。目前,軟件研發(fā)項目進行管理必須依據(jù)一定的標準,主要有ISO9000系列和能力成熟度模型(capabilitymaturity modeloISO9000系列和CMM的比較從背景上看,ISO9000系列國際標準是在總結了英國的國家標準基礎之上產生的,因此,歐洲通過ISO9000認證的企業(yè)數(shù)量最多,約占全世界的一半以上。受此影響,相當多的歐洲軟件企業(yè)選擇了IS09001認證。CMM是由美國卡內基一梅隆大學的軟件工程研究所(SEI)開發(fā)的軟件成熟度模型,美國的軟件企業(yè)更多的選擇取得CMM等級證書。在形式上,CMM分為5個等級(第1級級別最低,第5級級別最高),與ISO9000審核后只有“通過”和“不通過”兩個結論相比,CMM是一個動態(tài)的過程,企業(yè)在取得低級別證書后,可根據(jù)高級別的要求確定下一步改進的方向。從內容上看,IS09001和CMM都十分關注軟件產品質量和過程改進。尤其是ISO9000:2000版標準增加持續(xù)改進、質量目標的量化等方面的要求后,在基本思路上和CMM更加接近。盡管ISO9001標準的一些要求在CMM中不存在,而CMM的一些要求在ISO90O1標準中也不存在,但兩者之間的關系非常密切,都強調“該說的要說到,說到的要做到”。對每一個重要的過程應形成文件,包括指導書和說明,并檢查交貨質量水平。CMM強調持續(xù)改進,ISO9001的1994版標準主要說明的是“合格質量體系的最低可接受水平”(ISO9001的2000版標準也增加了持續(xù)改進的內容)。
對于企業(yè)來說,取得ISO9001認證并不意味著完全滿足CMM某個等級的要求。表面上看,獲得ISO9001標準的企業(yè)應有CMM第3至第4級的水平,但事
實上,有些獲得CMM第1級的企業(yè)也獲得了ISO9001證書,原因是ISO9001強調以顧客的要求為出發(fā)點,不同的顧客要求的質量水平也不同,而且各個審核員的水平也有些差異,取得ISO9001認證所代表的質量管理和質量保證能力的高低與審核員對標準的理解及自身水平的高低有很大的關系。
3.軟件項目管理軟件
項目管理技術的發(fā)展與計算機技術的發(fā)展密不可分,隨著計算機性能的迅速提高,大量的項目管理軟件涌現(xiàn)出來。它們可以用于各種商業(yè)活動,提供便于操作的圖形界面,幫助用戶制定任務、管理資源、進行成本預算、跟蹤項目進度等。根據(jù)項目管理軟件的功能和價格水平,大致可以劃分為兩個檔次:一種是供專業(yè)項目管理人士使用的高檔項目管理軟件,這類軟件功能強大,價格一般在2000美元以上,如Primavera公司的P3、Gores技術公司的Artemis、ABT公司的WorkBench、Welcom公司的OpenPlan等。另一類是低檔項目管理軟件,應用于一些中小型項目,這類軟件雖功能不很齊全但價格較便宜,如TimeLine公司的TimeLine、Scitor公司的Pro—iectScheduler、Primavera公司的SureTrak、Microsoft公司的Project等。根據(jù)我國軟件行業(yè)的現(xiàn)狀,下面介紹目前軟件開發(fā)進程中的一些有用的工具。
3.1項目計劃工具MicrosoftProject2003是一個業(yè)界領先的項目管理應用軟件,利用它可以發(fā)現(xiàn)新的、更有效率的方法來分配任務和資源、跟蹤項目進程及互相溝通項目的狀況直觀的計劃編制。在“項目指南”這種新的交互式工具的協(xié)助下,用戶將逐步建立一個新的項目、管理任務和資源。全面的整合,在MicrosoftProjec和微軟其他應用程序之間,用戶可以進行更加緊密的整合和更為流暢的轉換。更好的狀況更新,在新Wizard的指導下管理項目,可以允許調整MicrosoftProject計算實際狀況的方式。合理分配資源改進的搜索和過濾功能及新的圖表可以為項目鑒別和分配合適的資源。增強的個性化功能,個性化的MicrosoftProject之所以能具有更大的彈性,是因為它具有一種新的基于XML的文件格式、一種可擴展的對象模式及更強的OLEDB提供者。
3.2軟件開發(fā)管理工具美國Intersolv公司的PVCS,是世界知名的軟件開發(fā)管理工具。它作為當今優(yōu)秀的軟件開發(fā)管理解決方案,可通過對軟件開發(fā)過程中產生的變更進行追蹤、組織、管理和控制,建立規(guī)范化的軟件開發(fā)環(huán)境。PVCS是軟件開發(fā)的基礎結構,在軟件開發(fā)過程中可以完善地管理軟件系統(tǒng)中的多種版本自動創(chuàng)建完整的文檔,保障軟件的維護;全面記載系統(tǒng)開發(fā)的歷史過程,包括誰作了修改、修改了什么、為什么修改;管理和追蹤開發(fā)過程中危害軟件質量以及影響開發(fā)周期的缺陷和變化;管理需求分析等。
PVCS在以下幾個方面給軟件開發(fā)帶來了益處:規(guī)范開發(fā)過程縮短開發(fā)所需的時間、減少開發(fā)成本:它能完整詳細地記載開發(fā)歷史過程,便于軟件維護;同時通過排除開發(fā)中的錯誤、加強軟件一致性和可重用性,以提高軟件質量。當前的開發(fā)人員常常工作在含有眾多開發(fā)工具的環(huán)境中,如:編輯器、語言、編譯器、Debugger、數(shù)據(jù)庫等。而在這樣的環(huán)境中,PVCS這種跨平臺開發(fā)管理工具帶來的效益會十分明顯。
3.3軟件配置管理工具Rational公司推出的軟件配置管理工具ClearCase是目前所有配置管理工具中功能較全面和使用最廣泛的工具之一。它提供了全面的配置管理功能,包括版本控制、工作空間管理、建立管理和過程控制。版本控制ClearCase可對所有文件系統(tǒng)對象(包括文件、目錄和鏈接)進行版本控制,同時還提供了先進的版本分支和歸并功能,用于支持并行開發(fā)。
4結語
在軟件項目管理活動中,既要研究技術層面的問題,也要仔細考慮認識層面的問題,成功的軟件項目開發(fā)一定是兩者相輔相成的結晶?,F(xiàn)階段,我國軟件業(yè)的業(yè)內項目管理人員仍然更多關注于技術問題而忽視了認識問題,但對于成功的軟件項目管理二者是缺一不可的,甚至后者在更高的層次上決定著一個軟件項目的最終成敗。運用項目管理軟件來指導、管理軟件開發(fā),用軟件能力成熟模型對軟件質量進行管理,是科學可行的。
第四篇:《軟件項目管理方法與實踐》課程設計報告
軟件項目管理方法與實踐 課 程 設 計 報 告
1006602-** ***
一、設計時間
2013年12月23日-----1月6日
二、設計地點
湖南城市學院信息樓406機房
三、設計目的1,2,3,四、設計小組成員
五、指導老師
陽王東老師、費雄偉老師
六、設計課題
七、基本思路及關鍵問題的解決方法
八、流程圖
九、調試過程中出現(xiàn)的問題及相應解決辦法
十、課程設計心得體會
十一、源程序
參考文獻
第五篇:軟件項目管理工作總結
軟件項目管理工作總結
軟件項目管理這門課程是我們軟件工程專業(yè)學生的一門重要的課程,這門課程的開設必有其重要性。軟件項目管理的提出是在20世紀70年代中期的美國。由于開發(fā)項目不能按時提交、超出預算、質量達不到用戶的要求等原因,70%的項目出現(xiàn)問題。于是,軟件開發(fā)者開始逐漸重視軟件開發(fā)中的各項管理。軟件項目管理和其他項目管理相比有相當?shù)奶厥庑?。首先,軟件是純知識產品,其開發(fā)進度和質量很難估計和度量,生產效率也難以預測和保證。其次,軟件系統(tǒng)的復雜性也導致了開發(fā)過程中各種風險的難以預見和控制。因此,項目管理對軟件生產具有決定性的意義。
只有相信團隊合作才可能把項目做到最好,從整個項目的過程來看,團隊合作中需要溝通、分工、協(xié)作和監(jiān)督。只有做好這四項才算是一個好的合作團隊。首先,團隊合作最基本的技能就是溝通。溝通的目的就是讓別人了解你的想法,因為每個人考慮問題的時候總會有各種各樣的偏差,我們只有溝通很好的溝通來綜合所有人的好的想法,以減少走彎路,而讓事情進行的更順利。因此我們也開了幾次會議來互相了解溝通,當然最重要的是與項目經理的溝通。會議中他很認真負責地跟我溝通,我在溝通中用詞不當或犯什么錯誤時,他都會指出來,并改正我的說法,因此單從與他的溝通中就學到了不少以后工作時將會用到的實在的知識。我們項目每人都是按照他給我們的計劃提交相應的文件給他,但質量是參差不齊的,他都會進行審核,然后給出建議,讓我們修改優(yōu)化后,他才會通過。
我在此次課程中負責的部分是質量保證計劃書,這是從未了解過的內容。從課程和書本上的知識不足以讓我完成質量保證計劃書,于是又從網上找了很多模板和每一小項是在說些什么內容來完成我們組的質量保證計劃書。在這個過程中我學到了很多。我也感受到軟件項目管理是一門非常需要學習的課程。它對軟件工程項目的作用是至關重要的?,F(xiàn)在,作為學生的我所做的項目雖然都是一些小的項目,但是在小組共同開發(fā)的時候還是需要用到項目的管理。如:人員的分配,時間、進度的計劃,溝通計劃,項目執(zhí)行變更管理,以及質量管理控制等多種管理。我相信在今后的實習及工作當中,能更好的體驗和感受到項目管理的精髓,對軟件項目管理有更深入的了解。我也希望,學校的老師能夠在今后的教學當中重視軟件項目管理課程,多讓學生了解實例,去感受、體會軟件項目管理所遇到的問題和解決方案,理解軟件項目管理的精髓。