軟件項(xiàng)目管理中的10個(gè)誤區(qū)
隨著計(jì)算機(jī)硬件水平的不斷提高,計(jì)算機(jī)軟件的規(guī)模和復(fù)雜度也隨之增加。計(jì)算機(jī)軟件開(kāi)發(fā)從“個(gè)人英雄”時(shí)代向團(tuán)隊(duì)時(shí)代邁進(jìn),計(jì)算機(jī)軟件項(xiàng)目的管理也從“作坊式”管理向“軟件工廠式”管理邁進(jìn)。這就要求軟件開(kāi)發(fā)人員特別是軟件項(xiàng)目管理人員更深一步地理解和掌握現(xiàn)代軟件工程的理論方法,完成思想觀念上的轉(zhuǎn)變。以下列舉了10個(gè)在現(xiàn)代項(xiàng)目管理中思想觀念上容易陷入的誤區(qū),希望能夠拋磚引玉,引發(fā)大家更多的思索和討論。
誤區(qū)1:軟件項(xiàng)目的需求可以持續(xù)不斷的改變,而且這些改變可很容易地被實(shí)現(xiàn)。的確,在具體實(shí)際中由于種種原因客戶方很難在需求分析階段全面而準(zhǔn)確地描述所有問(wèn)題。隨著開(kāi)發(fā)進(jìn)度的推進(jìn),往往會(huì)有一些需求的改變。而現(xiàn)代軟件工程理論也利用軟件的靈活性特點(diǎn)通過(guò)各種方式來(lái)適應(yīng)這種情況。不過(guò),這并不表明“軟件項(xiàng)目的需求可以持續(xù)不斷的改變 ,而且這些改變可很容易地被實(shí)現(xiàn)”。實(shí)踐表明:隨著開(kāi)發(fā)進(jìn)度的推進(jìn),實(shí)現(xiàn)軟件需求更改所需要的代價(jià)呈指數(shù)形式增長(zhǎng)。假定在需求分析階 段實(shí)現(xiàn)需求更改需要花費(fèi)1倍的代價(jià);那么,在系統(tǒng)設(shè)計(jì)和編碼階段,需要花費(fèi)1.5-6倍的代價(jià);在系統(tǒng)測(cè)試階段需要花費(fèi)10-20倍的代價(jià);在軟 件版本發(fā)布以后,甚至可能要花費(fèi)60-100倍的代價(jià)。由此可見(jiàn),在項(xiàng)目開(kāi)展過(guò)程中,軟件需求的改變應(yīng)當(dāng)盡量早地提出。這樣才可能花費(fèi)少,容易被實(shí)現(xiàn)。
誤區(qū)2:既然在項(xiàng)目人員配置中設(shè)置了專門的測(cè)試人員,那么軟件所有的內(nèi)部測(cè)試工作全部應(yīng)該由測(cè)試人員完成。分析:軟件程序測(cè)試可以分為“白盒法”和“黑盒法”兩種方式。由于使用“白盒法”對(duì)測(cè)試人員各方面素質(zhì)的種種要求,在進(jìn)行程序測(cè)試時(shí) 測(cè)試人員總是最優(yōu)先使用“黑盒法”。他們的工作方式往往是先對(duì)程序進(jìn)行“黑盒法”測(cè)試;如果測(cè)試沒(méi)有通過(guò),不得已這才考慮對(duì)程序代碼 進(jìn)行“白盒法”測(cè)試。顯然,這種對(duì)“白盒法”有意無(wú)意的“逃避”,對(duì)軟件的可靠性和穩(wěn)定性構(gòu)成了威脅。如何解決這個(gè)問(wèn)題?一方面需要 提高對(duì)測(cè)試人員的要求,另一方面也需要程序員完成部分的“白盒法”測(cè)試(實(shí)際上,程序員往往也是進(jìn)行“白盒法”測(cè)試的最佳人選)。
誤區(qū)3:軟件項(xiàng)目管理只是相關(guān)技術(shù)部門的事情,與公司其他部門無(wú)關(guān)。在競(jìng)爭(zhēng)日益激烈的今天,軟件項(xiàng)目規(guī)模大、復(fù)雜度高而且時(shí)間要求緊迫。要想提高公司的軟件項(xiàng)目管理水平,這就需要提高公司的整體參與意識(shí),需要公司各個(gè)部門協(xié)同作戰(zhàn)。例如需要會(huì)計(jì)部門協(xié)助進(jìn)行項(xiàng)目預(yù)算,財(cái)務(wù)管理和費(fèi)用控制;需要研究部門(技術(shù)委員會(huì))指派專家 協(xié)助進(jìn)行各種風(fēng)險(xiǎn)評(píng)估,提供技術(shù)指導(dǎo);需要后勤部門提供各種保障。
誤區(qū)4:在開(kāi)發(fā)進(jìn)度滯后的情況下,可以聘請(qǐng)更多的程序員加入到開(kāi)發(fā)團(tuán)隊(duì)中,通過(guò)增加人力資源來(lái)趕上進(jìn)度。分析:在注重團(tuán)隊(duì)開(kāi)發(fā)的時(shí)代,開(kāi)發(fā)方應(yīng)該根據(jù)目前的軟件項(xiàng)目管理水平慎重考慮這個(gè)做法。如果新加入的程序員對(duì)目前軟件項(xiàng)目的應(yīng)用行業(yè) 有一定了解,并且可以很快適應(yīng)了開(kāi)發(fā)方的項(xiàng)目管理方式、軟件開(kāi)發(fā)風(fēng)格、團(tuán)隊(duì)協(xié)作氛圍;那么“新人”的加入是有益的。否則,可能會(huì)“好心好意做壞事”。因?yàn)楸M管其個(gè)人能力很高,但是為了使其與大家一起協(xié)同工作,開(kāi)發(fā)團(tuán)隊(duì)不得不分出人手對(duì)其進(jìn)行與項(xiàng)目有關(guān)的技術(shù)/業(yè)務(wù)培訓(xùn),更重要的(也是難度最大的)是還要引導(dǎo)其融入團(tuán)隊(duì)。這可能需要花費(fèi)開(kāi)發(fā)團(tuán)隊(duì)許多時(shí)間和精力,很有可能使項(xiàng)目進(jìn)度更慢。
誤區(qū)5:技術(shù)骨干應(yīng)該成為項(xiàng)目的項(xiàng)目經(jīng)理,項(xiàng)目經(jīng)理一定是所有項(xiàng)目成員中薪水最高的。分析:在“軟件作坊”時(shí)代,這是一種普遍使用而且效果不錯(cuò)的方法;而在“軟件工廠”時(shí)代,這種方法卻帶來(lái)各種問(wèn)題,有時(shí)甚至直接導(dǎo)致 項(xiàng)目失敗。究其原因這主要是因?yàn)殡S著現(xiàn)代軟件開(kāi)發(fā)分工的細(xì)化,對(duì)項(xiàng)目經(jīng)理的要求也發(fā)生了根本的改變--最注重的不是其對(duì)某項(xiàng)專業(yè)技術(shù) 的掌握程度,而是其組織、領(lǐng)導(dǎo)、協(xié)調(diào)開(kāi)發(fā)團(tuán)隊(duì)的能力(當(dāng)然,可以兩者均突出最好)。至于項(xiàng)目經(jīng)理的薪水問(wèn)題,這和定薪制度有很大關(guān)系。通常,項(xiàng)目經(jīng)理執(zhí)行的是管理人員的薪酬體系,而其他人員執(zhí)行的是技術(shù)人員的薪酬體系。項(xiàng)目經(jīng)理的薪水在項(xiàng)目成員中是比較高的,但不一定是最高的。有時(shí)候,為了激勵(lì)技術(shù)人員,項(xiàng)目中的技術(shù)骨干得到的酬勞比項(xiàng)目經(jīng)理要高。
誤區(qū)6:只有項(xiàng)目經(jīng)理以及部門主管才會(huì)關(guān)心項(xiàng)目整體進(jìn)度,程序員只關(guān)心自己的開(kāi)發(fā)進(jìn)度。其實(shí)這是一種“官僚”的想法。實(shí)際上程序員作為團(tuán)隊(duì)中的一員,他不僅僅是在打一份工,更重要的是在參與一件“作品”的創(chuàng)作。在體味工作的辛苦的同時(shí),程序員更重要的是要享受創(chuàng)作的快感。項(xiàng)目經(jīng)理不應(yīng)該漠視程序員對(duì)“成就感”的追求,應(yīng)該向每一個(gè)人詳細(xì)描述最終“作品”將會(huì)如何美妙和令人興奮,并且在到達(dá)最終目標(biāo)的路上設(shè)立一系列的里程碑。每當(dāng)項(xiàng)目整體推進(jìn)到一個(gè)里程碑的時(shí)候,項(xiàng)目經(jīng)理應(yīng)該把 這個(gè)消息告訴每一位項(xiàng)目成員,這不僅僅可以讓所有的項(xiàng)目成員享受到階段勝利的喜悅,還可以激發(fā)大家更大的工作熱情,提高工作效率。
誤區(qū)7:更大的壓力可以帶來(lái)工作效率的提高。軟件公司的員工加班情況是時(shí)常發(fā)生的,對(duì)員工增加工作壓力、要求加班趕進(jìn)度,這種方式在初期可以略微提高生產(chǎn)力,因?yàn)閱T工喜歡壓力,并且集中精力于項(xiàng)目任務(wù),全力投入。中等壓力或許可以將生產(chǎn)力提高25%,甚至使總的交付時(shí)間縮短25%。但是只有在壓力處在適當(dāng)?shù)姆秶鷷r(shí),情況才是這樣。壓力再大點(diǎn),增加的壓力將不會(huì)產(chǎn)生作用,畢竟人的能力是有限的,當(dāng)員工面對(duì)巨大的壓力而習(xí)以為常時(shí),會(huì)將普通的工作量占滿整個(gè)工作時(shí)間,導(dǎo)致實(shí)際的生產(chǎn)力下降。如果壓力再大一些,員工開(kāi)始疲憊,直到筋疲力盡,甚至灰心喪氣,他們對(duì)項(xiàng)目不抱有什么積極的態(tài)度,此時(shí)的項(xiàng)目結(jié)局可想而知。
誤區(qū)8:使用高級(jí)語(yǔ)言可以大大提高項(xiàng)目進(jìn)度,縮短交付期。高級(jí)語(yǔ)言相對(duì)于他們的前輩確實(shí)效率大大提高,程序員使用之可以提升編碼速度,從而使整個(gè)項(xiàng)目的開(kāi)發(fā)周期縮短;但是在完整的軟件生命周期中,編碼活動(dòng)一般僅占總時(shí)間的20%左右,而需求搜集和分析、高層設(shè)計(jì)、測(cè)試等活動(dòng)卻無(wú)法從高級(jí)語(yǔ)言的使用中獲益,所以不要認(rèn)為運(yùn)用了高級(jí)語(yǔ)言就可以制定一個(gè)“激進(jìn)而且安全”的項(xiàng)目進(jìn)度計(jì)劃。
誤區(qū)9:小型項(xiàng)目不需要嚴(yán)格的流程控制。小型項(xiàng)目由于涉及的人員較少,便很草率地制定一個(gè)開(kāi)發(fā)日程表,沒(méi)有認(rèn)真地估計(jì)項(xiàng)目難度,結(jié)果實(shí)際完成時(shí)間與估計(jì)完成時(shí)間往往有較大差別;開(kāi)發(fā)人員少,意味著不同人員的程序之間交互、接口相對(duì)少一些。開(kāi)發(fā)周期短意味著往往是同樣的幾個(gè)人從頭到尾負(fù)責(zé)一個(gè)項(xiàng)目。這兩者都讓人容易犯些錯(cuò)誤。往往是幾個(gè)人碰一下頭,討論一下最基本的數(shù)據(jù)結(jié)構(gòu)、函數(shù)接口便分頭去做自己的工作了,沒(méi)有一份較正式的文檔。往往覺(jué)得“把這些事情(流程管理、項(xiàng)目文檔)都做完的話,項(xiàng)目就永遠(yuǎn)做不完了!”事實(shí)是如果項(xiàng)目中不做這些事,就得花更久時(shí)間才完成得了。
誤區(qū)10:軟件產(chǎn)品的質(zhì)量完全取決于過(guò)程。事實(shí)上產(chǎn)品的質(zhì)量受到人員、技術(shù)和過(guò)程三個(gè)要素制約,片面強(qiáng)調(diào)過(guò)程決定質(zhì)量就好像認(rèn)為只有明星程序員才能開(kāi)發(fā)出合格的軟件一樣片面。而且低劣設(shè)計(jì)和良好設(shè)計(jì)之間的區(qū)別可能在于設(shè)計(jì)方法中的完善性,而良好設(shè)計(jì)和卓越設(shè)計(jì)之間的區(qū)別肯定不是如此。卓越設(shè)計(jì)來(lái)自卓越的設(shè)計(jì)人員。軟件開(kāi)發(fā)是一個(gè)創(chuàng)造性的過(guò)程。完備的方法學(xué)可以培養(yǎng)和釋放創(chuàng)造性的思維,但它無(wú)法孕育或激發(fā)創(chuàng)造性的過(guò)程。
posted on 2013-03-22 10:12 順其自然EVO 閱讀(205) 評(píng)論(0) 編輯 收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