Login  |  繁體中文
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
Tech Column 輔助專案管理的利器:TaskJuggler

輔助專案管理的利器:TaskJuggler

◎ 簡介

專案管理一直是所有人都需要面對的課題,無論是單純的軟體開發專案,或是更大規模的公司專案,都牽涉到專案管理這個議題。市面上也有專為專案管理所推出的應用軟體,提供了許多方法以便處理專案管理時經常面對的問題。例如微軟的 Project 軟體,即是專門針對專案管理所推出的套裝軟體。由於此軟體在銷售上有著相當程度的成果,所以不少人誤以為進行專案處理時,只能選用 Project 進行輔助。事實上專案管理軟體並不是只有微軟的產品可以使用,甚至也有許多免費的開放原始碼軟體可以採用。例如本文所要介紹的 TaskJuggler 即為一例。

TaskJuggler 的主畫面

TaskJuggler 是一套功能相當強大,使用上也非常具有彈性的專案管理工具。無論是專案開案前的事前規劃,或是專案進行中所需要執行的追蹤或管理功能,都相當適合採用 TaskJuggler 作為主要的管理工具使用。事實上 TaskJuggler 可以視為是一套甘特圖 (Gantt Chart) 的編輯工具,因為在此軟體之中,大量使用了甘特圖作為資料輸出時所使用的圖表格式。甘特圖因為在專案管理的用途上佔有相當重要的地位,因此專案管理軟體大多都會使用此格式產生圖表,以便讓使用者可以在最短的時間內,了解目前專案的執行進度,以及所有資源的分配情況。也由於 TaskJuggler 在處理甘特圖方面有相當突出的表現,因此許多專案執行者都已經採用 TaskJuggler 作為專案管理的輔助工具使用。目前有超過數千個專案實例是採用 TaskJuggler 進行管理,其中包括小型專案,當然也包含了需要管理數百種資源的大型專案。

處理範圍涵蓋整個專案週期的 TaskJuggler,無論是從專案的早期想法開始,一直到專案完整結束為止,都能作為專案管理者的好幫手。這樣的過程當中包含資源指派、成本與收益的評估、可能的危機分析等各種重要事項,甚至還包括溝通管理等功能。此外,TaskJuggler 也提供了一項經過最佳化的專案計畫安排功能,可以用來計算完成專案所需的時程,或是依據使用者所提供的資訊或是各種限制條件,決定資源的使用狀況。TaskJuggler 內建的資源管理功能本身也具有資源平衡的規劃功能,並提供了一致性的檢查機制。如果專案所需要使用的資源(例如人員或器材)有所衝突,或是在某段時間之中無法順便使用,但這些資源又被指派在專案之中使用,則 TaskJuggler 會以警告方式告知使用者這些資源已經產生衝突情況。如此一來,使用者便不必煩惱該如何處理資源分配的問題,只需要按照專案的需求進行分配,在發生衝突情況時再加以解決即可。這樣的處理機制提供了 TaskJuggler 相當大的操作彈性,而且在處理一些較為新穎的專案管理策略時,也一樣可以提供相當理想的專案管理功能。

TaskJuggler 可視為是一套甘特圖的編輯工具


◎ TaskJuggler 的特色

※ 描述檔的設計概念

TaskJuggler 與其他專案管理軟體最大的不同,在於整個專案的處理過程使用的是純文字格式的描述檔案 (Script)。在進行專案管理時,無論是工作的內容,或是資源的描述與分配,都是以文字檔進行設定。或許採用描述檔進行專案管理的工作會讓人有一些突兀的感覺,畢竟在圖形化操作介面已經十分流行的今天,大多數的應用軟體早已採用圖形化介面,也鮮少以文字模式或描述檔作為資料的輸入來源。事實上 TaskJuggler 的操作介面本身也是圖形化的使用者介面,只是資料的輸入方式是採用描述檔而已。

使用描述檔的確有其缺點,例如需要先行了解建立描述檔內容的語法與結構,才能開始使用內建的編輯功能建立新的專案描述檔。對於尚未熟悉 TaskJuggler 的使用者而言,可能會覺得這樣的操作方式有些麻煩,甚至會因為不了解語法而無從了解專案的相關內容。但只要使用者花費一些時間熟悉描述檔的語法,加上適當的註解輔助,採用純文字格式的描述檔作為資料檔案格式,其優點會立即顯現出來。例如處理速度相當快速,程式本身也不需要花費時間處理圖形運算相關的演算法。編輯時可以採用使用者個人慣用的編輯器進行,提供使用者在編輯檔案方面的操作彈性,也算是一種人性化的考量。至於採用文字描述檔案作為主要的操作介面,是否會產生檔案內容無法直接解讀的問題,其實端看使用者對於描述檔本身所使用的語法結構是否有足夠的了解程度而定。事實上,如果使用者對於 TaskJuggler 所使用的語法有著基本程度的了解,一般而言都能在短時間內立即了解該專案所要進行的工作內容為何,並理解此專案所能動用的資源多寡程度。

TaskJuggler 採用描述檔作為專案管理的檔案格式

