軟件研發(fā)管理問題和解決方案_第1頁
軟件研發(fā)管理問題和解決方案_第2頁
軟件研發(fā)管理問題和解決方案_第3頁
軟件研發(fā)管理問題和解決方案_第4頁
軟件研發(fā)管理問題和解決方案_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、http:/ 上上 海海 漫漫 索索 計計 算算 機機 科科 技技 有有 限限 公公 司司軟件研發(fā)管理問題和解決方案軟件研發(fā)管理問題和解決方案常見問題分析常見問題分析基礎方法論介紹基礎方法論介紹整體解決方案整體解決方案林林 銳銳 博士博士Page 2目錄目錄1. 企業(yè)研發(fā)管理的理念企業(yè)研發(fā)管理的理念2. 常見問題分析常見問題分析3. 中型企業(yè)的研發(fā)管理需求中型企業(yè)的研發(fā)管理需求4. 基礎方法論介紹基礎方法論介紹CMM5. 基礎方法論介紹基礎方法論介紹 PMBOK6. 基礎方法論介紹敏捷開發(fā)基礎方法論介紹敏捷開發(fā)7. 基礎方法論介紹基礎方法論介紹 RUP8. 面向企業(yè)的軟件研發(fā)管理解決方案面向企

2、業(yè)的軟件研發(fā)管理解決方案9. 基于基于Web的集成化項目管理系統(tǒng)的集成化項目管理系統(tǒng) Future3.0Page 31. 企業(yè)研發(fā)管理的理念企業(yè)研發(fā)管理的理念1.1 1.1 目標目標企業(yè)的根本目標是企業(yè)的根本目標是“合法地賺取盡可能多的利潤,使企業(yè)利益最大化合法地賺取盡可能多的利潤,使企業(yè)利益最大化”。企業(yè)所有的特定目標和行動都是圍繞根本目標開展的。根本目標進一步決定了企業(yè)研發(fā)管理的目標和策略。企業(yè)研發(fā)管理的基本目標是:讓所有人員有條不紊地開展工作,在預定的時間和成本之內,讓所有人員有條不紊地開展工作,在預定的時間和成本之內,開發(fā)完成質量合格的產品,從而使企業(yè)和個人獲得預定的利益開發(fā)完成質量合

3、格的產品,從而使企業(yè)和個人獲得預定的利益。企業(yè)研發(fā)管理的奮斗目標是:調動一切積極因素,努力提高產品質量、提高工作效率并且降調動一切積極因素,努力提高產品質量、提高工作效率并且降低成本,使企業(yè)和個人獲得比預定目標更多的利益低成本,使企業(yè)和個人獲得比預定目標更多的利益。1.2 1.2 質量、進度(時間)、成本質量、進度(時間)、成本“質量、進度(時間)、成本”通常是衡量企業(yè)研發(fā)管理“優(yōu)劣”的三個關鍵指標。不同的企業(yè),甚至同一企業(yè)在不同時期,對三者的重要性看法是不一樣的。 如果出現(xiàn)“三者難以同時兼得”的情況,那么產品的決策者一定要搞清楚質量、進度(時間)、成本之間的復雜關系,判斷孰重孰輕,給出優(yōu)化和

4、折衷的措施。 1.3 1.3 規(guī)范化規(guī)范化 vs. vs. 超越規(guī)范化超越規(guī)范化在企業(yè)里,大部分的工作是成熟的,有成功的模式可以套用,應當走規(guī)范化的路線;而另在企業(yè)里,大部分的工作是成熟的,有成功的模式可以套用,應當走規(guī)范化的路線;而另外小部分的工作可能是獨特的,并不適宜套用規(guī)范(也可能沒有規(guī)范可以套用),那么應外小部分的工作可能是獨特的,并不適宜套用規(guī)范(也可能沒有規(guī)范可以套用),那么應當采用超越規(guī)范化的管理方式。當采用超越規(guī)范化的管理方式。通常前者約占80%,而后者約占20% Page 42.1 常見問題分析:立項管理常見問題分析:立項管理2.1.1 2.1.1 自主研發(fā)產品的立項問題自主

5、研發(fā)產品的立項問題擁有決策權的領導人獨自決定,或者招集有關人員開會商議是否開發(fā)某個產品。決策過程中的主觀臆斷比較多,風險很高。如果決策錯誤,即使人們努力開發(fā)出功能很好的產品,卻可能在商業(yè)上失敗。由于沒有進行充分必要的調研、可行性分析、立項建議、立項評審等工作,企業(yè)領導企業(yè)領導在組建開發(fā)團隊時難以給出恰當?shù)馁Y源和進度計劃。團隊只知道干活,卻不了解產品在組建開發(fā)團隊時難以給出恰當?shù)馁Y源和進度計劃。團隊只知道干活,卻不了解產品的開發(fā)背景,不清楚用戶期望的產品應該是什么樣的。在開發(fā)過程中經常迷失方向,的開發(fā)背景,不清楚用戶期望的產品應該是什么樣的。在開發(fā)過程中經常迷失方向,導致進度延誤、費用超支等問題

