您的位置:軟件測試 > 軟件項(xiàng)目管理 > 進(jìn)度管理 >
談?wù)勡浖?xiàng)目管理的重要性
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/5/14 15:23:53 ] 推薦標(biāo)簽:

隨著中國加入WTO后,外界對中國的軟件業(yè)帶來了機(jī)遇和挑戰(zhàn);為新新的軟件行業(yè)注入新的活力。但細(xì)細(xì)一想,其實(shí)所帶來的更多的是挑戰(zhàn)。我所說的挑戰(zhàn)不單只是個(gè)人開發(fā)中的水平問題,更多的是我國軟件項(xiàng)目管理的問題。下面我?guī)讉(gè)方面來談?wù)劇?/p>

 一、開發(fā)人員問題:

1、你開發(fā)中按軟件工程做了嗎?

軟件工程,這對軟件開發(fā)員來說是多么熟悉的字眼,但其中的內(nèi)涵你又知道多少? 再進(jìn)一步說,在開發(fā)中按軟件工程來做的又有多少? 大家常在網(wǎng)上聽到一些程序員在抱怨說:“我加班加點(diǎn)地寫了10萬行的代碼,所以老板把我給開除了。”這話扎聽有點(diǎn)好笑,但細(xì)細(xì)一想這是他的悲哀。他寫的代碼雖多,可是關(guān)鍵的又有多少。如果里面的代碼只要有80%的是關(guān)鍵的,我想老板是決對不會(huì)開除他的。問題出在10萬行代碼中有多少是關(guān)鍵的。先不說寫這10萬行代碼所花的時(shí)間了,說以后的維護(hù)問題,要是你到一個(gè)公司,老板首先要求你看完這10萬行代碼。我想你第一想到是走人,第二想到的還是走人。因?yàn)閷τ谝粋(gè)沒有按軟件工程來進(jìn)行開發(fā)的程序,不要說是這么多的代碼;那怕是幾十行、幾百行,讀起來也是很難受的事。記得我剛到深圳找工作,老板讓我接手另一個(gè)程序員所開發(fā)的一個(gè)小系統(tǒng)。這樣理所當(dāng)然的是看設(shè)計(jì)文檔,可是沒有,這樣只有看源程序;當(dāng)我打開源程序時(shí),我呆了?戳舜a,我決定走人。當(dāng)我向BOOS提出時(shí),老板給我做思想工作。當(dāng)然加薪也是少不了的,這也打破加薪的記錄了。所以我留下了。之后我開始看代碼。在我看代碼的同時(shí)真不知道把寫這程序的程序員罵了不知道多少次。這讓我更加增強(qiáng)了對軟件工程的認(rèn)識(shí)。為了不讓以后繼我的程序員不罵或少罵我。所以得好好按規(guī)定《軟件工程》辦事。說這些只是想讓大家靜下來想想,你在開發(fā)中按軟件工程做了嗎?

2、你是先寫文檔再寫程序的嗎?

一個(gè)好的程序是先寫好設(shè)計(jì)文檔再進(jìn)行編程的,在設(shè)計(jì)文檔的指導(dǎo)下,才能寫出安全的代碼。在文檔的指導(dǎo)下,這樣寫出來的程序至少不會(huì)出現(xiàn)寫了10萬的代碼還被老板開除的情況。如果你不寫文檔,一開始寫程序,這樣你不會(huì)按已設(shè)計(jì)好的路線走,而是想到哪寫到哪。小功能還好說,要是大功能,你想想等你寫下一個(gè)時(shí),回過頭來看原來寫的,你早不知所云了,那時(shí)你覺得好像在云里霧里亂走,修改的代碼也更不安全了。我所說寫文檔不是說很正規(guī)的,那怕你只用一張搞紙劃上幾畫也要畫點(diǎn)出來(這是對小功能來說的)。對于大的程序來說,你必須正規(guī)的寫了。因?yàn)檫@樣才能詳細(xì)的記下你的設(shè)計(jì)思想,如果開發(fā)一段時(shí)間后,感覺須要對一些功能進(jìn)行修改或變態(tài)時(shí),記住別刪除原來的,而是在下面進(jìn)行變更說明。這樣再次看文檔時(shí)你會(huì)更清楚為什么要這么做的原因。一看明白不是多好?偙饶闳ピ傧胍郧暗脑O(shè)計(jì)花的時(shí)間要少,如果刪除原來的設(shè)計(jì)思想,當(dāng)你再次看修改或變動(dòng)的功能時(shí),你可能會(huì)對其不理解。這是多么可怕的事呀!我想作為程序員應(yīng)該知道文檔的重要性。可是在一些小公司,先寫文檔后寫程序的開發(fā)員又有多少。要成為一個(gè)好的程序員大家想想自己該怎么做的吧!

 二、軟件項(xiàng)目管理問題:

1、現(xiàn)代的軟件開發(fā),技術(shù)不是關(guān)鍵:

隨著日益增長的軟件需求和軟件系統(tǒng)功能的增強(qiáng),過去一個(gè)人開發(fā)的歷史已不復(fù)存在,F(xiàn)在單槍匹馬寫程序也只是一種娛樂。我們一般開發(fā)的系統(tǒng)都是一個(gè)小組才能完成的。所以管理才是開發(fā)出好的軟件的前提條件,沒有管理一定出不來好的軟件,當(dāng)然有管理也不一定出軟件的。一個(gè)成功的軟件不一定是好的技術(shù),但在它背后一定有一個(gè)好的管理。所以現(xiàn)在的軟件開發(fā)已不像從前把技術(shù)放在第一,而是該把管理放在第一位。我在網(wǎng)上看到一篇關(guān)于中國軟件和印度軟件的比較。我現(xiàn)在記的不是太多,但對我影響深的是他們會(huì)去權(quán)衡技術(shù)和開發(fā)效率問題。如現(xiàn)在開發(fā)一個(gè)軟件,用戶要求在三個(gè)月內(nèi)完成,你在做系統(tǒng)分析時(shí)也認(rèn)為在三個(gè)月能完成。但你沒有考慮到一些細(xì)節(jié),你寫完系統(tǒng)的總體設(shè)計(jì),在進(jìn)行詳細(xì)設(shè)計(jì)時(shí)碰到要建一張不是太大的路由表。這時(shí)大多數(shù)國內(nèi)的設(shè)計(jì)人員會(huì)想用什么算法,去花很多時(shí)間去設(shè)計(jì)研究新的算法和技術(shù),而人家首先考慮的是系統(tǒng)的運(yùn)行環(huán)境,而這個(gè)軟件設(shè)計(jì)了是在(CPU:1.1G,內(nèi)存:512M)中運(yùn)行,用戶也沒特意提出其運(yùn)行效率要求。所以人家在內(nèi)存中開一個(gè)大數(shù)組來對這個(gè)路由表進(jìn)行操作。從這點(diǎn)看,人家注重的是軟件的整體,而不像國內(nèi)大多數(shù)據(jù)設(shè)計(jì)員那樣,把個(gè)體放在首位。其實(shí)這方面我覺得我們的開發(fā)員應(yīng)當(dāng)多向共產(chǎn)黨學(xué)習(xí)(本人不是共產(chǎn)黨員,團(tuán)員也因沒交團(tuán)費(fèi)被Cancel掉了)。把軟件設(shè)計(jì)的整體放在首位,而不去花太多的時(shí)間在不一定成功的技術(shù)上。如果花太多的時(shí)間在技術(shù)上去,這將對系統(tǒng)的按時(shí)完成帶來影響。我也不是說不該研究技術(shù),我只是說開發(fā)中應(yīng)當(dāng)以全局為重。如果要加入新的技術(shù),必須在分析時(shí)預(yù)算其所需要的時(shí)間,并設(shè)置技術(shù)風(fēng)險(xiǎn)管理。如果風(fēng)險(xiǎn)太大應(yīng)當(dāng)取消用這項(xiàng)技術(shù),改用其它的已成功的技術(shù)代替。風(fēng)險(xiǎn)管理這是近來才提出的軟件管理方法。它對我們的軟件項(xiàng)目有著很好的控制作用。對于一些中、大型系統(tǒng),它是一把走進(jìn)成功之門的鑰匙。這里不談了,我將在下面進(jìn)行說明。

2、好的管理才能開發(fā)出好的軟件(小系統(tǒng)除外):

