發布時間:2022-07-20 09:21:34
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的1篇軟件工程項目管理研究,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
摘要:本文探討了在大型軟件項目的實施過程中,如何有效的管理團隊成員,如何可控的推動項目進度,從實踐的角度上,給出了一種加強軟件項目管理的有效模式。在SCRUM敏捷開發過程的基礎上,該模式從計劃、組織分派、控制糾偏及團隊建設四個方面介紹了軟件工程項目管理的有效經驗。
關鍵詞:軟件項目;管理實踐;SCRUM
1 引言
Scrum被認為是目前全球最流行與最有效的敏捷項目管理理念與方法之一,在軟件業發達地區被眾多知名企業廣泛采納。TFS(Team Foundation Server)是集成的團隊管理工具,能夠實現團隊成員之間更好的交流與協作。本文所介紹實踐經驗是以Scrum及TFS的實施為基礎的。
2 項目管理實踐模式
現在從SCRUM每一個迭代周期中的目標與計劃制定、工作的組織分派、過程中的控制與糾偏這三個方面介紹,最后介紹團隊建設。
2.1 目標與計劃
計劃的制定分為階段性工作計劃,以及周工作計劃。
階段性工作計劃以里程碑時間點為界,時間跨度根據項目的大小而定,對于一個大型的項目,可以季度末作為里程碑時間點。
周工作計劃在每周一制定,確定本周每人的具體工作。
制定目標與計劃時,要盡量做到項目細分。項目細分得越小,則說明計劃考慮得越周到,實施過程中也會使得偏差越少,是做得較好的。最好能夠對每一項任務做一個時間上的大概安排。
2.2 組織與分配工作
(1)每周工作認領會。每周一,周計劃制定之后,團隊召開“周工作認領”會議。Team Leader將本周所有工作項寫在紙片上,并將所有紙片貼在墻上,大家依次認領各紙片上的任務。每認領一項任務,認領者需要預估一下所需時間,其他成員評估一下此時間是否合理。當然,如果有人認為可以用更少的時間來完成此項工作,那么這項工作可以轉交給此人。
(2)每日立會。每天早上前10至15分鐘,大家一起站到任務看板前進行立會。立會中,每人發言。發言的內容主要有三個方面:總結前一日的工作;反映前一日工作中遇到的問題,必要時,Team Leader需要安排人協助;承諾今日的工作內容。承諾很重要,它會給開發者帶來“必須完成”的壓力。
(3)任務看板。任務看板上主要分為兩塊:左側用于張貼任務條,分為計劃中的任務、進行中的任務以及已完成的任務;右側繪制燃盡圖,反映進度情況。所有的工作項都寫在紙片上并貼到任務看板上,每日立會時需要對首任務看板講解,同時任務看板上能夠一目了然的反映出各項工作的進展。
(4)TFS中為每個工作立項。所有的工作項,都應該在TFS中立項。這樣便于工作的跟進,以及開發人員之間的協作,另外,也有利于工作量的統計。
2.3 控制與糾偏
(1)TFS持續集成。我們將TFS的集成模式設置為持續集成,生成的結果將會立即返回給提交者,以保證服務器上的代碼是最新的、可用的。(2)工作項細分。每項工作要細分為2~16h。較小的工作項,便于跟蹤并及時精準的調整進度。實踐經驗證明,工作項細分之后,相比寵統的工作項,更能夠有效的保證進度。(3)每工作項?時間點檢查。每工作項進行到預估時間一半的時候,Team Leader應檢查執行情況。如果此項工作進展不順利,要分析原因,或安排人員協助,或改變技術方案,及時調整進度。(4)經常性的演示,及時發現問題。安排盡可能多的演示,目的有二:第一,讓用戶、領域專家參與到開發過程中,避免開發人員迷失在代碼叢林中;第二,誰做的工作誰演示,這會緞帶演示者“演示成功”的壓力,從而做好做細工作。(5)推行代碼審核制度 每天工作快結束時,留下約15分鐘的時間,相互之間進行代碼審核。建議不要固定某兩位互審,而采用交叉循環的方式。(6)最有效的溝通方式:面對面+白板。技術討論或工作安排時,把相關人員一起叫到白板前,邊解說,邊繪制草圖,這種方式是十分有效的。不建議大家采用文檔的方式進行溝通。(7)技術總結文檔十分重要。把個人的經驗總結寫成文檔,可以供團隊其它成員,以及后來的成員學習,從而讓大家都掌握。另外,有些問題的解決過程比較復雜,如果能夠把其形成文檔,可以依照此文檔即可解決相同的問題,這樣可提供工作的效率。
2.4 團隊建設
(1)不定期的培訓。條件許可時,可以參加培訓機構舉辦的培訓,或者邀請培訓老師到公司來進行培訓。即使條件不允許,我們也可以進行內部培訓。Team Leader可以組織開發類、專業類及測試類的專題講座,也可以請團隊成員各自講授自己所善長的技術。(2)經常鼓勵團隊成員。當團隊中某成員工作上取得了突破,或攻克難題時,大家都給他(她)祝賀,不一定非得物質上的獎勵,其實,即使發個郵件、拍拍肩膀等方式,也可以取得很好的效果。(3)優先考慮團隊總體進度。對于新工作的成員,往往只想到把自己的工作及時完成了,保證了自己的進度就好了。其實這是不夠的,團隊的進度才是第一位的。團隊總體進度,往往卡在進度最慢的成員那里。所以大家要及時協助遇到困難的同事,這一點上,Team Leader尤其要有表率作用。(4)雙向溝通優于單向溝通。交待工作時,最好采用協商討論的方式進行,讓接收者也盡可能發表自己的看法,不要強制性分派工作。
[作者簡介]
陸中元,中國建筑科學研究院深圳建研軟件有限公司,主要從事技術工作領域:BIM軟件開發、計算機應用。
摘要:計算機軟件是用各種電腦語言編寫而成的,本文旨是先探討了關于計算機軟件和工程項目管理的基本概念,接著探討了計算機軟件從此項目管理存在的問題,最后探討了計算機軟件工程項目管理的對策。
關鍵詞:基本概念;計算機軟件;工程項目管理;問題;對策
1 計算機軟件和工程項目管理的基本概念
1.1 計算機軟件的基本概念
計算機軟件的英文名是computer software,計算機軟件是指計算機系統中的程序及其文檔,程序是計算機任務的處理對象和處理規則的描述,文檔是為了便于了解程序所需的闡明性資料。程序必須裝入機器內部才能工作,文檔一般是給人看的,不一定裝入機器。計算機軟件的分類有:(1)總述;(2)系統軟件。系統軟件是負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作;(3)應用軟件。應用軟件是為了某種特定的用途而被開發的軟件。
1.2 工程項目管理的基本概念
工程項目管理是指從事工程項目刮泥的企業受業主委托,按照合同約定,代表業主對工程項目的組織實施進行全過程或若干階段的管理和服務。工程項目管理企業不直接與該工程項目的總承包企業或者是勘察、設計、供貨、施工等企業簽訂合同,但可以按合同約定,協助業主與工程項目的總承包或勘察、設計、供貨、施工等企業簽訂合同,并受業主委托監督合同的履行。
1.3 軟件工程項目管理內容
(1)組織管理人員進行項目計劃。在計算機軟件工程項目中,人員的管理是貫穿于整個工程項目開發過程始終的一項工作,從某種意義上說,人員的組織與管理是影響軟件工程項目能否成功的關鍵因素。一方面,要根據工程項目的工作量以及涉及的專業知識對人員進行科學的配置,組成一個高效的開發小組;另一方面,小組內的人員要進行分工合作和密切配合,對工程項目的實驗范圍進行確定,對項目實施過程中的風險進行正確的評估,同時制定科學的人力資源計劃以及成本控制方案,同時對整個項目的進度進行有效的組織,確保工程項目的順利進行。(2)軟件質量和配置管理。軟件質量管理是在總體管理功能中決定著質量方針與責任的所有活動,通過保證手段在質量體系范圍中得以實施,主要有質量計劃編制、項目質量保證和項目質量控制等過程。項目質量保證就是定期對項目總體績效進行評估,考察工程項目是否達到質量標準。項目質量控制是從總體上監測項目的結果,還要對不合格的找出解決的方法。軟件配置管理是記錄軟件產品的演變過程,進而保證開發者在軟件生命周期的各個階段能夠獲得精確的產品配置。(3)風險分析及管理。風險管理包括風險的識別與評估,并且根據評估結果采取適當的解決措施,對計算機軟件工程項目的風險進行有效的預測與管理,能夠避免或者是降低風險產生的幾率,最大限度的減少由于風險對項目所造成的損失,也能夠有效的保證項目相關利益主體的權益不受影響。
2 計算機軟件工程項目管理中存在的問題
2.1 計算機軟件工程項目管理中存在管理團隊的協作的問題
目前,我國是處于一個信息化的時代,因此,很多工作都需要團隊一起合作完成的,就如計算機軟件工程項目管理的工作,更是需要團隊的力量,大家一起合作完成的。但是目前,我國計算機軟件工程項目管理的團隊合作和溝通都存在著一些問題,如下:
(1)計算機軟件工程項目管理的團隊中存在分工不清的問題。計算機軟件工程項目管理中如果團隊之間的分工不清楚,那么就會導致了時間已經到了,工作卻還沒有完成,團隊之間就會相互推卸責任的現象出現。(2)計算機軟件工程項目管理中團隊的不合作問題。如果做到了第1點團隊之間的分工比較清楚了,但是如果團隊之間每個人都是各做各的工作,不理會其他人,發現問題了也不和其他人合作,那么就會導致了計算機軟件工程項目管理的工作效率不斷的下降。
2.2 計算機軟件工程項目管理中存在需求分析和實際中的業務存在差距的問題
由于,計算機軟件工程項目管理在需求的工作中,沒有對實際生活中需求的實體和實際活動要求,以及實際的數據進行有效的調查,這項工作很多計算機軟件工程項目管理的工作人員都覺得沒有必要對實際的需求實體和實際活動要求,以及實際的數據進行調查,因此,導致了計算機軟件工程項目管理最后的工作中出現設計完整的產品和實際的業務有很大的差誤。
2.3 計算機軟件工程項目管理中存在風險管理的問題
眾所周知,如今的社會不論做什么樣的項目都會存在著一定的風險,如果風險管理沒有做好,那么發生風險的話,就會給企業帶來嚴重的損失,由此可知,風險管理這一工作對企業來說是非常重要的。但是在計算機軟件工程項目管理中,很多工作人員都不知道風險管理的重要性,對風險管理的工作都只是敷衍了事,對風險管理的內容沒有充分的掌握,最后變導致了一旦發生風險的話,企業就會遭受巨大的損失。
3 計算機軟件工程項目管理的對策
3.1 計算機軟件工程項目管理的對策有對風險管理和工作進度進行有效的管理
(1)建立一個完善的風險管理制度。計算機軟件工程項目管理的工作人員,應對風險管理的知識、風險識別的知識、量化的方法,以及風險控制的方法進行有效的掌握和認知,為計算機軟件工程項目管理做好有效的風險管理報告,并且做好有效的風險預防工作。(2)定期的對計算機軟件工程項目管理進行風險控制和識別。在一個完整的項目中,不是只做一次風險管理工作就可以的,因為,在整個計算機軟件工程項目管理的過程中,隨時都可能出現風險,因此,需要定期的對計算機軟件工程項目管理進行風險管理工作。對于風險處理的方法有以下幾點:減緩、規避、轉移等處理方法。(3)不斷的加強計算機軟件工程項目管理工作的進度。首先,制定好一個完整的計算機軟件工程項目管理的工作表,有效的監督計算機軟件工程項目管理工作的進度,以及嚴格的、有效的、合理的控制好計算機軟件工程項目管理所有工作的任務狀態。
3.2 計算機軟件工程項目管理的對策有建立完善的管理體系
(1)建立一個完善的計算機軟件工程項目管理的人才管理體系。計算機軟件工程項目管理的體系要先對人才進行有效的管理,建立一個完善的、合理的人力資源管理體系。(2)不斷的加強計算機軟件工程項目管理的知識學習。要不斷給計算機軟件工程項目管理的工作人員就進行有效的培訓計算機軟件工程項目管理的知識學習,有效的將經驗和實踐,以及知識結合在一起,不斷的提高計算軟件工程項目管理工作人員的管理水平和素質。(3)嚴格執行計算機軟件工程項目管理的獎懲制度。嚴格的執行計算機軟件工程項目管理的獎懲制度,才能激發工作人員的積極性和主動性,為企業帶來更好的效益。
3.3 計算機軟件工程項目管理的對策有建立合作的團隊
(1)建立完善的、有效的溝通制度。采取不同的、多種的、有效的溝通方法,不斷的增強計算機軟件工程項目管理工作團隊的溝通意識,讓團隊達到合作的目的。(2)分工清楚。對計算機軟件工程項目管理的工作進行合理的、有效的、清楚的分工給每一個工作人員,讓他們認識到自己的職責,做好每一項工作。(3)不斷增強團隊的積極性。不斷的增強計算機軟件工程項目管理團隊每個工作人員的積極性,才能有效的激發工作人員的動力,激發團隊的合作能力,最終才能把計算機軟件工程項目管理工作做的更好,并且有效的給企業帶來效益的提高。
4 總結
計算機軟件工程項目管理是一項系統的、復雜的工作,其根本的目標在于保證軟件工程項目能夠在計劃的進度、成本以及質量的要求下,順利的完成并且交付使用。在當前的計算機軟件企業中,軟件工程項目的管理效率對于企業的發展有著重要的影響,只有保證軟件項目管理的科學、有效,才能夠保證軟件工程項目的成功,進而實現企業的持續發展。
摘要:在當今的軟件工程時代,每個項目涉及眾多的人力和物力,隨著軟件規模的不斷增大,開發人員也隨著增多,管理問題日益突出。而計算機軟件項目開發又是一項極為復雜的系統工程,其涉及面廣、風險大,因此加強對軟件工程項目管理就顯得尤為重要。文章從計算機軟件工程項目的特點、管理內容及存在的問題出發,探討了軟件工程項目管理的對策。
關鍵詞:計算機軟件;管理特點與內容;問題;對策
一、 計算機軟件工程項目的特點及管理內容
1、特點
1)軟件產品具有不可見性。由于軟件不是直接可見的,需專業軟件工程方法結合有效測試才可感知其存在。2)軟件類產品具有不確定性與多樣性的特性,更加沒有標準軟件編輯過程。3)大型軟件工程通常是一次性工程,其需求用戶源不確定、結構復雜、工作量大、風險大,而且應用國際先進新技術較多,如多維分析(OnLineAnalysiSProcess)、數據挖掘 (DataMining)等。
2、軟件管理的內容
目前軟件開發的自動化程度很低,在研究與開發過程中,人是最重要因素。因此,軟件工程管理絕大程度上是對工程開發人士的管理。我們首先需根據軟件工程的個別特性,來分析安排軟件工程管理的具體事項,具體內容包括對開發工程人員、組織部門、用戶需求、檔案資料等等方面的管理。
1) 工程開發者。 工程開發者一般分成:項目負責人、系統分析員、高級程序員、初級程序員、資料員和其他輔助人員。根據項目的規模大小。有可能一人身兼數職,但職責必須明確。不同職責的人,要求的素質不同。如項目負責人需要有組織能力、判斷能力和對重大問題能做出決策的能力;系統分析員則要有概括能力、分析能力和社交活動能力;程序員需要有熟練的編程能力等。人員要少而精,選人要慎重。
2 ) 組織部門。組織部門一般分為三種部門。其一,主程序員組織部門。他的目的是為保證全部門協調與統一。其二,專家部門。即由許多計算機軟件專家組成的專業開發部門。這種部門能發揮大部分人員積極性。其三,民主部門。民主部門由從事各方面工作的人員輪流擔任部長。它對調動大家積極性有著具大作用。
3)用戶部門組。身為一軟件工程管理項目負責人,與用戶保持良好溝通關系,善于了解用戶心理是必不可少的工作。要意識到在需求領域,對計算機持消極態度的客戶的心理輔導工作非常重要,通過業務骨干,切實了解其用戶需求。使其認識到:計算機發展與應用是現代化必然的趨勢,應早日學習了解熟計算機軟件的應用。而對那些盲目期望早日用上計算機軟件的客戶來說,必須讓他們了解到開發一個軟件工程不是一朝一夕就能完成的,我們需根據現有的條件量力而行,通過一系列的團隊配合,深入交流,取長補短,加強合作,才能夠確保軟件設計工程按預期計劃完成。
4)、檔案資料。開發軟件過程的各種活動都需以檔案的形式顯示標明。每階段檔案資料不僅是前各階段工作備案復審,更是后各個階段工作的堅實地基。軟件工程管理優缺點在于很大程度上可以用檔案資料管理的好壞來反映的。因此,在每一次的開發過程中我們必須都要把初步設計、中間過程、最后結果這三個方面建立起一套完整的檔案資料。并使其文檔管理都有著一定的細致化、標準化。
二、計算機軟件工程項目管理存在的問題
1、軟件工程需求分析與實際業務之間的差距。這是軟件工程中最令人頭疼的問題,其原因是軟件工程在需求分析階段,對業務需求的實體、數據及實際活動要求進行調查,而這些工作往往被研究業務認為是表面的工作,作出的檔案資料對詳細設計單單具有框架式的作用,但是作為研究業務的本質,即研究業務規則被嚴重忽略了。這便使軟件設計工程師在后續設計中,憑空想象研究業務規則,導致最后設計的產品與實際業務有大偏差。
2、軟件工程項目管理的工作量是難以預計的。眾所周知,軟件工程實際工作量具有很大彈性,開發過程中的人為因素對其開發進度具有很大的影響。如開發者的投入程度、業務員的管理水準、用戶積極配合的程度等等。若撇開人為因素,則在確定業務規則的基礎下,軟件開發的工作量必然是很好估算的。
3、風險管理意識較弱.。任何項目都有風險,風險一旦發生便會產生難以預計的損失,項目風險管理特別重要 。但是某些項目負責人沒有充分認識到風險管理在軟件項目管理中的重要作用,對計劃書中風險管理章節部分敷衍了事,對項目風險管理所必備的知識不能充分掌握,以至于對事后的風險防范起不到較好的抵御作用。
4、項目團隊內部溝通、協作問題
在當今信息時代,任何項目都離不開人的協作,只有這樣,才能確保開發工作井然有序地進行,計算機軟件項目更是如此。有時,項目團隊內部會出現各階段各角色間責任分工不清晰,導致推卸工作、推卸責任的現象常有發生;但是即使這種不同角色之間責任分工比較清晰,若各項目開發成員悶頭各做各的事,不愿意主動與他人合作,最終導致工作效率下降。另外,由于系統各部分人員只關注自己工作還可能造成系統集成難以運行,產生不必要損失。
三、工程項目管理對策
1、以重視人才為根本,完善人力資源管理體系
人才是根本。若想占領市場,做好軟件項目管理,企業必須堅持以人才為優秀的理念,擁有一支高素質項目管理人員隊伍,需懂得進行人力資源優化管理。首先,加強軟件項目管理方的知識培訓。軟件項目經理必須接受系統的項目管理知識教育,需重視人力資源管理與溝通管理方面的學習,將實踐與知識、經驗有效結合,用以提高自身項目管理水平;其次,嚴格的獎懲規定,建立軟件開發人員升職途徑。逐步進行人事制度改革,設置與行政職位平等的技術職位,為開發人員升職創造更好的條件,激發他們的主動性、積極性與創造性,更好地為項目工作服務。
2、有效地對項目進度、風險管理控制與調整
第一,加強工作進度管理 ,嚴格控制任務與跟蹤管理。制定項目管理運行表,定期舉行項 目狀態會議,監督進程的進度 ,嚴格控制動態調整。第二,建立有效的風險管理制度。項目經理運用風險管理的知識,熟悉掌握風險識別、量化和控制的方法,在項目啟動后能對風險進行識別。第三,風險在整個項目的生命周期中都有可能出現,所以要定期做出識別和處理。處理風險時一般要按風險等級采取不同的手段進行控制,可 以采取規避、減緩和轉移等處理策略及時進行調整。
3、加強溝通協作,建立高效團隊
首先,制定有效的溝通制度,采取多種溝通形式,改善員工的溝通環境 ,以增強溝通意識,提高溝通的有效性。如通過制度規定,對于特別的信息要采用多種方式進行有效溝通,以保證消息及時、準確地傳達到位。其次,進行合理分工。在軟件開發行業,人是創造力的主體。因此,合理分工必須建立在人的基礎上,不僅要按人員職位劃分工作任務,更要根據每個人的特點、專長進行分工。再次,培養團隊的積極性。一個組織能否成功,其團隊情緒的培養發揮著重要作用。團隊積極性的激發是保證項目開發工作順利進行的重要前提。針對具體的對象提倡激勵、完善的解決方案,“動之以情曉之以理”,加強感性與親情的融合,能有效激發人員潛在動力,更好的投入到計算機軟件工程之中。
四、結束語
綜上所述,計算機軟件工程項目管理的目標就是保證軟件項目能夠按照預定的成本、進度、質量按期、順利地完成并交付用戶使用。在計算機軟件企業中,軟件工程項目管理起著至關重要的作用,成熟而有效的軟件項目管理才能確保工程的成功,進而提高企業的優秀競爭力。