6、導致進度延誤、費用超支等問題。 2.1.2 2.1.2 合同項目的立項問題合同項目的立項問題 委托方(客戶方)和承包方(開發(fā)方)在簽訂合同的時候,雙方對軟件需求的了解并不深入,合同中對合同中對“開發(fā)什么開發(fā)什么”的描述比較空洞。合同簽訂之后,客戶經常變更需求的描述比較空洞。合同簽訂之后,客戶經常變更需求,開發(fā)方被迫不斷修改軟件,弄得疲憊不堪。,開發(fā)方被迫不斷修改軟件,弄得疲憊不堪??鋸埖馗爬ǎ撼撕贤痤~不變,其它一切都可能改變。剛簽訂合同時開發(fā)方似乎賺錢了,后頭卻可能得不償失。雙方在簽訂合同的過程中給出了一些空頭承諾(例如對進度、質量、費用的估計過于樂觀),在實際執(zhí)行時卻難以兌現(xiàn)這些承諾。處

7、理不好將引發(fā)合同糾紛,輕則雙方提前終止合同,重則雙方反目成仇。 2.1.3 2.1.3 建議建議創(chuàng)建一種群體決策的立項管理規(guī)范,不僅讓群眾貢獻智慧,而且讓群眾分創(chuàng)建一種群體決策的立項管理規(guī)范,不僅讓群眾貢獻智慧,而且讓群眾分擔責任,使成功的經驗被企業(yè)不斷復用,并升華成為企業(yè)的制度擔責任,使成功的經驗被企業(yè)不斷復用,并升華成為企業(yè)的制度。 Page 52.2 常見問題分析:常見問題分析: 結項管理結項管理2.2.1 2.2.1 共性問題共性問題某些項目由于進度拖延,不能按計劃結項;某些項目即使開發(fā)完成了,由于利益關系也不愿結項。這些“不良”項目或者已經完成的項目一直占用企業(yè)資源(如人力資源和設備

8、),無疑違背企業(yè)利益最大化的目標。在結項時,人們往往對財務和設備進行了詳細的清算,卻忽視了對知識財富、經驗教訓的總結。殊不知設備越用越差,但是知識財富越用越好,可謂主次顛倒。沒有對項目的價值進行評估,開發(fā)人員干完活后,不知道自己的工作成果產生多大的效益,缺乏成就感。結項后,不能對員工的業(yè)績進行公正考核,自然不能很好地激勵員工。合同軟件項目在結項之前,還面臨“客戶驗收”的一些問題。例如缺乏雙方認同的“驗收標準”,導致驗收過程混亂,過多地消耗雙方的精力。 2.2.2 2.2.2 建議建議首要措施是建立企業(yè)的“結項管理規(guī)范”和“驗收與發(fā)布”規(guī)范。自主研發(fā)的軟件產品在結項之前,公司內部要進行類似的“驗

9、收”,防止不良項目蒙混過關。 Page 62.3 常見問題分析:項目規(guī)劃常見問題分析:項目規(guī)劃2.3.1 2.3.1 共性問題共性問題在項目剛開始階段,人們對產品需求和技術的了解還比較膚淺,項目不確定因素比較多,此時很很難對工作量和進度作出比較準確的估算。難對工作量和進度作出比較準確的估算。軟件工程教科書和CMM推薦的COCOMO模型、代碼行估算方法等等,對大多數(shù)國內項目無法適用,效果如同“電腦算命”。由此制定的項目計劃可能項目計劃可能不切實際,后面經常發(fā)生項目計劃的變更(所以業(yè)界流傳不切實際,后面經常發(fā)生項目計劃的變更(所以業(yè)界流傳“計劃快不如變化快計劃快不如變化快”),將導致項目),將導致

10、項目管理的復雜性和風險提高。管理的復雜性和風險提高。項目的人員已經被上級領導限定死了,再多的活也是那幾個人干;項目的結束日期早就被領導和客戶指定了,不管合理不合理,反正時間一到就要交付軟件;除了辦公計算機和工資外,這個項目沒有其它經費,項目經理只有干活的權利沒有用錢的權利。如果人員、資金、時間都已經被毫如果人員、資金、時間都已經被毫無道理地指定了,那么項目規(guī)劃就失去意義,這樣的項目在國內非常普遍。無道理地指定了,那么項目規(guī)劃就失去意義,這樣的項目在國內非常普遍。 .2 2 建議建議建立企業(yè)的“項目規(guī)劃規(guī)范”,給出合適的項目估算方法和項目計劃模板。使用方便的軟件工具,幫助項目經理進

11、行項目規(guī)劃。 Page 72.4 常見問題分析:項目監(jiān)控常見問題分析:項目監(jiān)控2.4.1 2.4.1 共性問題共性問題許多項目經理肩負重要的軟件開發(fā)工作,他們往往把注意力集中在開發(fā)上面,很少認真考慮如何進行項目監(jiān)控 。沒有突出項目監(jiān)控的重點,項目經理要么什么都不監(jiān)控(導致項目失控),要么監(jiān)控得太多而陷入瑣碎事務中。 項目經理寫周期性項目進展報告時,記流水帳,或者復制上次的報告,應付了事。懶得動腦筋分析項目遇到的一些問題,例如某些任務的進度延誤了,不分析為什么延誤了,就順延。導致問題越積越多。項目實際執(zhí)行情況與原定的項目計劃嚴重脫節(jié),領導、客戶、市場人員、開發(fā)團隊不了解項目真正的狀況,使項目計劃

12、行同虛設。 .2 2 建議建議建立企業(yè)的“項目監(jiān)控規(guī)范”,使用方便的軟件工具,幫助項目經理進行項目監(jiān)控。上級領導和相關人員每周都要檢查項目的監(jiān)控要素,及時發(fā)現(xiàn)問題,及時解決問題,既要關心結既要關心結果也要關心過程。果也要關心過程。 Page 82.5 常見問題分析:配置管理和變更管理常見問題分析:配置管理和變更管理2.5.1 2.5.1 共性問題共性問題有些軟件機構竟然不使用軟件配置管理工具,用最原始的方式手工管理代碼和文檔,經常出現(xiàn)經常出現(xiàn)“成果丟失、版本混亂成果丟失、版本混亂”等問題等問題。不少機構按照的CMM的要求制定了配置管理規(guī)范。該規(guī)范在理論上比較完善,面面俱到,但是實

13、際操作比較麻煩,沒有突出重點。久而久之,人們厭煩后就逐漸放棄了規(guī)范,按自己的習慣操作,留下了隱患。例如不少程序被 checkout 后長久沒有 checkin;有些程序保留在開發(fā)者本機,根本就沒有放入配置庫。維護期間修改了程序,但是沒有放入配置庫。沒有變更控制流程,經常隨意變更需求、設計、代碼等,嚴重影響項目的正常開發(fā)進程沒有變更控制流程,經常隨意變更需求、設計、代碼等,嚴重影響項目的正常開發(fā)進程。 .2 2 建議建議建立簡單有效的“配置管理規(guī)范”和“變更管理規(guī)范”。并使用方便的工具,幫助團隊進行軟件配置管理和變更管理。 Page 92.6 常見問題分析:質量管理常見問題分析:質

14、量管理2.6.1 2.6.1 共性問題共性問題雖然人們大都認可軟件的質量很重要,但是許多軟件人員并不懂得如何有效地改善軟件質量屬性如正確性、健壯性、可靠性、性能、易用性、安全性、可擴展性、可復用性、兼容性、可移植性等等。不會分析當前軟件的質量要素是什么,沒有把精力集中在改善對經濟效益貢獻最大的質量沒有把精力集中在改善對經濟效益貢獻最大的質量要素上面。要素上面。 有些軟件機構沒有軟件質量管理的措施,開發(fā)人員把完成功能當成終極目標沒有軟件質量管理的措施,開發(fā)人員把完成功能當成終極目標。用戶在使用軟件的過程中發(fā)現(xiàn)許多Bug,導致開發(fā)方的糾錯性維護代價很高。 有些軟件機構雖然很重視軟件質量,按照按照I

15、SO,CMM 的要求建立了管理規(guī)范,但是效果不明顯的要求建立了管理規(guī)范,但是效果不明顯。人們搞不清楚軟件測試、技術評審、質量保證的作用和關系。不懂得內建質量,主要靠修補錯誤不懂得內建質量,主要靠修補錯誤的方式提升質量,代價比較高的方式提升質量,代價比較高。 很多人誤以為提高軟件質量是質量保證人員和測試人員的責任,沒有意識到任何開發(fā)人員、管理誤以為提高軟件質量是質量保證人員和測試人員的責任,沒有意識到任何開發(fā)人員、管理人員都會對質量產生影響,都要對質量負責。人員都會對質量產生影響,都要對質量負責。另外,質量保證人員的權力比較小,很難推動質量改進措施。 .2 2 建議建議讓人們理解“

16、什么是軟件質量”及常見的軟件質量屬性,樹立全面軟件質量管理的理念(模型),制定軟件測試、技術評審、質量保證的規(guī)范。并使用方便的工具,幫助團隊進行軟件質量管理。 Page 102.7 常見問題分析:需求開發(fā)與管理常見問題分析:需求開發(fā)與管理2.7.1 2.7.1 共性問題共性問題對于大部分軟件機構而言,需求開發(fā)與需求管理是問題最多、最難解決的過程域。 軟件機構中,通曉需求調查、需求分析、需求定義、需求評審、需求跟蹤、需求變更控制的人員本來就比較少,也不容易招聘和培養(yǎng)這樣的人才。 用戶說不清楚需求、用戶經常變更需求是普遍現(xiàn)象,令開發(fā)方非常頭痛。 開發(fā)人員不善于寫文檔,很難寫出清楚、完整的軟件需求規(guī)

