您的位置:軟件測試 > 軟件項目管理 > 項目管理綜合 >
面對小型軟件項目 堅持規(guī)范管理是王道
作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2013/5/6 16:45:26 ] 推薦標簽:

一個企業(yè)的管理,大公司有大公司的方式,小公司也有小公司的做法。如果把別人的經(jīng)驗生搬硬套到自己身上,可能會適得其反。同樣,管理一個軟件開發(fā)項目也一樣,大項目和小項目的方式也完全不一樣。如很多人認為小型軟件開發(fā)項目不需要嚴格的管理,但事實上卻恰恰與此相反,小型軟件項目不單需要進行項目管理,而且不能完全照搬大型軟件項目的管理方式和開發(fā)模式,應該要遵循一種適合小型軟件項目的管理方式。

近期,我在負責的一個小型軟件開發(fā)過程中忽視了小型軟件項目的特點,結果是麻煩事情特別多,差點兒項目要以失敗告終。但從另一個角度來看,項目的大與小并沒有本質(zhì)的區(qū)別,很多方法是共通的,但必須要切合實際來靈活運用。本文結合我在這個小型軟件開發(fā)項目中得到的經(jīng)驗和教訓,首先分析小型軟件開發(fā)項目中常見的問題,然后提出相應的解決辦法。

一. 小型軟件開發(fā)項目中常犯的錯誤

小型軟件開發(fā)項目一般具有項目需求相對較少、人員較少、開發(fā)周期較短的特點。因此,小型軟件開發(fā)看起來都比較簡單,比較容易成功,因而人們往往忽視了小型軟件開發(fā)的管理,其實這是一種誤解。例如,由于人員較少分工不明確或由于開發(fā)周期較短忽視項目計劃和進度表的控制,結果是經(jīng)常會出現(xiàn)開發(fā)流程混亂,重編碼輕設計,甚至到編碼完成后再回頭編寫各種文檔資料等現(xiàn)象。從我這次的開發(fā)經(jīng)驗看來,在小型軟件開發(fā)管理中容易犯以下的錯誤:

(1)沒有重視項目計劃,做和尚撞鐘

往往由于項目較小,便很草率地制定一個開發(fā)日程表,也沒有認真地估計項目難度,結果是實際完成時間與估計完成時間往往有較大差別。還有人是這樣說計劃的:"計劃、計劃,紙上畫畫,墻上掛掛,計劃不如變化"。因此,由于觀念的不正確使到計劃管理經(jīng)常成為空話,特別是在小型軟件開發(fā)中影響計劃的因素太多時或加上想省事怕麻煩,結果計劃管理形同虛設了。

但是,軟件進行項目管理的目的是綜合各種因素,制定合理的計劃,并通過計劃的實施,使其規(guī)范化,從而提高人員效率,降低項目成本。因此,軟件開發(fā)無論項目大小,其實都需要計劃過程。只是對于小型軟件項目來說,計劃階段可能切換的很快。例如,有時候項目負責人只是腦海里想一遍把計劃確定了。但項目負責人必須心里要清楚:有時候想省事兒,可能反而會更加費事兒。俗語有云:一年之計在于春、一日之計在于晨。其意義不是說越早做越好,而是闡述一個目標的實現(xiàn)需要盡早做規(guī)劃。

(2)沒有完整的開發(fā)文檔,無意之中增大項目風險

一個完整的軟件開發(fā)項目應包括有相當多的相關文檔:例如項目開發(fā)計劃、軟件需求說明書、概要設計說明書、詳細設計說明書、開發(fā)進度月報、測試計劃和開發(fā)總結報告等。而在實際中,許多小型軟件項目只有簡單的流水帳式的開發(fā)日志。常見的借口往往是以文檔滯后來解釋文檔的不健全,這似乎沒有什么不妥,而且好象還理直氣壯的。但如果將軟件項目叫做"工程"的話,再將其與建筑工程相比較,那我們也可以說:大樓有了,圖紙滯后,這是很可笑的。還有許多開發(fā)人員認為軟件設計已經(jīng)在其腦子里完成了,在其意識里工作只是一堆需要敲出來的程序,既然能直接敲得出來,自然沒必要再做寫文檔的重復工作。

