可視化WBS讓開發(fā)管理一目了然
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
最近我負責的一個軟件開發(fā)項目出現(xiàn)狀況。因為沒有做好項目任務分配和控制,結(jié)果項目進行得一塌糊涂。在階段報告會議上,面對各方質(zhì)問我無言以對,連項目到底已經(jīng)完成了什么任務,還有多少任務沒有完成都沒有一個清晰的說法。最后項目被迫暫停整頓。 面對項目重啟千頭萬緒的工作,我只感到眼前一遍漆黑,摸不著頭腦。我的經(jīng)驗、智慧、精力和能力都受到極大的挑戰(zhàn)。為此我專門請教資深的開發(fā)專家,經(jīng)過分析他認為,造成如此窘境的原因在于我在接受任務后,沒有認真地把開發(fā)任務進行顯形化和可視化管理,就匆忙地展開開發(fā)活動,以致落入今天一籌莫展的境況。 一般來說,由于軟件開發(fā)項目具有人多、錢多、事多、過程長,而且復雜度高、風險不可控等特點,所以在開發(fā)過程中很容易引起各種混亂。當不能及時有效地解決時,就會造成進度失控、預算超支、質(zhì)量差等問題,嚴重時項目還可能會無疾而終。因此,該專家建議我應該學會利用項目管理的方法、工具和技術構(gòu)建一個可視化平臺,將復雜紛亂的項目任務進行圖像化和可視化管理,這正是我能否走出項目混亂泥潭的關鍵所在。 什么是可視化wbs方法? 如何對軟件開發(fā)進行可視化管理是一件讓人頭痛的事情。專家給我的建議是:軟件開發(fā)好的管理必須做好一件事情,就是分配、執(zhí)行和追蹤任務都能用圖形化表示出來,而且必須一目了然。在經(jīng)歷多次痛苦的失敗和反思后,我終于找到一種可視化的開發(fā)管理工具,那就是在軟件開發(fā)中應用wbs方法。這種可視化的管理方法使我有一種四兩拔千斤,項目混亂灰飛煙滅的感覺。 (1)什么是可視化的wbs wbs(work breakdown structure)即工作分解結(jié)構(gòu),是根據(jù)項目目標把工作分解成許多層次分明的、可交付成果的工作任務,然后用邏輯圖形或樹形結(jié)構(gòu)表示出來。wbs是由3個關鍵元素構(gòu)成:w,工作,可以產(chǎn)生有形結(jié)果的工作任務;b,分解,是一種逐步細分和分類的層級結(jié)構(gòu);s,結(jié)構(gòu),按照一定的模式組織各部分。 wbs表現(xiàn)為一種可視化、層次化的樹狀結(jié)構(gòu),它定義了整個開發(fā)項目的工作范圍,wbs的層次結(jié)構(gòu)是以可交付任務成果為對象,包括內(nèi)部和外部可交付成果。隨分解層次的深入,所定義的項目任務也就越詳細越具體。每向下分解一個層次,就意味著項目工作的定義深入了一步。位于整個wbs分解結(jié)構(gòu)最底層是不能再進一步細分的任務,稱為工作包。因此,在項目規(guī)劃的過程中,應用可視化wbs方法進行工作任務分解,就能在此基礎之上再進行資源分配、進度計劃預估和成本預估。 (2)wbs的基本要素:結(jié)構(gòu)、工作包、字典和報告 在項目管理中,wbs是一個分層次的、從全面到細節(jié)的樹形結(jié)構(gòu),由可交付成果和需要執(zhí)行的任務組成。wbs的目的是識別項目中實際需要完成的工作任務,因此wbs有四個基本要素: 一是結(jié)構(gòu)化編碼:wbs結(jié)構(gòu)是以等級狀或樹狀來構(gòu)成,底層代表詳細的信息,逐層向上。wbs的結(jié)構(gòu)應是科學的邏輯結(jié)構(gòu),而不是單個的、離散的、在時間順序上不連續(xù)的成果的描述結(jié)構(gòu)。wbs結(jié)構(gòu)由層層的邏輯包含關系構(gòu)成,非常嚴謹。在表現(xiàn)結(jié)構(gòu)化的時候,最好的方式是應用結(jié)構(gòu)化的編碼體系來體現(xiàn)。 二是工作包:工作包是wbs的最底層元素,也是最小的可交付成果。通過這些最小的可交付成果很容易就能識別出完成它的活動、成本和責任人,以及其它資源信息。 三是wbs字典:在開發(fā)管理中規(guī)范化、標準化一直是軟件開發(fā)追求的目標,wbs字典就是這樣一種工具。它用于描述和定義wbs分解的工作文檔。同時,wbs字典也使得wbs易于溝通和被開發(fā)團隊以外的相關參與者理解(如高層領導和客戶等)。 四是工作報告:可視化的工作任務完成報告的目的是要反映開發(fā)到目前為止的進展。通過任務完成報告,領導能夠判斷和評價開發(fā)過程的各個方面是否偏離目標,偏離程度是多少。 為什么wbs具有可視化作用? 在原先暫停的項目中,我也曾應用多種項目管理工具,其中也進行了項目任務分配和跟蹤,但結(jié)果還是丟三落四,混亂不清。后來分析主要原因發(fā)現(xiàn),是不能直觀地看到任務的分配和完成情況帶來的惡果。那么,為什么wbs具有直觀的可視化功能呢? 作為一個描述開發(fā)任務分解的可視化工具,wbs能直觀地展現(xiàn)一個項目全貌,清晰地用樹形圖表(或其它邏輯圖形)來表示各工作任務之間的相互聯(lián)系,詳細說明為完成項目所必須完成的各項任務的計劃工具。同時,它在圖表上直觀的標注和定義里程碑事件,這可以作為項目狀況的可視化工具向高層報告項目完成情況。當項目結(jié)束時,還可以是項目績效衡量的量化依據(jù)。因此,它能幫助項目經(jīng)理把工作任務圖形化和顯影化,也能更直觀的管理和評價開發(fā)工作的績效。 (1)初期作用:圖形化項目任務規(guī)劃 wbs是面向可交付成果的一組工作任務,這些任務定義了工作范圍,未在wbs中包括的工作任務就不屬于開發(fā)的范圍。wbs樹形圖每下降一層就代表對項目工作更加詳細的定義和描述。因此,可視化的可交付成果工作分解可以防止遺漏項目的可交付成果,這能幫助項目經(jīng)理直觀的關注項目目標和明確職責。 (2)項目計劃時:使項目進度表一目了然 可視化的wbs能幫助改進時間、成本和資源估計的準確度。軟件開發(fā)是個龐大的項目,過程控制主要是體現(xiàn)在執(zhí)行過程中的時間進度控制,而wbs能把開發(fā)計劃過程圖形化,能在圖形上標注各階段投入的資源和達到目標所用的時間。通過圖表化的樹形結(jié)構(gòu)能把大任務分解成多個小任務,使可視化的項目可交付成果一目了然。因此,這種可視化的wbs方法不但能更加精確估算工作量和分配工作,并且能更加細密的跟蹤,而且也有利于按質(zhì)按量的在規(guī)定時間內(nèi)完成任務。 (3)wbs可視化有利于多方溝通 在軟件開發(fā)過程中,一般要歷時一段時間,這會涉及到大量的資源和人員。因為原先設想的開發(fā)環(huán)境會隨著項目進展發(fā)生很大的變化,這時就非常需要一個簡潔高效的溝通工具。而圖表化的wbs能把開發(fā)過程中的各類信息通過顯形化、圖象化表現(xiàn)出來,這就使得用戶和各方參與者有了一個簡潔易懂的信息溝通聯(lián)接器。 (4)明確劃分和落實人員職責 wbs分解的核心思想之一是體現(xiàn)在人員職責的明確劃分和落實,這正是圖表化wbs的強項之一。責任到人是軟件開發(fā)管理的核心,軟件開發(fā)中最怕的就是“沒人認賬,沒人負責”。要避免這個問題的出現(xiàn),就要在每一層次wbs分解過程中都考慮到人員責任的劃分和歸屬,盡可能每一個最底層的節(jié)點任務都有唯一責任人(或部門)相對應。 (5)有利于全過程進度監(jiān)控 開發(fā)管理很重要一點就是在確保質(zhì)量的前提下做好進度監(jiān)控,進度滯后的軟件項目是許多項目經(jīng)理心中永遠的痛。因此,無論是小的開發(fā)項目還是大的開發(fā)項目,進度控制是一個重要的工作。當應用可視化wbs時,由于任務結(jié)構(gòu)劃分一目了然,進度監(jiān)控自然也就能一目了然。 而且當開發(fā)項目規(guī)模越大時,可視化wbs就更重要了。通過查看wbs圖形(如用不同的顏色區(qū)分),項目經(jīng)理就能在項目過程中及時了解項目實際進展,并與進度計劃進行比較,對出現(xiàn)偏差的原因和影響進行分析,及時找出調(diào)整方法并對原計劃進行變更,如此不斷循環(huán),就按計劃進行項目驗收。 怎樣制作軟件開發(fā)的可視化wbs? 許多資深開發(fā)人員都會認為“沒有wbs,就沒有軟件開發(fā)管理”。因此,如何制定正確的可視化wbs就成為軟件開發(fā)管理的核心過程。構(gòu)建可視化wbs有很多不同的方法,對于軟件開發(fā)管理比較成熟的軟件公司,針對不同類型的開發(fā)項目都有不同的可視化wbs模版供項目經(jīng)理參考。這里與大家分享我制定項目開發(fā)的可視化wbs的過程。 (1)列出樹形圖表化的目標任務清單 目標清單(working list)是開發(fā)活動需要產(chǎn)出的工作結(jié)果,可以是開發(fā)最終交付成果的組成部分,也可以是開發(fā)中間過程的階段性結(jié)果。目標清單有大有小,有的相互關聯(lián),有隸屬的關系,但核心一點是要列出樹形結(jié)構(gòu)圖表。在列出開發(fā)工作清單的過程,可以是頭腦風暴的方法,由項目組成員和資深技術專家共同完成。在分解項目目標時,如果有現(xiàn)成的模板應該盡量利用,這樣可以大大提高工作效率。 (2)畫出圖形化的工作任務分解結(jié)構(gòu)圖 針對項目目標進行任務分解得到wbs,然后畫出圖形化的wbs的層次結(jié)構(gòu)圖。簡單說,是將主要項目可交付成果細分為更小的、易于管理的工作包,工作包必須詳細到可以對該工作包進行估算(成本和歷時)、安排進度、預算、分配負責人員或部門。如果有必要,可建立一個樹形的邏輯編碼系統(tǒng)。最后,需要不斷地對可視化的wbs更新或修正,直到覆蓋所有工作。 (3)畫出圖表化的人員職責分解結(jié)構(gòu)圖 當可視化wbs中的工作任務確定了后,這時就需要對完成任務的責任人也用圖表化來明確。例如,具體明確由那些人來完成哪些任務,將得到什么樣的可交付成果。因為人員職責的圖表結(jié)構(gòu)化也是可視化wbs的一個特點,也是關鍵的一步。 (4)建立圖表化的wbs字典 一般來說,如果wbs含有數(shù)百(或數(shù)千)條詳細的活動,那么各方人員溝通和理解就是一件繁重的工作。在這種情況下,把所有重要信息放入一個圖表化的wbs字典中會有好處,因為圖表化的wbs字典會對項目范圍和工作任務清晰的定義發(fā)揮著的重要作用。 總之,可視化的wbs能體現(xiàn)出開發(fā)任務、人員職責的明確劃分和落實。它是貫穿開發(fā)全過程的一條主線,能將開發(fā)計劃、過程控制、業(yè)績評價串聯(lián)起來形成有效的管理。簡單說,就是可視化wbs是把一個比較復雜的軟件開發(fā)項目逐步分解為比較簡單的過程, 讓原來看起來不可控的一件事情變得清晰直觀和可控。 該文章在 2010/7/25 2:12:35 編輯過 |
關鍵字查詢
相關文章
正在查詢... |