17、格說明書。后續(xù)開發(fā)人員可能誤解需求,做出與需求不一致的設計、代碼、測試用例等等,最后不得不大量返工重做。 最難辦的事情是莫過于最難辦的事情是莫過于“拒絕客戶提出的需求變更請求拒絕客戶提出的需求變更請求”??蛻魰氘斎坏匾詾樽兏枨笫撬臋嗬?,因為他付錢給開發(fā)方。通常情況下開發(fā)方是不敢得罪客戶的,但是無原則地退讓將使開發(fā)小組陷入困境。 2.7.2 2.7.2 建議建議建立“需求開發(fā)與管理規(guī)范”,給出合適的文檔模板給出合適的文檔模板,采用方便的需求分析和管理工具。還要多請有經驗的人來培訓、傳授實戰(zhàn)經驗。還要多請有經驗的人來培訓、傳授實戰(zhàn)經驗。 制定應對需求變更的辦法,例如:(1)雙方簽訂需求變更管

18、理協(xié)議雙方簽訂需求變更管理協(xié)議;(2);(2)將重大需求變更延緩到下將重大需求變更延緩到下個軟件版本中實現(xiàn)個軟件版本中實現(xiàn);(3);(3)讓客戶欠下人情。讓客戶欠下人情。 Page 112.8 常見問題分析:軟件設計常見問題分析:軟件設計2.8.1 2.8.1 共性問題共性問題對于大部分軟件機構而言,用戶界面設計是弱項用戶界面設計是弱項。國內絕大多數(shù)大學的計算機學科沒有開設人機工程學、美學、心理學這些必修課。由于學生們接受的教育幾乎全是科學與技術,他們根本不知根本不知道怎樣才能設計出易用、美觀的用戶界面,很多人甚至想都沒有想過。當他們畢業(yè)后真正參與軟道怎樣才能設計出易用、美觀的用戶界面,很多人

19、甚至想都沒有想過。當他們畢業(yè)后真正參與軟件產品開發(fā)時,只好憑著個人的經驗與感覺設計軟件的用戶界面,這樣產生的界面往往得不到大件產品開發(fā)時,只好憑著個人的經驗與感覺設計軟件的用戶界面,這樣產生的界面往往得不到大眾用戶的認可。眾用戶的認可。 大部分軟件機構都有一些技術出色的軟件人員,他們在系統(tǒng)構架、數(shù)據(jù)庫方面的設計能力相當不錯。但是很多人不愿意、不善于寫系統(tǒng)設計報告,這不利于后續(xù)的軟件開發(fā)和維護很多人不愿意、不善于寫系統(tǒng)設計報告,這不利于后續(xù)的軟件開發(fā)和維護。 軟件設計應當軟件設計應當“細到什么程度細到什么程度”很難把握很難把握。太粗了的話,對后續(xù)開發(fā)工作的指導價值不高;反之倘若太細的話,耗費時間

20、就比較多,如果后面不斷改進設計的話,前面的設計浪費太多。 2.8.2 2.8.2 建議建議建立“軟件設計規(guī)范”,給出合適的文檔模板,采用方便的設計工具。 還要多請有經驗的人來培訓、傳授實戰(zhàn)經驗。 Page 122.9 常見問題分析:編程與調試常見問題分析:編程與調試2.9.1 2.9.1 共性問題共性問題軟件機構的大部分程序員的技能是合格的,但是他們編寫的程序風格差異較大,代碼質量有高有低。大多數(shù)軟件機構沒有編程規(guī)范,即使有的話,開發(fā)人員也沒有很好地按規(guī)范編程。相當多的程序員沒有養(yǎng)成對所有代碼進行相當多的程序員沒有養(yǎng)成對所有代碼進行“單步跟蹤調試單步跟蹤調試”的習慣的習慣。嫌單元測試很麻煩,懶

21、得執(zhí)行,卻沒有替代方案嫌單元測試很麻煩,懶得執(zhí)行,卻沒有替代方案。2.9.2 2.9.2 建議建議制定簡單明了、重點突出的“編程規(guī)范”,讓團隊遵照此規(guī)范編寫程序。采用集成化的開發(fā)調試工具,提高編程質量和效率。 Page 132.10 常見問題分析:軟件測試常見問題分析:軟件測試2.10.1 2.10.1 共性問題共性問題許多軟件人員沒有系統(tǒng)地學習過軟件測試,搞不清楚各種測試的概念沒有系統(tǒng)地學習過軟件測試,搞不清楚各種測試的概念,例如單元測試、集成測試、驗收測試、黑盒測試、白盒測試、功能測試、性能測試等等,混為一談,不知如何下手。測試人員沒有掌握有效測試的方法,大多憑感覺測試,結果重復測試已經測

