在軟件開發(fā)當中,為了能夠有效地進行項目進度控制,需要在影響進度的因素分析之前及時采取必要的應(yīng)對措施,以此來盡量減少進度計劃與實際進度之間的偏差,從而實現(xiàn)項目主動的控制。在軟件開發(fā)涉及到的項目中,有許多因素會對進度產(chǎn)生影響,如人為、技術(shù)、開發(fā)費用、環(huán)境等因素。
對于軟件開發(fā)項目來說,人為因素是最主要的,而技術(shù)因素最終也是人為因素。在軟件開發(fā)項目的進度中,經(jīng)常會出現(xiàn)這樣的情況:
1、80-20原則以及過于樂觀的進度控制
在軟件開發(fā)中,80-20原則體現(xiàn)在:80%的項目工作可以在20%的時間內(nèi)完成,剩下的20%則需要80%的時間才能完成。
這80%的項目工作不一定是在項目前期,可能分布在項目的各個階段,其于20%左右的項目工作大部分在后期。因此,軟件開發(fā)進入代碼階段后,給人進展迅速的感覺,項目經(jīng)理、項目團隊成員、用戶、上層領(lǐng)導(dǎo)人過于樂觀的估計。而且一些領(lǐng)導(dǎo)者看到軟件交付給用戶后,就一石激起千層浪“總算交差了”,同時也可能撤走一些被認為是不必要的人力資源。但是,許多時候,這是針對用戶不合理的交貨期要求而采取的最后措施,其結(jié)果就是延遲了后期的工作,同時如果軟件不夠成熟,也會對用戶造成不良影響。
2、范圍、質(zhì)量因素對軟件開發(fā)進度的影響
軟件開發(fā)這個項目會比其他任何建設(shè)項目變化更為頻繁,可能是因為軟件程序是一個“看不見的”、“容易修改的”東西。用戶想什么時候改就什么時候改,導(dǎo)致需求擴散。項目經(jīng)理有時候不知道怎么拒絕,又因為說“我可以”的心理因素,一般會答應(yīng)修改。隨著時間的增加,這樣的需求集少成多,也會逐漸影響軟件開發(fā)項目進度。
如果軟件開發(fā)中的某項工作表面上在進行中達到了目標,但檢查后質(zhì)量達不到要求,就需要通過返工的方式增加人力資源和時間的投入,實際上是延誤了軟件開發(fā)進度。無論是橫向還是縱向來看,有些任務(wù)的質(zhì)量會影響到整個項目的進度,而之前一些任務(wù)的質(zhì)量會影響到后面一些任務(wù)的質(zhì)量。
3、資源、預(yù)算變更這些因素對軟件開發(fā)進度的影響
資源,最重要的是人力資源。有的時候,有的人不到位,或者在多個項目的情況下,有的人中間被其他項目吸引,或者有多個項目,或者無法從其他項目中自拔。還有一個很重要的資源,就是信息資源,比如一些國家標準、行業(yè)標準,用戶可能無法提供,但需要收集或購買。如果它們不能按時提供,需求分析、設(shè)計或編碼的工作就會受到影響。開發(fā)設(shè)備或軟件等其他資源如果不能到達,也會影響進度。實際上,預(yù)算是一種資源,預(yù)算的變化會影響到某些資源的變化,從而影響到軟件開發(fā)進度。
4、低估了軟件開發(fā)項目實現(xiàn)的條件
從技術(shù)難度、協(xié)調(diào)復(fù)雜性和環(huán)境因素等方面來看,低估了軟件開發(fā)項目實現(xiàn)的條件。
首先,低估了技術(shù)難度。有時候,企業(yè)中的高級項目經(jīng)理,軟件開發(fā)項目團隊成員都會低估項目技術(shù)難度。對技術(shù)難度的低估實際上也就是對人的能力的高估,認為或希望項目能按照既定的樂觀計劃順利進行,但實際上并非如此。軟件項目的高科技特性本身就說明它的實施會有很大的技術(shù)難度,除了需要高科技人才外,還需要考慮科研攻關(guān)和項目試驗來解決某些績效問題。
其次,低估了協(xié)調(diào)的復(fù)雜性,也低估了多個項目團隊參與項目時協(xié)調(diào)工作的困難。軟件開發(fā)項目團隊成員強調(diào)個人智慧和個性,給項目工作的協(xié)調(diào)帶來了更多的復(fù)雜性。當一個大型項目由多個子項目組成時,不僅會增加它們之間充分溝通的難度,還會增加項目協(xié)調(diào)和進度控制的難度。
此外,企業(yè)的高級項目管理人員和項目經(jīng)理往往低估了環(huán)境因素,這些環(huán)境因素包括:用戶環(huán)境,行業(yè)環(huán)境,組織環(huán)境,社會環(huán)境,經(jīng)濟環(huán)境。低估這些條件既有主觀原因,也有客觀原因。對軟件開發(fā)項目環(huán)境認識不足,導(dǎo)致準備不足。
5、收集軟件開發(fā)項目的狀態(tài)信息
由于項目經(jīng)理的經(jīng)驗或質(zhì)量原因,項目狀態(tài)信息收集沒有很好的把握,及時性、準確性和完整性相對較差。造成這種現(xiàn)象還有其他原因。有些項目組成員對自己的工作不屑一顧,不想讓別人知道自己工作中的缺點,比如軟件程序的編寫,可能會先編寫一些表面的東西,已有的接口,看上去像是完成了任務(wù),實際上只是一個“原型系統(tǒng)”或演示系統(tǒng)。使領(lǐng)導(dǎo)者產(chǎn)生更加樂觀的情緒。若項目經(jīng)理或管理團隊未及時進行檢查以發(fā)現(xiàn)問題,則會嚴重影響項目進度。
當然,如果出現(xiàn)這種需要時刻注意的氛圍,管理者應(yīng)該從管理的觀點出發(fā),從制度的觀點出發(fā),進行改善,讓大家實事求是地進行交流。
6、執(zhí)行計劃的嚴格程度
沒有將計劃作為軟件開發(fā)項目過程的基礎(chǔ),把計劃放在了一邊,隨意去做。
例如,對于軟件開發(fā)項目小組的內(nèi)部或外部溝通,有必要清楚計劃中的人員、周期、模式和方法,但在實際項目過程中,溝通可能不是及時的或完整的所有項目利益攸關(guān)方。
以上便是米么信息對軟件開發(fā)過程中,影響軟件開發(fā)的一些因素總結(jié),只有將這些因素合理的運用,才會在軟件開發(fā)項目中盡可能的控制項目進度。