這樣做的結果使到設計思路和實現(xiàn)細節(jié)在項目團隊內(nèi)的交流很困難,開發(fā)過程會由于需要大量嘗試性、重復性工作而變得緩慢,而且會出現(xiàn)許多意想不到的大大小小的問題,狼煙四起之時重要的工作變成了"救火"。所以,在小型軟件項目里會"救火"的技術人員會成為大家推崇和依賴的英雄。但這種"救火"式的行為終結果卻是項目延期成了普遍現(xiàn)象,產(chǎn)品質(zhì)量也得不到保證。另外,如果這個英雄半途離開,那沒有任何文檔支持的中間結果對其它人來說基本上是"一堆垃圾"而已,項目被迫中斷成了家常便飯。

(3)人員沒有技術分層,職責不清分工不明

許多小型軟件開發(fā)項目一直采用個人主義式的開發(fā)方式,決定了規(guī)范化開發(fā)方式的不被認可。對規(guī)范化管理的淡漠,抑制了團隊工作效率的提高,甚至扼殺了其生命。所以,小型軟件項目往往要求主要的項目人員從各個方面都得是非常出色的,不僅要全面地掌握系統(tǒng)架構知識、具有業(yè)務分析和系統(tǒng)設計能力,而且還得是多種流行開發(fā)工具的專家、數(shù)據(jù)庫的專家、網(wǎng)絡配置的專家等,但這樣的全才和通才往往是可遇不可求的。

因此,小型軟件項目更需要做技術分層,例如系統(tǒng)分析員、需求分析師、程序員、測試員等。在項目開發(fā)中相應的角色必須要有相應的專業(yè)人員來擔當,當然可依據(jù)項目規(guī)模大小和現(xiàn)有人員來合理配置。這里強調(diào)技術結構分層和技術人員劃分,更多的是技術責任的明細,而非具體個人的技術定位,將技術任務和相應的責任劃分到具體的崗位、將崗位落實到具體的人,這與具體技術人員身兼數(shù)職是不矛盾的。

而我們經(jīng)?吹降氖窃谠S多小型軟件開發(fā)過程中,人員職責不清、分工不明的現(xiàn)象非常嚴重。有的甚至從調(diào)研到分析、設計,到開發(fā)、調(diào)試,再到測試一氣呵成。先不說工作量有多大,僅從項目的風險來說是非常可怕的,更不用說大限度發(fā)揮開發(fā)人員的長處了。

二. 小型軟件實行項目管理的方法和步驟

為什么小型軟件開發(fā)項目卻會面臨更多的失敗風險呢?在我所負責的項目面臨下馬前的每一個夜晚,我的腦袋里一直在思考這個問題。也許是多日思考的沉淀,也許是思緒在不停的四處游蕩后的突發(fā)靈感。使我明白到原來決定小型軟件項目成敗的核心因素,是有沒有堅持進行實行項目管理,F(xiàn)總結為以下幾個要點:

(1)樹立小型軟件開發(fā)也需要項目管理的理念項

但凡專業(yè)的軟件開發(fā)人員都學過《軟件工程》這門課,縱觀這些指導性的理論以及建議。我們應該要樹立即使是小型軟件開發(fā)也應該在一定程度不要違背開發(fā)理論,必須要遵從于工程化軟件理論的原則和方法,落實規(guī)范化的管理。否則,失敗的風險將伴隨著整個開發(fā)過程,而且越到后期失敗的可能性會越大。

對小型軟件項目而言,急需的不是設計方法,也非分析方法,當然也不是開發(fā)方法,而是管理方法。因此,無論項目大小都必須要遵循一定的項目管理步驟。從概念上講,軟件項目管理是為了使軟件開發(fā)能夠按照預定的成本、進度、質(zhì)量順利完成,而對成本、人員、進度、質(zhì)量、風險等進行分析和管理的活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理還有利于將"英雄"式的開發(fā)人員的個人開發(fā)能力轉(zhuǎn)化成團隊的開發(fā)能力,團隊的軟件開發(fā)能力越高,越能減小項目的開發(fā)風險。

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