22、試過的,那些深藏的測試人員沒有掌握有效測試的方法,大多憑感覺測試,結果重復測試已經測試過的,那些深藏的bugbug卻發(fā)現(xiàn)不了。卻發(fā)現(xiàn)不了??蛻粼谑褂密浖倪^程中發(fā)現(xiàn)的bug比公司內部測試時發(fā)現(xiàn)的還多,不僅改錯代價高,而且降低了客戶對產品的滿意度。團隊沒有采用有效的缺陷跟蹤工具。團隊沒有采用有效的缺陷跟蹤工具。測試人員發(fā)現(xiàn)bug時,口頭告知有關人員或者記在Word、Excel文件中,修改bug信息或者測試報告時非常麻煩。難以及時從bug列表中找出規(guī)律,測試的效率比較低。 2.9.2 2.9.2 建議建議建立“軟件測試規(guī)范”,采用方便的測試管理工具。還要多請有經驗的人來培訓、傳授實戰(zhàn)經驗。 Pag

23、e 142.11 常見問題分析:軟件維護常見問題分析:軟件維護2.11.1 2.11.1 共性問題共性問題在維護期間,除了糾錯性維護外,客戶可能提出需求變更(但是不支付費用),維護人員對客戶客戶可能提出需求變更(但是不支付費用),維護人員對客戶妥協(xié),導致維護工作量增大、成本增加妥協(xié),導致維護工作量增大、成本增加。如果是合同軟件項目,用戶對開發(fā)方的依賴性比較大,不愿意自己解決粗淺的問題,經常叫開發(fā)方“干這干那”。開發(fā)方不敢得罪客戶,導致開發(fā)方做了許多不屬于維護的工作,吃啞巴虧。開發(fā)人員一邊開發(fā)新項目,一邊維護老項目。而維護為體現(xiàn)不出業(yè)績,又影響了新項目的進度,而維護為體現(xiàn)不出業(yè)績,又影響了新項目

24、的進度,開發(fā)人員比較心煩開發(fā)人員比較心煩。 2.11.2 2.11.2 建議建議制定“軟件維護規(guī)范”,界定什么是“免費維護”、什么是“有償維護”,以及相應的操作規(guī)則,提高維護效率并且降低維護成本。 Page 152.12 常見問題分析:其它問題常見問題分析:其它問題2.12.1 2.12.1 技術技術 vs. vs. 市場市場許多開發(fā)人員喜歡技術研究和技術挑戰(zhàn)。雖然嘴上說開發(fā)產品要以“客戶(市場)為中心”,但是在開發(fā)軟件的時候,卻不知不覺以技術為中心,例如喜歡采用新技術、追求技術上的完美。導致進度延誤,成本增加,甚至可能有質量風險。他們開發(fā)出來的軟件在技術上可能很先進,但是并不是用戶所關心的。

25、多數(shù)開發(fā)人員缺乏商業(yè)頭腦,常常做出背離企業(yè)根本目標的事情。企業(yè)領導應當重視這個問題,要經常性地向開發(fā)人員們灌輸商業(yè)理念。讓他們明白企業(yè)領導應當重視這個問題,要經常性地向開發(fā)人員們灌輸商業(yè)理念。讓他們明白 “能夠賺錢的技術才是好技術能夠賺錢的技術才是好技術”。在企業(yè)里,商業(yè)利益高于技術追求。在企業(yè)里,商業(yè)利益高于技術追求。 2.11.2 2.11.2 項目經理的財務權項目經理的財務權國內大部分企業(yè)的項目經理有帶頭干活的權利和義務,他們對項目的進度和質量負最國內大部分企業(yè)的項目經理有帶頭干活的權利和義務,他們對項目的進度和質量負最大責任,但是沒有財務權。大責任,但是沒有財務權。大部分項目沒有經費,

26、即使有經費,也得由上級領導審批使用,不能自己作主。有時團隊加班干了不少活,項目經理卻沒有錢“意思意思”,很沒有面子。沒有財務權的項目經理,不是完整意義上的項目經理。企業(yè)不給項目經理財務權的初衷是為了控制成本,防止項目經理亂花錢。但是實際上效果適得其反。由于項目經理沒有財務權,他們就不會關心成本也不懂得如何控制成由于項目經理沒有財務權,他們就不會關心成本也不懂得如何控制成本。因管理不成熟、工作效率不高、進度延誤等問題導致本。因管理不成熟、工作效率不高、進度延誤等問題導致“隱性成本隱性成本”不斷增加,錢不斷增加,錢在不知不覺地流失。在不知不覺地流失。企業(yè)領導應當給予項目經理“適當”的財務權,只要確

