談?wù)勡浖_發(fā)管理
2015-06-18 15:21:07 訪問:
軟件開發(fā)項目最大的特點就是不確定性。這是指軟件開發(fā)項目不可能完全在規(guī)定的時間內(nèi),按照規(guī)定的預(yù)算,由規(guī)定的軟件開發(fā)人員完成。無論之前你做了多么精細(xì)的項目計劃,在軟件開發(fā)執(zhí)行的過程中肯定會有偏差。這些偏差就是所謂的風(fēng)險。因為軟件開發(fā)不確定性,導(dǎo)致了計劃趕不上變化,也導(dǎo)致了平時的工作中的2種傾向:
1、軟件開發(fā)需求變化太快,索性不制定計劃。
2、過度強調(diào)計劃,往往要將項目中非?,嵥榈氖虑槎伎紤]的非常清楚之后再啟動項目。
第一種傾向,在我做過的項目里占了2/5,都是在軟件項目開始時制定一份計劃,軟件項目一啟動就丟到一邊,軟件項目過程中完全不理會,個人能力強的PM大致還能把握方向和進度,但是問他之前做了些什么額外的工作時,往往回答不出來,等到軟件項目結(jié)束,再把當(dāng)初的軟件開發(fā)計劃改改,做個大概的統(tǒng)計也就了事。
軟件開發(fā)需求的多變是必然的。由于用戶對軟件開發(fā)項目認(rèn)識不足,加上一個東西的從無到有,所以往往需求開始都是模糊的,只有隨著項目的發(fā)展和反復(fù)的溝通,才能逐漸的明確。如何盡早的引導(dǎo)客戶把需求明確,是軟件公司、需求分析人員的工作,是保障項目可以順利實施下去的前提保障,它是一門技術(shù),也是一門思維溝通藝術(shù)。需求調(diào)研清楚了不代表著萬事大吉。同一個東西,不同的人有著不一樣的理解。開發(fā)人員和客戶之間隔著需求人員這么一層,如何把客戶的意思明白、清楚、不變形的傳遞給開發(fā)人員,這也是大部分項目中頭痛的問題。我們經(jīng)??梢钥吹皆谲浖_發(fā)的差不多的時候,需求、開發(fā)、測試聚在一起吵架,責(zé)任互推。
軟件開發(fā)項目制定的計劃不嚴(yán)謹(jǐn),隨意性太大,會導(dǎo)致可操作性差,在實施中根本無法遵循,也就失去了計劃的作用。有的人會拋棄全局計劃,采取每周制定下周的計劃,這樣也是不可取的,畢竟計劃沒有一個長遠(yuǎn)的目標(biāo)或宏觀上的掌控,只局限于眼前的一點點事情,往往會致使項目失控。我一般采取先制定全盤計劃,再每月制定詳細(xì)計劃,當(dāng)月快結(jié)束時,根據(jù)實際情況調(diào)整下個月的計劃,這樣既有了較長期的把控,也有了和項目目標(biāo)的對比,同時也不會把自己陷入無止境的修改計劃中。
軟件開發(fā)技術(shù)人員的水平如果不能與項目的要求相適應(yīng),對項目需求或新技術(shù)不是很熟悉,對項目的質(zhì)量、成本、進度都會產(chǎn)生影響。當(dāng)進度開始滯后,軟件開發(fā)軟件公司最常用的方法就是增加人手。我之前的一個項目就是如此,由于軟件公司不能把握需求,需求不斷的增加,于是開始不斷的加班,在這種折磨中,老員工開始紛紛離開,新來的員工不熟悉,進度進展緩慢,軟件公司開始大量的加人,但是對系統(tǒng)代碼和需求的不熟悉,往往3、4個人新員工都抵不了1個老員工。于是,開始無限制的加班,在加班的折磨下,新員工又紛紛離開,于是又加人。惡性循環(huán),項目被無限的延期。這樣的項目相信大家遇到過不少。
導(dǎo)致軟件開發(fā)失敗的因素還有很多,對于一個軟件開發(fā)公司來說,一個好的軟件項目管理是一個好的開始,但并不等于軟件開發(fā)項目成功。加強自身能力的提升,是每個軟件公司必須有的意識。