Microsoft Project (或 MSPROJ)是一個國際上享有盛譽的通用的項目管理工具軟件,凝集了許多成熟的項目管理現代理論和方法,可以幫助項目管理者實現時間、資源、成本計劃、控制。 Project不是隨便摸索兩下就能掌握的,很多同學在使用了相當長一段時間后,仍然不能算入門。舉個例子,絕大多數人用Project是用來做進度計劃的,資源和成本可能都很少涉及。咱就說Project進度計劃的功能吧,我覺得很多所謂“資深”用戶可能連它的基本邏輯都未必能搞明白。 比如說,很多人做了計劃以后,可能會發現一個奇怪的問題,就是任務的完成時間總是比自己算出來的晚一天。咱們把問題簡化一下,比如創建了一個任務A(沒有設置過任何前置任務),工期明明是1天,完成時間卻比開始時間晚一天,如下圖所示,開始時間在星期一,而完成時間在星期二。或者工期是2天如任務B,完成時間卻是在第三天,開始時間是星期一,完成時間卻是星期三。 ![]() 你有沒有碰到過這個問題呢? 有些同學遇到過,有些同學是遇到了但是自己沒發現。 好,現在告訴大家這些坑是誰挖的,應該怎么避免。 原因1:在桌面鼠標右鍵新建Project文檔生成的文件 很多人習慣在桌面上通過鼠標右鍵新建Office文件,這種方式本身無可厚非,但是用在Project軟件上就不行了,為什么呢?這會暴露Project軟件的一個bug。 通過這種方式建立的新Project文件,任務的開始時間不是默認的早上8:00,而是早上9:00(也許程序員不想那么早起床吧)。怎么驗證這種說法呢?可以點擊【文件】-【選項】-【常規】-【日期格式】,在里面選擇一個日期+幾點幾分的形式,比如2009年1月28日 12:33這種,如下圖所示,點擊【確定】。 ![]() 然后回到Project計劃,再看原來的計劃,如下圖所示。任務A和任務B的開始時間都是9:00,而不是軟件默認的工作時間早上8:00。 ![]() 那么,為什么任務A和B是早上9:00開始就會導致完成時間比自己算的晚一天呢?這就牽扯到Project一個非常重要、非常重要、非常重要的計算邏輯。 幾乎所有用戶都以為Project是按照工期的天數來計算進度的,既然在工期里輸入了1天,那么這個任務就占用1天。實際上這種樸素的理解是不對的。Project在進度計算時,底層的計算邏輯是先將Project的工期換算成對應的小時數,然后根據小時數計算任務的完成時間,不論工期單位是天、周、還是月,原理都是如此。 默認情況下,工期1天對應8個小時。注意這個對應關系和日歷設置無關,而是和【選項】中【每日工時】數有關,如下圖。 ![]() 好了,對于之前的例子,任務A是從早上9點開始,那么它的工期是1天(8個小時),那么1月21日星期一上午它工作3個小時(9:00-12:00),下午工作4個小時(13:00-17:00),還差一個小時的工作量怎么辦呢?就順延到了第二天,也就是8:00-9:00再工作一個小時,所以任務A的完成時間就成了1月22日星期二上午9:00了。同理,任務B的完成時間就成了1月23日星期三上午9:00。 這樣就造成了,計算出來的完成時間總是會比你想的晚一天。 通過在桌面鼠標右鍵新建的Project文檔,任務的開始時間是從早上9:00開始算的,而不是默認的早上8:00。而這個bug在Project 2016之前的版本或者Project 2016部分版本上都存在。所以,看了這篇文章,以后不要再通過鼠標右鍵新建Project文檔了,直接點擊軟件圖標打開空白項目最穩妥,以后養成習慣吧。 這個問題本來是程序員挖的坑,不幸被你踩上了。而下面要說的第二種情形,則是由于不懂Project軟件的原理自己犯的錯了。 原因2:自己手動修改了【選項】中的每日工時數,并且和日歷的工作時間不匹配 在前文給大家講了,并且講了三遍,Project進度計算的底層邏輯是先將工期換算成對應的小時數,以此來計算完成時間。而這個工期與小時數之間的對應關系,與日歷無關,而是與【選項】設置有關。 假如你認為自己的公司每天上班9個小時,于是就擅自在選項中把【每日工時】改成了9個小時,如下圖所示。 ![]() 但是與此同時,你并沒有修改日歷中的默認工作時間(上午8:00-12:00,下午13:00-17:00),那么會出現什么情況呢? 我們在一個空白的項目中試驗一下,注意,不要通過鼠標右鍵新建Project文檔,直接點擊軟件圖標進入一個空白項目。 隨便創建一個任務A,工期為1天,再創建一個任務B,工期為2天,如下圖所示。 ![]() 我們看,任務A的工期是1天,但是它的完成時間卻是在第二天。任務B的工期是2天,但是它的完成時間卻是在第三天。這是什么原因呢? 這就是因為Project選項中的每日工時數與日歷中的工作時間不匹配造成的。 由于你在選項中手動將每日工時改成9個小時,而日歷中的工作時間沒有相應修改,仍然是8個小時(上午8:00-12:00、下午13:00-17:00),所以任務A的工期為1天(也就是按照9個小時計算),所以它在1月21日星期一完成了8個小時,還需要在第二天再完成1個小時的工作量(8:00-9:00)。所以,在上圖中能看到,任務A的完成時間實際上是第二天1月22日的上午9點。這樣它的完成時間就比你想的多一天了。 再來看任務B,工期是2天(也就是2*9=18個小時),它在1月21日和1月22日每天各完成8個小時工作量后,還需要再完成2個小時工作量才能湊夠18個小時,所以它在第三天還工作了2個小時(8:00-10:00),于是完成時間就落在了第三天1月23日10:00。 所以,大家看到了嗎?當選項中的每日工作日與日歷中的工作時間不匹配的時候,就會出現Project計算出來的完成時間和你想象的不一致。 在最新版本的Project中,微軟提供了更佳的用戶體驗。 |
溫馨提示:喜歡本站的話,請收藏一下本站!