27、定項目財務制度并限定經費額度,就不會造成失控。既讓項目經理既讓項目經理“有點小錢有點小錢”慰勞團隊,有工作積極性;又讓他慰勞團隊,有工作積極性;又讓他真正重視成本控制,并付諸實踐。真正重視成本控制,并付諸實踐。用“小量胡蘿卜”獲得大回報。 Page 163. 中型企業(yè)的研發(fā)管理需求中型企業(yè)的研發(fā)管理需求3.1 3.1 需求特征需求特征必要性必要性。如果軟件機構只有數(shù)人或者十幾個人,即使沒有研發(fā)管理規(guī)范,能力強的機構領導一個人也能從容指揮。當軟件機構的人數(shù)超過50人后,如果還沒有研發(fā)管理規(guī)范的話,那么機構領導將會力不從心。人數(shù)越多,非規(guī)范化管理越容易產生混亂,迫使企業(yè)不得不走規(guī)范化管理的路線,以

28、降低管理代價和風險。經濟基礎經濟基礎。建立規(guī)范化的研發(fā)管理是需要一定的投資的,例如咨詢、培訓、購買工具等等。小型軟件機構通常沒有錢去做這件事情,望洋興嘆。中型機構能夠養(yǎng)活50200人,表示它們是有一定經濟實力的,只要投資額適當而且產生的效益高于投資,那么中型機構一般都愿意做這件事情。 發(fā)展欲望發(fā)展欲望。有些中型機構的領導雄心勃勃,高瞻遠矚,他們迫切希望提高研發(fā)管理能力從而提升整個企業(yè)的核心競爭力,產生源源不斷的推動力,推動企業(yè)持續(xù)發(fā)展壯大。他們對研發(fā)管理的態(tài)度是主動的,而不是被動的。 3.2 3.2 費用估算費用估算國內一些大型IT企業(yè)建立了完整的研發(fā)管理體系,投資巨大。例如上海貝爾、華為分別

29、請HP、IBM建立研發(fā)管理體系,投資額分別達到數(shù)千萬元、上億元。這種投資額是中型企業(yè)望塵莫及的。在研發(fā)管理方面,中型企業(yè)無法效仿大型企業(yè)的做法中型企業(yè)無法效仿大型企業(yè)的做法。國內中型軟件機構對研發(fā)管理的投資額大約在數(shù)萬元至元數(shù)十萬元。這點“小錢”根本無法引入IBM、HP、Rational等公司的研發(fā)管理解決方案。 大部分國內中型軟件機構需要的是大部分國內中型軟件機構需要的是“輕量級輕量級”的研發(fā)管理解決方案,包括咨詢、培訓的研發(fā)管理解決方案,包括咨詢、培訓、購買工具,總費用在、購買工具,總費用在5萬元至萬元至20萬元之間比較合適。萬元之間比較合適。 Page 174. 基礎方法論介紹基礎方法論

30、介紹CMM4.1 4.1 基本概念基本概念產品是在過程中研制出來的。一般地,好的過程才可能得到好的產品,而差的過程只會得到差的產品。提高軟件過程能力的實踐通稱為軟件過程改進(Software Process Improvement)。軟件過程改進的根本目的是:提高質量、提高生產率并且降低開發(fā)成本。 CMM/CMMI是世界范圍內用于衡量軟件過程能力的事實上的標準,同時也是軟件過程改進最權威的指南。 CMM等級評估:從狂熱回歸理性從狂熱回歸理性?,F(xiàn)在軟件業(yè)界普遍關注的是:企業(yè)如何以比較低的代價有效地提高軟件過程能力。CMM等級評估則退居次要地位。 4.2 CMM4.2 CMM的盲區(qū)和常見應用問題的

31、盲區(qū)和常見應用問題CMM本身不談如何賺錢的問題。它假設了美好的前提條件,即企業(yè)有充足的人員、資它假設了美好的前提條件,即企業(yè)有充足的人員、資金、時間從事軟件過程改進,金、時間從事軟件過程改進,當軟件過程能力提高了,那么產品的質量、生產率自然上去了(同時成本也下降了),企業(yè)自然能夠獲取更多的利潤。軟件過程改進對企業(yè)軟件過程改進對企業(yè)經濟效益的貢獻是間接的,從投入到產出,時間相對比較長。經濟效益的貢獻是間接的,從投入到產出,時間相對比較長。 企業(yè)領導當然想把資源用在“刀刃”上,即賺錢最多最快的地方。當軟件過程改進和當軟件過程改進和其它直接賺錢的事情其它直接賺錢的事情“發(fā)生資源沖突發(fā)生資源沖突”時,

32、人們只好時,人們只好“拆東墻,補西墻拆東墻,補西墻”,往往減少,往往減少軟件過程改進的資源。軟件過程改進的資源。小結:小結:對于軟件過程改進而言,CMM/CMMI和ISO等等都是用來參考的,而不是用來迷信的。企業(yè)在參考業(yè)界推薦的標準或規(guī)范時,要舍棄那些聽起來很先進但是對本企業(yè)無益處的東西,只選取對企業(yè)有實用價值的東西。 Page 185. 基礎方法論介紹基礎方法論介紹PMBOK5.1 5.1 基本概念基本概念項目管理協(xié)會(PMI)是目前全球影響最大的項目管理專業(yè)機構,該機構的項目管理專家認證(PMP)被廣泛認同。PMI的突出貢獻是總結了一套項目管理知識體系(PMBOK)。 PMBOK把項目管理

33、知識劃分為九個知識領域:綜合管理、范圍管理、時間管理、成本管理、質量管理、人力資源管理、溝通管理、風險管理和采購管理。每個知識領域包括數(shù)量不等的項目管理過程。 5.2 PMBOK5.2 PMBOK和和CMM/CMMICMM/CMMI對比簡評對比簡評 CMM/CMMI論述的項目管理方法僅僅適用于軟件項目,但是不適用于其它行業(yè)的項目管理。PMBOK論述的方法適用于任何行業(yè)的項目管理,但是對軟件項目管理而言,PMBOK的針對性不夠強。 CMM/CMMI不僅論述軟件項目管理,而且論述整個機構的軟件研發(fā)管理。PMBOK的方法局限于項目管理,對于企業(yè)研發(fā)管理則不夠用。 CMM/CMMI基本上不談“成本管理

34、”和“人力資源管理”,它先假設機構有充足的資金和人力資源,通常不切合企業(yè)實際情況。因此PMBOK的“成本管理”和“人力資源管理”可以彌補CMM/CMMI的不足。 建議:對于軟件機構研發(fā)管理或者軟件項目管理,采用CMM/CMMI為主導的方法論,并結合PMBOK的知識,取長補短。 Page 196. 基礎方法論介紹敏捷開發(fā)基礎方法論介紹敏捷開發(fā)6.1 6.1 基本概念基本概念2001年,為了解決許多公司的軟件團隊陷入不斷擴大的過程泥潭,一批業(yè)界專家概括出了一些可以讓軟件開發(fā)團隊具有快速工作、響應變化能力的價值觀和原則,他們稱自己為敏捷聯(lián)盟(Agile Alliance)。他們起草了一個旨在鼓勵更好

35、的軟件開發(fā)方法的宣言,稱為敏捷聯(lián)盟宣言(The Manifesto of the Agile Alliance)。然后在該宣言基礎上制定了12條原則用于指導實踐。該宣言和12條原則是敏捷軟件開發(fā)方法的核心。 6.2 6.2 我們的觀點我們的觀點敏捷軟件開發(fā)的宣言和12條原則并非普遍適用。 敏捷開發(fā)方法表達了“簡單、快速、實用”的軟件開發(fā)思想,它不是成熟的理論、也不是事實上的標準(不象CMM, PMBOK那樣具有嚴密的理論體系,被企業(yè)廣泛接受)。即使人們認同某些原則,但是不同的人往往有不同的理解,實踐差異很大。 敏捷開發(fā)方法對于提高個人、小型團隊的工作效率是很有幫助的(如果用對了的話)。但是企圖

36、用它指導大型、中型軟件機構的研發(fā)管理是有很高風險的,它的某些主張是局部觀點而不是全局觀點,如果把握不好分寸的話可能導致整體混亂,而“整體的混亂”會淹沒“局部的好處”。我們研制的“精簡并行過程(SPP)”的理論基礎是“經典軟件工程、CMM、PMBOK”。為了提高效率,在局部地方借鑒了“敏捷軟件開發(fā)的思想”,用于裁減過于冗長、笨重的過程規(guī)范。 Page 206. 基礎方法論介紹敏捷開發(fā)基礎方法論介紹敏捷開發(fā)敏捷軟件開發(fā)的敏捷軟件開發(fā)的12條原則:條原則:(1)我們最優(yōu)先要做的是通過盡早地、持續(xù)地交付有價值的軟件來使客戶滿意。 (2)即使到了開發(fā)的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創(chuàng)造競

37、爭優(yōu)勢。(3)經常性地交付可以工作的軟件,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。 (4)在整個項目開發(fā)期間,業(yè)務人員和開發(fā)人員必須天天都在一起工作。 (5)圍繞被激勵起來的個人來構建項目。給他們提供所需的環(huán)境和支持,并且信任他們能夠完成工作。 (6)在團隊內部,最具有效果并富有效率的傳遞信息的方法,就是面對面的交談。 (7)可以工作的軟件是首要的進度度量標準。 (8)敏捷過程提倡可持續(xù)的開發(fā)速度。責任人、開發(fā)者和用戶應該能夠保持一個長期的、恒定的開發(fā)速度。 (9)不斷地關注優(yōu)秀的技能和好的設計會增強敏捷能力。 (10)簡單把無需做的工作最大化的藝術是最根本的。 (11)最好

