7、計劃變更調(diào)整的及時性
漸近明細(xì)是項目的特點,特別是對于軟件開發(fā)項目,并不是一個一成不變的過程。開始時的項目計劃可以先制定得比較粗一些,隨著項目的進(jìn)展,特別是需求明確以后,項目的計劃就可以進(jìn)一步的明確,這時候應(yīng)該對項目計劃進(jìn)行調(diào)整修訂,通過變更手續(xù)取得項目干系人的共識。計劃應(yīng)該隨著項目的進(jìn)展而逐漸細(xì)化、調(diào)整、修正。沒有及時調(diào)整的計劃或者是隨意的不負(fù)責(zé)任的計劃的項目是難以控制的。在高技術(shù)行業(yè),日新月異是主要特點,因此計劃的制定需要在一定條件的限制和假設(shè)之下采用漸近明細(xì)的方式,隨著項目的進(jìn)展進(jìn)行不斷細(xì)化、調(diào)整、修正、完善。對于較為大型的軟件開發(fā)項目的工作分解結(jié)構(gòu)可采用二次甚至多次 WBS 方法。即根據(jù)總體階段劃分的總體 WBS ,需求調(diào)研階段結(jié)束、概要設(shè)計完成后專門針對詳細(xì)設(shè)計或編碼階段的二次 WBS 。由于需求的功能點和設(shè)計的模塊或組件之間并不是一一對應(yīng)的關(guān)系,所以只有在概要設(shè)計完成以后才能準(zhǔn)確地得到詳細(xì)設(shè)計或編碼階段的二次 WBS ,根據(jù)代碼模塊或組件的合理劃分而得出的二次 WBS 才能在詳細(xì)設(shè)計、編碼階段乃至測試階段起到有效把握和控制進(jìn)度的作用。有些項目的需求或設(shè)計做得不夠詳細(xì),無法對工作任務(wù)的分解、均衡分配和進(jìn)度管理起參考作用,因此要隨著需求的細(xì)化和設(shè)計的明確,對項目的分工和進(jìn)度進(jìn)行及時的調(diào)整,使項目的計劃符合項目的變化,使項目的進(jìn)度符合項目的計劃。
8、未考慮不可預(yù)見事件發(fā)生造成的影響
假設(shè)、約束、風(fēng)險等考慮“不周”造成項目進(jìn)度計劃中未考慮一些不可預(yù)見的事件發(fā)生。例如軟件開發(fā)項目還會因為項目資源特別是人力資源缺乏、人員生病、人員離職、項目團(tuán)隊成員臨時有其他更緊急的任務(wù)造成人員流動等不可預(yù)見的事件對項目的進(jìn)度控制造成影響(即項目按時完成是基于如下假設(shè):人力資源不會缺乏、人員不會生病、人員不會流動)。企業(yè)環(huán)境、社會環(huán)境、天災(zāi)人禍等事件對項目的進(jìn)度控制造成影響。對項目的假設(shè)條件、約束條件、風(fēng)險及其對策等對于進(jìn)度的影響在項目計劃要進(jìn)行充分的考慮,在項目進(jìn)展過程中也要不斷地重新考慮有沒有新的情況,新的假設(shè)條件、約束條件、潛在風(fēng)險會影響項目的進(jìn)度。假設(shè)是通過努力可以直接解決的問題,而這些問題是一定要解決才能保證項目按計劃完成;約束一般是難以解決的問題,但可以通過其他途徑回避或彌補(bǔ)、取舍,如犧牲進(jìn)度、質(zhì)量等等;假設(shè)與約束是針對比較明確會出現(xiàn)的情況,如果問題的出現(xiàn)具有不確定性,則應(yīng)該在風(fēng)險分析中列出,分析其出現(xiàn)的可能性、造成的影響、采取的措施。實際上像沒有考慮人的疾病、人員流動這些情況本身也不是什么問題,因為任何人都不可能把所有以外的情況都考慮完整,實際上也沒有必要。但有些諸如下班或節(jié)假日的加班時間都被安排用于項目工作的情況就會造成更多的項目不確定性。在可能的情況下當(dāng)然要對所有可能情況都做到有備無患,但是有的時候也要冒一定的風(fēng)險,同時對于風(fēng)險的防范也需要考慮如果防范的成本大于風(fēng)險本身造成的損失和影響,則這種防范是沒有必要的。
9、程序員方面的因素對進(jìn)度的影響
程序員方面有兩種常見的心態(tài)影響了進(jìn)度的控制:一是技術(shù)完美主義、二是自尊心。
技術(shù)完美主義的常見現(xiàn)象是,有些程序員由于進(jìn)度壓力、經(jīng)驗等方面的原因,會匆忙先做編碼等具體的事情,等做到一定程度后會想到一些更好的構(gòu)思,或者看到一些更好的技術(shù)的介紹,或者是覺得外部構(gòu)架可以更加美化,或者是覺得內(nèi)部構(gòu)架可以更加優(yōu)化,這樣他們會私下或公開對軟件進(jìn)行調(diào)整,去嘗試一下新的技術(shù)。而是否使用這些新的技術(shù)對完成項目本身的目標(biāo)并沒有影響,相反可能帶來不確定的隱患。這種做法不是以用戶的需求為本、或以項目團(tuán)隊的總體目標(biāo)為本,可能對軟件開發(fā)進(jìn)度造成較大的影響。
自尊心的常見想象是,有些程序員在遇到一些自己無法解決的問題時,傾向于靠自己摸索,而不愿去問周圍那些經(jīng)驗更為豐富的人。有些人也許會通過聊天室等方式匿名地向別人求教。如果運氣好會很快地解決,否則要花很多實踐摸索。而如果向周圍的人求教,可能摸索幾天的問題別人早就解決了。
10、未考慮軟件開發(fā)過程的循環(huán)、迭代特性
對軟件開發(fā)的各個過程分類過于精細(xì),制定進(jìn)度計劃時各項工作過于緊湊、沒有彈性,造成的后果是,定期提交項目進(jìn)度階段報告的制度只有在表面上起到效果,按照計劃的時間表提交階段成果也只是在表面上起到效果。因為“上有政策、下有對策”,強(qiáng)行的規(guī)定會使人產(chǎn)生一些錯誤的認(rèn)識:如在項目計劃中“規(guī)定”某個時間只能做某某類別的事情,那么嚴(yán)格執(zhí)行的后果就是編碼階段就不能修改文檔;另外錯誤的“里程碑”概念可能會使大家輕易地相信上一個階段的工作成果都是“通過評審”最終定稿了,而實際上可能只是因為時間到了該提交的人提交、該評審的人評審了。如果上下階段是不同的人就根本不會去檢查其中是否還有錯誤;如果上下階段是同一個人,就可能非正式地修改上一階段的錯誤,但占用的時間和精力卻是下一階段的,并且這樣的修改時沒有記錄的。這樣關(guān)于階段進(jìn)度控制的措施實際上只是在表面上有效。最為普遍的情況是,用戶在合同中限定了提交軟件系統(tǒng)的時間,實際上這個時間對完成項目任務(wù)來說是遠(yuǎn)遠(yuǎn)不夠的,但計劃只能按照合同來進(jìn)行,所以要不用戶讓步,要不只能按照時間的約定提交實際上還未完成的軟件系統(tǒng),完成系統(tǒng)的安裝,但這時候的“完成階段任務(wù)”只是一個表面現(xiàn)象,系統(tǒng)雖然安裝了,但可能是沒有經(jīng)過嚴(yán)格徹底測試的,也可能是只完成了部分的功能,省略了某些功能,有些是整塊功能省略,有的是省略了某些功能的某個過程,如數(shù)據(jù)錄入里面隱含的數(shù)據(jù)錄入前缺省值設(shè)置、數(shù)據(jù)錄入檢驗等功能,而是實現(xiàn)了比較粗糙的功能。這樣,系統(tǒng)交付并不意味著項目的完成,而在項目交付之后還要花更多的時間。
11、其他因素
以上這些因素是影響項目進(jìn)度的幾個主要方面,除此之外還有很多其他的影響因素。其實最主要的因素還是人的因素,這里的人包括所有與項目相關(guān)的人。項目經(jīng)理的素質(zhì)、管理者的水平、用戶的因素、項目成員的因素等等,都會對項目進(jìn)度造成影響,這是因為由于軟件開發(fā)的特性。因為篇幅有限無法一一列舉,只能在此分析一些常見的因素。
不可否認(rèn),軟件開發(fā)項目進(jìn)度可控性還是帶有一定運氣成分的。特別是需要用戶配合的那些軟件開發(fā)項目,其可控性與用戶的成熟度、軟件應(yīng)用領(lǐng)域的成熟程度和行業(yè)標(biāo)準(zhǔn)規(guī)范的完備程度有很大關(guān)系。關(guān)于可控性方面會涉及到一些與客戶打交道經(jīng)驗,雖然我們說,顧客是上帝、以顧客為中心,但并不是說我們要把主導(dǎo)權(quán)交給他們,而關(guān)鍵是我們?nèi)绾稳ブ鲗?dǎo)、引導(dǎo)、把握。因此,項目控制的好壞與相關(guān)人員人際關(guān)系方面的經(jīng)驗也有關(guān)系。
盡管存在很多不可控的因素,我們的任務(wù)是首先分清哪些是可以控制的,哪些是我們不能控制的。項目經(jīng)理一是要盡量擴(kuò)大可控的領(lǐng)域,減少不可控的領(lǐng)域,二是不要在“不可控”上花太多時間,而是多花一些時間把可控的工作控制好,做好防范措施,減輕不可控因素對項目進(jìn)度的影響。
項目進(jìn)入實施階段后,項目經(jīng)理的幾乎所有的活動都是圍繞進(jìn)度展開的。進(jìn)度控制的目標(biāo)與成本控制的目標(biāo)和質(zhì)量控制的目標(biāo)是對立統(tǒng)一的關(guān)系。項目的進(jìn)度、質(zhì)量和成本構(gòu)成一個相互制約的三角關(guān)系,需要項目經(jīng)理去平衡。
二、項目進(jìn)度控制的目的
項目進(jìn)度控制和監(jiān)督的目的是:增強(qiáng)項目進(jìn)度的透明度,以便當(dāng)項目進(jìn)展與項目計劃出現(xiàn)嚴(yán)重偏差時可以采取適當(dāng)?shù)募m正或預(yù)防措施。已經(jīng)歸檔和發(fā)布的項目計劃是項目控制和監(jiān)督中活動、溝通、采取糾正和預(yù)防措施的基礎(chǔ)。
1、根據(jù)計劃進(jìn)行監(jiān)控
項目控制的第一個目的是根據(jù)計劃對項目的各項活動進(jìn)行監(jiān)控,即根據(jù)已經(jīng)制定并取得共識的軟件開發(fā)項目計劃來監(jiān)控項目的實際表現(xiàn)和進(jìn)度。為此應(yīng)該根據(jù)項目計劃來監(jiān)控項目計劃參數(shù)的實際值,這些參數(shù)包括進(jìn)度表、項目成本、工作量、工作產(chǎn)品和任務(wù)的屬性、使用的資源、項目成員的知識和技能;根據(jù)項目計劃來監(jiān)控項目團(tuán)隊所作的承諾是否已經(jīng)或可能兌現(xiàn)、原來的確定的風(fēng)險是否可以避免或減少損失,是否有新的風(fēng)險出現(xiàn);根據(jù)項目計劃來收集、管理、使用項目數(shù)據(jù);根據(jù)計劃監(jiān)督項目干系人的參與情況,監(jiān)控各項任務(wù)承擔(dān)人的參與活動;定期進(jìn)行必要的進(jìn)度評審,確定項目是否存在重大偏差、跟蹤變更請求和問題報告直到變更或問題得到解決;在項目的里程碑對項目的成果進(jìn)行評審。
2、管理糾正和預(yù)防措施
項目控制的另外一個目的是管理糾正和預(yù)防措施,即當(dāng)項目進(jìn)度或者結(jié)果已經(jīng)或即將與計劃有嚴(yán)重偏差時,對需要采取的糾正或預(yù)防措施進(jìn)行管理。為此應(yīng)當(dāng)收集并且分析項目進(jìn)行中可能存在的問題,并以此確定解決這些問題的糾正或預(yù)防措施;對已經(jīng)確定的問題采取糾正和預(yù)防措施;監(jiān)控要實施的糾正和預(yù)防措施,分析措施采取以后的結(jié)果,判斷這些措施的有效性,確定和記錄糾正與計劃結(jié)果存在偏差的問題而采取的必要且合適的措施。
項目執(zhí)行過程中僅僅靠最初建立的一份“完善”的基準(zhǔn)計劃是不夠的,最好的計劃也未必會一直有效。根據(jù)項目任務(wù)漸進(jìn)明晰的特點,特別是軟件開發(fā)項目的特點,在項目進(jìn)行過程中,肯定需要在適當(dāng)和必要的時候?qū)椖窟M(jìn)行變更控制,這種控制過程包括定期搜集有關(guān)項目進(jìn)展情況的信息,把實際進(jìn)展情況與計劃進(jìn)展情況進(jìn)行對比;如果實際進(jìn)展情況比計劃進(jìn)展情況有差距,或可能會有差距,就應(yīng)當(dāng)采取糾正或預(yù)防措施。變更控制應(yīng)當(dāng)在項目期間定期進(jìn)行,這里所說的變更控制不一定要進(jìn)行真正的變更,而是說要定期對變更進(jìn)行控制。
如果在項目生命周期內(nèi)的某一時間點,把實際進(jìn)度與計劃中約定的進(jìn)度相比對,顯示出項目已經(jīng)延誤或即將延誤、超出預(yù)算目標(biāo)或不符合質(zhì)量要求,就必須采取糾正或預(yù)防措施使項目回到正軌上來,重新符合計劃的安排要求。在已做出執(zhí)行糾正或預(yù)防措施的決定之前,應(yīng)評估一下糾正與預(yù)防措施的有效性和無副作用性,以確保糾正措施使項目回到項目的工作范圍、時間和預(yù)算約束內(nèi),并對項目的其他目標(biāo)不會造成太大的影響。
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評論 查看完整評論 | |