或許有些人會認為使用描述檔建立專案管理流程,最大的問題在於初次建立某專案的管理計畫時,需要從無至有重新建立一份新的專案描述檔,使用上未免曠日廢時。為了解決這樣的困擾,TaskJuggler 會在使用者建立新專案的時候,詢問是否要套用系統內建的專案樣版以建立新專案所使用的描述檔。如果使用者此時準備建立的新專案與內建樣版在屬性上十分雷同,也可以採用此方式建立新專案的描述檔,省下建立新檔案時需要自行輸入資料的時間,可以說是 TaskJuggler 相當體貼人心的設計之一。除了在新建專案時可以套用樣版檔作為資料來源使用以外,使用者也可以將自己的專案計劃儲存成為自有的樣版檔案,以便在將來有類似的專案開案時,可以直接套用此樣版使用。

※ 精簡的設計理念

使用 TaskJuggler 作為專案管理的輔助工具,最大的好處在於所有的工作都能在同一套軟體套件中解決。無論是工作管理、資源管理,或是成本計算,都不需要其他工具軟體的輔助。此外,TaskJuggler 在工作或資源彼此產生衝突時提供解決建議,以便讓使用者可以規劃出完全沒有衝突的專案進行時程。而在使用者需要藉由報表進行專案進度分析時,也能利用全面且具有彈性的報表功能產生所需要的資訊,以進行先前進度的檢討與後續進度的掌控。報表功能在專案的追蹤與目前狀態的掌握上,都是相當重要而不可或缺的功能之一。有了這些報表,使用者才能有效率的進行專案管理,或是在需要時提出適當的報表數據,以便讓其他人也能了解目前專案的進行狀態。

在使用 TaskJuggler 進行專案管理時,如果有必要,可以在同一個專案之中指定多重的處理方案,而且其數量並沒有上限。也就是說,只要使用的資源沒有發生衝突或是不足的現象,使用者可以在同一個時段內安排無限量的工作項目,並且要求這些工作同步進行。這樣的處理模式乍聽之下有些複雜,但經由 TaskJuggler 的圖形化介面輔助,無論是專案工作的編輯,或是進度的檢視瀏覽,以及甘特圖的產生與報表的建立,都變得相當容易。

TaskJuggler 也假設使用者有需要將資料匯出,以其他應用軟體進行進一步處理的需求,所以也提供了 CSV 格式的輸出功能。由於 CSV 格式是大多數資料處理軟體都能使用的檔案格式,因此也讓 TaskJuggler 的延伸應用有了更多的可能性。

提供 CSV 輸出格式,讓其他應用程式也能利用 TaskJuggler 的輸出資料進行後續處理

由於每個人使用 TaskJuggler 的地點或場合各有些許不同,因此 TaskJuggler 也針對各種可能性提供相關的功能,以便應付所有潛在的使用需求。例如每個國家的工時或是假期各有不同,所以 TaskJuggler 提供了相當具有彈性的工時與假期處理功能,可以依照每個專案所屬人員所設定的資料進行工時與假期的安排,以便更加正確的估算專案完成的日期。至於不同國家可能會有使用時區不同的問題,TaskJuggler 自然也考慮到了。多重時區的支援功能,讓使用者在進行專案管理時,可以十分方便的進行相關處理。如果有需要,TaskJuggler 也支援工作轉移功能,可以直接將工作轉移至其他人的手中,不必擔心人員的異動會造成專案管理軟體在使用上可能發生的問題。

而在成本管理方面,專案中的工作可以擁有初期成本作為預算估計的參考來源,結案時則可以給予結束成本,並作為預算檢討的統計資料之一。當專案進行時,該專案所利用的資源可能也會產生執行成本,這些資料亦可使用 TaskJuggler 進行追蹤與管理。有了成本相關的資訊,使用者自然也能利用 TaskJuggler 進行收益與損失的估算,以便評量此專案的執行是否對於組織本身帶來正面的效益。

至於輸出報表方面,TaskJuggler 也提供了多元化的輸出格式,例如 HTML 或是 XML 的報表輸出格式即為一例。這些採用標準格式的輸出報表,也能讓使用者在有需求時,可以進行進一步的後續處理。由於檔案格式本身已經是標準格式,因此在有必要時也能直接以其他應用軟體進行分析處理。如果輸出報表希望以網頁的方式呈現給其他人查詢,這樣的輸出格式也相當適合整合至網站之中。使用者需要做的,只是在原有的網站架構中加入新的程式碼,以便將這些輸出報表整合至現在的網頁原始檔中。

TaskJuggler 提供多元化的標準輸出格式,包括 HTML 與 XML 等等


◎ 結語

有許多人認為專案管理軟體在使用過於複雜,不易上手,因此改以試算表或其他軟體進行專案管理的處理工作。小型的專案或許還可以使用試算表解決,甚至不使用任何軟體進行輔助,但大專案幾乎不可能以此種簡陋的方式進行管理。為了有效進行專案執行過程中的管理與監督工作,採用有效率的專案管理工具進行輔助,或許會是比較有效率的作法。


◎ 作者簡介
翁卓立
逢甲大學資訊工程學系畢業,現為台灣科技大學電子所在職專班學生。目前擔任韌體研發工作,主要使用 Embedded Linux 進行產品開發。著有「Linux 進化特區:Ubuntu 9.04 從入門到精通」等書。




OSSF Newsletter : 第 145 期 可疑的中國互聯網絡信息中心 SSL 憑證

Category: Tech Column