38、的構架、需求和設計出于自我組織的團隊。 (12)每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然后相應地對自己的行為進行調整。 Page 217. 基礎方法論介紹基礎方法論介紹RUP7.1 7.1 基本概念基本概念RUP(Rational Unified Process)是Rational公司推出的軟件過程模型,它是軟件業(yè)界迄今為止商品化最成功的軟件過程模型。RUP的近千頁文檔可以從Rational公司的網站(http:/)下載,RUP 2000中文版也已經發(fā)布。RUP的主要特征是: 采用迭代的、增量式的開發(fā)過程。 采用UML語言描述軟件開發(fā)過程。 有一系列功能強大的軟件工具支撐(R

39、ational公司的軟件產品)。 7.2 7.2 我們的觀點我們的觀點RUPRUP及其配套軟件工具是重量級的軟件研發(fā)管理解決方案,它面向的是高端用戶,對及其配套軟件工具是重量級的軟件研發(fā)管理解決方案,它面向的是高端用戶,對用戶的財力、開發(fā)和管理能力要求都很高用戶的財力、開發(fā)和管理能力要求都很高: 首先,用戶得有錢買Rational的軟件工具,否則光有RUP方法論如同紙上談兵。 如果要使用RUP方法,人們得先熟悉UML,否則除了RUP模型圖之外你基本上看不懂細節(jié)內容??墒窃谄胀ㄆ髽I(yè)里,大部分人(尤其是領導和管理人員)不熟悉UML。學習UML和RUP的難度遠高于CMM和PMBOK。 項目經理和開發(fā)

40、組長要有能力控制迭代過程,否則迭代式開發(fā)就變得混亂無序和漫無邊際 RUPRUP及其配套的軟件工具基本上不適合于國內中型和小型軟件機構及其配套的軟件工具基本上不適合于國內中型和小型軟件機構。 Page 228. 面向企業(yè)的軟件研發(fā)管理解決方案面向企業(yè)的軟件研發(fā)管理解決方案8.1 目標目標幫助企業(yè)建立適合于自身需求的軟件研發(fā)管理規(guī)范,并部署配套的軟件工具;通過充分的培訓,幫助員工們掌握提高質量、提高生產率、降低成本的方法;協(xié)助企業(yè)依據(jù)規(guī)范開展軟件研發(fā)和管理工作,持續(xù)提升能力。 8.2 工作流程工作流程 面向企業(yè)的軟件研發(fā)管理解決方案Page 238. 面向企業(yè)的軟件研發(fā)管理解決方案面向企業(yè)的軟件研

41、發(fā)管理解決方案 8.3 集成化研發(fā)管理方法(集成化研發(fā)管理方法(Simplified Parallel Process, SPP) Page 248. 面向企業(yè)的軟件研發(fā)管理解決方案面向企業(yè)的軟件研發(fā)管理解決方案8.4 內容和時間內容和時間 1.1.調查分析問題調查分析問題對企業(yè)研發(fā)管理的能力現(xiàn)狀進行調查與分析,調查內容要覆蓋所有工作領域(過程域),總結“強項”和“弱項”,給出建議。 預計時間跨度為2個月,乙方到甲方現(xiàn)場工作和服務約20工作日。日程安排由雙方共同商定。2.制定研發(fā)管理規(guī)范制定研發(fā)管理規(guī)范 繪制研發(fā)管理的總體流程圖;繪制組織結構圖,并確定角色職責表 ;定義每個過程域的規(guī)范(目的,

42、關鍵活動和流程,工作成果) 3.選用合適的工具選用合適的工具選擇并部署合適的開發(fā)工具和管理工具。推薦管理工具是Future和CVS。含1年免費維護和升級服務4.4.充分必要的培訓充分必要的培訓為研發(fā)管理流程中的所有人員提供充分必要的培訓,包括軟件工程、項目管理等,讓人們掌握提高軟件質量、提高生產率、降低成本的方法。 5.5.執(zhí)行、監(jiān)督與反饋執(zhí)行、監(jiān)督與反饋協(xié)助客戶依據(jù)規(guī)范開展軟件研發(fā)和管理工作。跟蹤試點項目的執(zhí)行情況,及時解答執(zhí)行過程中遇到的問題,持續(xù)地提升客戶的軟件研發(fā)能力。 乙方提供一年的售后服務。解決方案的內容視企業(yè)的實際情況而定。解決方案的內容視企業(yè)的實際情況而定。Page 258.5 相關著作Page 269. 集成化軟件項目管理系統(tǒng)(集成化軟件項目管理系統(tǒng)(Future)9.1 什么是什么是FutureFuture是基于Web的集成化項目管理系統(tǒng),目標是“讓項目管理變得簡單有效讓項目管理變得簡單有效”。Future的主要客戶是國內中型軟件機構,主要最終用戶是研發(fā)主管、項

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論