淺析軟件項目管理中十個誤區(來自:http://manager.csdn.net/n/20051213/30907.html)

??? 隨著計算機硬件水平的不斷提高,計算機軟件的規模和復雜度也隨之增加。計算機軟件開發從“個人英雄”時代向團隊時代邁進,計算機軟件項目的管理也從“作坊式”管理向“軟件工廠式”管理邁進。這就要求軟件開發人員特別是軟件項目管理人員更深一步地理解和掌握現代軟件工程的理論方法,完成思想觀念上的轉變。筆者在此分析了10個在現代項目管理中思想觀念上容易陷入的誤區,希望能夠拋磚引玉,引發大家更多的思索和討論。

誤區1:在項目的需求分析階段,開發方與客戶方在各種的問題的基本輪廓上達成一致即可,具體細節可以在以后填充因為無論開始時有多么細致, 以后對需求的修改幾乎是必然的。分析:這是一種非常危險的思想。實際上許多軟件項目失敗的最主要的原因就是需求階段對問題的描述不夠細致,導致后來預算超出或者時間 進度達不到要求。正確的做法是:在項目需求分析階段,雙方必須全面地盡可能細致地討論項目的應用背景、功能要求、性能要求、操作界面 要求、與其他軟件的接口要求,以及對項目進行評估的各種評價標準。并且,在需求分析結束以后,雙方還要建立可以直接聯系的渠道,以盡 早地對需求變動問題進行溝通。

誤區2:軟件項目的需求可以持續不斷的改變,而且這些改變可很容易地被實現分析:的確,在具體實際中由于種種原因客戶方很難在需求分析階段全面而準確地描述所有問題。隨著開發進度的推進,往往會有一些需求的 改變。而現代軟件工程理論也利用軟件的靈活性特點通過各種方式來適應這種情況。不過,這并不表明“軟件項目的需求可以持續不斷的改變 ,而且這些改變可很容易地被實現”。實踐表明:隨著開發進度的推進,實現軟件需求更改所需要的代價呈指數形式增長。假定在需求分析階 段實現需求更改需要花費1倍的代價;那么,在系統設計和編碼階段,需要花費1.5-6倍的代價;在系統測試階段需要花費10-20倍的代價;在軟 件版本發布以后,甚至可能要花費60-100倍的代價。由此可見,在項目開展過程中,軟件需求的改變應當盡量早地提出。這樣才可能花費少, 容易被實現。

誤區3:軟件程序主要由代碼組成,因此編碼階段是整個軟件項目的最重要的階段,應該給與大量的時間,并且集中主要的資源分析:與以前相比,由于軟件的規模和復雜度的增加,以及半自動化軟件代碼開發平臺的出現,現代軟件項目管理的中心發生了轉移——不是 著重編碼階段,而是著重系統總體/詳細設計階段。一般說來,在現代軟件項目管理中各種資源的合理分配比例是:項目論證、風險評估階段3% ,項目需求分析階段8%,系統總體/詳細設計階段45%,編碼階段10%,系統測試階段34%。

誤區4:為了便于代碼的維護修改,在系統的詳細設計階段文檔工作應該做到寫出所有程序的偽碼分析:通常偽碼的最大作用是對程序的算法流程進行描述,便于人們深入了解程序的功能和實現過程。可見,在一定程度上偽碼的確有利于對 程序代碼的維護和修改。但是,我們知道為了保證項目文檔和程序代碼的一一對應關系,維護程序代碼的時候同時需要對項目文檔進行維護。偽碼和程序代碼是非常接近的,對偽碼進行維護的話,相當于進行了2倍的程序代碼維護。工作量是很大的。所以切合實際的方式應該是對一般 的程序文檔做到程序流程圖即可,對于涉及了較復雜算法的才需要偽碼。

誤區5:既然在項目人員配置中設置了專門的測試人員,那么軟件所有的內部測試工作全部應該由測試人員完成分析:軟件程序測試可以分為“白盒法”和“黑盒法”兩種方式。由于使用“白盒法”對測試人員各方面素質的種種要求,在進行程序測試時 測試人員總是最優先使用“黑盒法”。他們的工作方式往往是先對程序進行“黑盒法”測試;如果測試沒有通過,不得已這才考慮對程序代碼 進行“白盒法”測試。顯然,這種對“白盒法”有意無意的“逃避”,對軟件的可靠性和穩定性構成了威脅。如何解決這個問題?一方面需要 提高對測試人員的要求,另一方面也需要程序員完成部分的“白盒法”測試(實際上,程序員往往也是進行“白盒法”測試的最佳人選)。

誤區6:軟件項目管理只是相關技術部門的事情,與公司其他部門無關。分析:在競爭日益激烈的今天,軟件項目規模大、復雜度高而且時間要求緊迫。要想提高公司的軟件項目管理水平,這就需要提高公司的整體 參與意識,需要公司各個部門協同作戰。例如需要會計部門協助進行項目預算,財務管理和費用控制;需要研究部門(技術委員會)指派專家 協助進行各種風險評估,提供技術指導;需要后勤部門提供各種保障。

誤區7:在開發進度滯后的情況下,可以聘請更多的程序員加入到開發團隊中,通過增加人力資源來趕上進度。分析:在注重團隊開發的時代,開發方應該根據目前的軟件項目管理水平慎重考慮這個做法。如果新加入的程序員對目前軟件項目的應用行業 有一定了解,并且可以很快適應了開發方的項目管理方式、軟件開發風格、團隊協作氛圍;那么“新人”的加入是有益的。否則,可能會“好 心好意做壞事”。因為盡管其個人能力很高,但是為了使其與大家一起協同工作,開發團隊不得不分出人手對其進行與項目有關的技術/業務培 訓,更重要的(也是難度最大的)是還要引導其融入團隊。這可能需要花費開發團隊許多時間和精力,很有可能使項目進度更慢。

誤區8:技術骨干應該成為項目的項目經理,項目經理一定是所有項目成員中薪水最高的。分析:在“軟件作坊”時代,這是一種普遍使用而且效果不錯的方法;而在“軟件工廠”時代,這種方法卻帶來各種問題,有時甚至直接導致 項目失敗。究其原因這主要是因為隨著現代軟件開發分工的細化,對項目經理的要求也發生了根本的改變——最注重的不是其對某項專業技術 的掌握程度,而是其組織、領導、協調開發團隊的能力(當然,可以兩者均突出最好)。至于項目經理的薪水問題,這和定薪制度有很大關系 。通常,項目經理執行的是管理人員的薪酬體系,而其他人員執行的是技術人員的薪酬體系。項目經理的薪水在項目成員中是比較高的,但不 一定是最高的。有時候,為了激勵技術人員,項目中的技術骨干得到的酬勞比項目經理要高。

誤區9:只有項目經理以及部門主管才會關心項目整體進度,程序員只關心自己的開發進度分析:這是一種“官僚”的想法。實際上程序員作為團隊中的一員,他不僅僅是在打一份工,更重要的是在參與一件“作品”的創作。在體味 工作的辛苦的同時,程序員更重要的是要享受創作的快感。項目經理不應該漠視程序員對“成就感”的追求,應該向每一個人詳細描述最終“ 作品”將會如何美妙和令人興奮,并且在到達最終目標的路上設立一系列的里程碑。每當項目整體推進到一個里程碑的時候,項目經理應該把 這個消息告訴每一位項目成員。實際上,這不僅僅可以讓所有的項目成員享受到階段勝利的喜悅,還可以激發大家更大的工作熱情,提高工作 效率。

誤區10:為了保證項目繼續,為了留住核心程序員,加薪吧分析:加薪可以說是很多企業在挽留程序員時所使用的常用方法。這一招可能暫時奏效,不過往往是人留下來了,但副作用也來了——加薪的 人未必見得多干活,沒有加薪的人卻開始消極怠工了。其實,項目的進行過多地依賴程序員的個人技術是“作坊”時代沿襲下來的“陋習”。 既然IT行業人員的流動是無法控制的,現在項目的執行應該更加注重團體的力量,應該更多的考慮公司整體技術水平和核心技術能力。例如形 成公司自己的專家知識庫,類/函數庫,第三方控件庫,擁有自主版權的開發平臺等。另外,實際上程序員萌生去意的原因很大程度上不是薪水 ,而是缺少激勵和尊重。這需要項目經理使用“老土”一點的辦法,找適當的時機對程序員做一做思想工作,向其描述項目的美好未來,讓其 感受關心和尊重。總之,要從多方面著手保證項目的順利開展,而不是簡單地加薪。

來自:http://manager.csdn.net/n/20051213/30907.html


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254529.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254529.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254529.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

倆孩隨筆

倆孩隨筆 有人給我貼了技術男加奶爸的標簽,不過這兩項都不是我的強項。我深知自己最大的長處在哪:普通,扔人堆里,不是認不出來,而是壓根看不著。想把事情做好,常常會用力過度。工作平平淡淡,需…

Inpainting圖像修復halcon算子,持續更新

目錄harmonic_interpolationinpainting_anisoinpainting_cedinpainting_ctinpainting_mcfinpainting_textureharmonic_interpolation 功能:對一個圖像區域執行諧波插值。 inpainting_aniso 功能:通過各向異性擴散執行圖像修復。 inpainting_ced 功能…

算法(偽代碼)的書寫

q ? Queue(隊列), s ? Set(集合)pq ? PriorityQueue(優先隊列)d ? distance1. initialization 變量,數據結構的定義,及初始值的賦值;比如著名的 Dijkstra &#xff0…

第八次作業——系統設計與團隊分配(個人)

團隊作業地址:https://www.cnblogs.com/clio-hhhhhhl/p/9079157.html 個人碼云地址:https://gitee.com/Cliohl/events 團隊碼云地址:https://gitee.com/Cliohl/zhuoyue 項目進展: 上禮拜進展:把部分前端頁面實現出來&a…

深入理解Activity啟動流程(二)–Activity啟動相關類的類圖

本文原創作者:Cloud Chou. 歡迎轉載,請注明出處和本文鏈接 本系列博客將詳細闡述Activity的啟動流程,這些博客基于Cm 10.1源碼研究。 在介紹Activity的詳細啟動流程之前,先為大家介紹Activity啟動時涉及到的類,這樣大家可以有大概…

Lines色線halcon算子,持續更新

目錄bandpass_imagelines_colorlines_facetlines_gaussbandpass_image 功能:使用帶通濾波器提取邊緣。 lines_color 功能:檢測色線和它們的寬度。 lines_facet 功能:使用面模型檢測線。 lines_gauss 功能:檢測線和它們的寬…

疑問+軟件

問題 1學好軟件工程需要打好哪些基礎? 2怎樣學好軟件工程? 3軟件工程的發展前景如何? 4軟件工程具體能從事哪些職業? 5怎樣準確的找到自己的定位? 軟件 1支付寶 優點:支付便捷,轉賬方便&#xf…

成功的項目管理

內容提要 第一講 項目與項目管理 1.項目的基本概念 2.項目管理的概念 3.項目管理的重要性 第二講 項目管理的最新發展 1.現代項目管理的創立過程 2.現代項目管理的發展趨勢 3.項目管理流行的原因 第三講 信息時代的項目管理 1.信息時代的特點 2.信息時代項目管理的特點 3.按項目…

5月23日

11.1 LAMP架構介紹一、LAMP架構介紹LAMP是LinuxApache(httpd)MySQLPHP的簡寫,即把Apache、MySQL以及PHP安裝在linux系統上,組成一個運行環境來運行PHP腳本語言,通常是網站。比如Google、淘寶、百度、51cto博客、猿課論壇等就是用PHP語言寫出來…

Kotlin入門簡介

Kotlin的“簡歷” 來自于著名的IDE IntelliJ IDEA(Android Studio基于此開發) 軟件開發公司 JetBrains(位于東歐捷克)起源來自JetBrains的圣彼得堡團隊,名稱取自圣彼得堡附近的一個小島(Kotlin Island)一種基于JVM的靜態類型編程語言語法簡單,不啰嗦 1 2…

LaTeX基礎一:安裝與基本操作

一、安裝 1.首先下載texlive2015.iso文件。再在解壓的鏡像文件中運行install-tl-advanced.bat批處理命令。注意要關閉殺毒軟件,否則可能會出現錯誤。2.可以修改一下安裝路徑,只要更改一個,其他也隨之更改:3.把不要安裝的語言包去掉…

Match圖像匹配halcon算子,持續更新

目錄exhaustive_matchexhaustive_match_mggen_gauss_pyramidmonotonyexhaustive_match 功能:模板和圖像的匹配。 exhaustive_match_mg 功能:在一個分辨率塔式結構中匹配模板和圖像。 gen_gauss_pyramid 功能:計算一個高斯金字塔。 mono…

c++虛函數的前奏--函數指針與回調

聲明函數指針并實現回調程序員常常需要實現回調。本文將討論函數指針的基本原則并說明如何使用函數指針實現回調。注意這里針對的是普通的函數,不包括完全依賴于不同語法和語義規則的類成員函數(類成員指針將在另文中討論)。 聲明函數指針 …

你的微信,到底「連接」多少人?

作為一個技術人,用微信這么多年,也加了不少的好友和技術群。大半個月前,大概是5月初的時候,萌生了這個想法。 前后磕磕絆絆,經過了來美帝出差前期差點餓死、項目緊急期等艱難階段以及各種自學、溫習和設計,…

團隊項目第一周總結

團隊項目第一周總結 今天是周一,項目的進展周期已經進行了一周,做一個大概的總結吧。 周的工作先是定下團隊的項目方向,大家技術程度各有不同,因此想大一統的定下一個有些稍稍的花費時間。定好《基于大數據的日志分析》這個題目后…

電路寬度測量halcon例子

一個halcon處理的例子 目錄處理要求:原圖:處理程序:處理結果:處理要求: 根據客戶給的寬度,計算出電路寬度太窄的為NG 原圖: 處理程序: read_image (Image, 1.png) rgb1_to_gray(I…

深入理解C/C++函數指針

函數指針數組的妙用 筆者在開發某軟件過程中遇到這樣一個問題,前級模塊傳給我二進制數據,輸入參數為 char* buffer和 int length,buffer是數據的首地址,length表示這批數據的長度。數據的特點是:長度不定&#xff0c…

iOS顯示性能優化過程講解

點我跳轉原文地址 卡頓的原理 iOS系統界面滑動流暢性的保持主要是依靠CPU和GPU兩大處理硬件間通力合作的結果,一個視圖的顯示需要先經過CPU創建、布局計算、對圖片解碼、文本繪制,然后CPU將計算的結果交給GPU,GPU可能需要對圖形進行變換、合成…

asp.net web api集成微信服務(使用Senparc微信SDK)

/// <summary>/// 微信請求轉發控制器/// </summary>[RoutePrefix("weixin")]public class WeixinController : ApiController{#region 創建微信菜單/// <summary>/// 創建微信菜單/// </summary>/// <returns></returns>[HttpP…

1.SoapUI接口測試--創建項目

1、點擊File-->New soapUI Project 2、填寫項目名稱&#xff0c;接口服務地址后單擊【OK】按鈕后就成功創建了一個項目 3、模擬發送請求 4、創建請求 或者直接Copy一個請求 5、保存項目 6、項目是以xml的格式保存的&#xff0c;下次用的時候可以直接導入&#xff0c;點擊Fil…