大家都知道,軟件開發(fā)中有太多的不可預(yù)知性。但這種不可預(yù)知是對總體來說的,當(dāng)軟件進(jìn)行到一點(diǎn)程度時(shí),不可預(yù)知的東西會(huì)變成可預(yù)知的東西。以往的做法是不去管理它,這樣所帶來的是項(xiàng)目的失敗。要是有好的管理方法可以控制這些不可預(yù)知的東西,軟件項(xiàng)目會(huì)一步步隨著你的設(shè)計(jì)思路起向成功。現(xiàn)在和大家一起討論一些常用的軟件管理方法。

1)錯(cuò)誤管理:

小時(shí)候當(dāng)我做錯(cuò)事的時(shí)候,我父親總是把我叫到他身邊,對我說:“沒事,只要下次不做相同的錯(cuò)事行了。”這話也許很多家長都對自己的小孩這么講過。小時(shí)還不覺得,慢慢長大后,會(huì)發(fā)覺其中深刻的道理。這是說從錯(cuò)誤中吸取經(jīng)驗(yàn)教訓(xùn)。軟件項(xiàng)目開發(fā)中的錯(cuò)誤也是一樣。軟件開發(fā)是一項(xiàng)復(fù)雜的活動(dòng)。一個(gè)典型的軟件開發(fā)項(xiàng)目可能會(huì)給我們提供很多的機(jī)會(huì)去從錯(cuò)誤中吸取經(jīng)驗(yàn)教訓(xùn)。一般的軟件項(xiàng)目也會(huì)提供少量的錯(cuò)誤給我們學(xué)習(xí)。學(xué)過開車的人都知道,教練老是會(huì)這么講:“我希望你們從我身上學(xué)習(xí)我和前人的的經(jīng)驗(yàn),這些經(jīng)驗(yàn)?zāi)銈儾灰偃ピ嚵。如果要試你也許會(huì)賠上錢甚至于生命。”雖然軟件項(xiàng)目開發(fā)不會(huì)賠上生命,但是失敗的軟件項(xiàng)目是一定會(huì)賠錢的。所是在軟件開發(fā)中少不了要對錯(cuò)誤進(jìn)行管理。在項(xiàng)目的錯(cuò)誤管理中我一般是這么做的,現(xiàn)在和大家討論一下:

a、 列出典型錯(cuò)誤:

典型錯(cuò)誤中有人員方面的。如:對有問題的員工失控、挫傷積極性、人員素質(zhì)低、英雄主義、項(xiàng)目后期加入人員、開發(fā)人員與客戶之間發(fā)生摩擦、不現(xiàn)實(shí)的預(yù)期、缺乏有效的項(xiàng)目支持、缺乏各種角色的齊心協(xié)力、政治高于物質(zhì)、充滿想象等…

典型錯(cuò)誤中有過程方面的。如:過于樂觀的計(jì)劃、缺乏足夠的風(fēng)險(xiǎn)管理、缺乏計(jì)劃、在壓力下放棄計(jì)劃、在模糊的項(xiàng)目前期浪費(fèi)時(shí)間、前期活動(dòng)不合要求、缺少管理控制、缺少質(zhì)量保證措施、魯莽編碼等…

典型錯(cuò)誤中有技術(shù)方面的。如:過高估計(jì)了新技術(shù)或方法帶來的節(jié)省量、項(xiàng)目中間切換工具、缺乏自動(dòng)的源代碼控制手段等…

b、 列出自己的差實(shí)踐:

注意典型錯(cuò)誤,建立自己的差實(shí)踐列表,可以避免在以后的項(xiàng)目中犯同樣的錯(cuò)誤。

c、 列出項(xiàng)目中的差實(shí)踐:

組織機(jī)構(gòu)和其他項(xiàng)目組總結(jié)經(jīng)驗(yàn),學(xué)習(xí)他們的錯(cuò)誤中得到的經(jīng)驗(yàn)。和其他組同事交流項(xiàng)目開發(fā)中的磨難,學(xué)習(xí)他們的經(jīng)驗(yàn)。列出潛在的錯(cuò)誤,看到它我們會(huì)盡量避免今后犯同樣的錯(cuò)誤。

打個(gè)適當(dāng)?shù)谋扔,典型錯(cuò)誤好比我們學(xué)車時(shí)教練講的經(jīng)驗(yàn),自己的差實(shí)踐像我們在實(shí)際開車當(dāng)中出的問題,而項(xiàng)目中的差實(shí)踐是我們學(xué)車前的筆試的書。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd