2015年5月6日 星期三

專案合約頪型

Understanding the type of contract you are working under or to use on your project is one of the more important elements of Project Management. After all, the contract sets the scope and compensation and what could be more essential than that? However, different circumstances require different types of contracts. The different types of contracts allow more or less flexibility, and allocate different amounts of risk to the contractor and owner.
There is usually a cost associated with assuming risk, so contracts where the contractor bears most of the risk typically cost more. However, in some cases the contractor may be better able to mitigate the risk than the owner so having the contractor assume that risk may be more economical. It all depends on what the goals of both parties are. So here are some of the most common types of contracts and a brief definition of the contract type.
Fixed Price (FP or FFP - "firm fixed price") also called "Lump Sum"
The simplest type of contract. The owner specifies the work and the contractor gives a price. In this case the contractor assumes almost all of the risk and as a result reaps whatever profit there is. Fixed price contracts are often used in governmental contracting as they give an easy way to compare competitive bids and to budget for the work as all the uncertainty in actual price becomes the responsibility of the contractor. On the other hand, this may not be the cheapest way to get the work done. A side effect of the fixed price contract is the Change Order which modifies the initial contract for unforeseen conditions and changes. Some contractors are highly skilled at generating change orders which can boost profits on the job. In some cases change orders can equal the size of the original contract. Litigation is often more expensive than construction, so arbitration and settlement are typical in these cases.
Time and Materials (T&M)Simple billing at pre-negotiated rates for labor and materials on a project. Some Fixed Price contracts specify this as a method for determining costs of change orders. Labor rates include a certain percentage markup for overhead. In this arrangement all risk goes to the owner.
Cost Plus Fixed Fee (CPFF or sometimes just Cost Plus)
Also fairly simple. This type of contract shifts most of the risk to the owner, but also allows the owner a high degree of flexibility. The contractor under this form of contract has profit at risk and will seek to minimize cost/duration to return a higher proportional profit margin. This type of contract is more common on projects which have high amounts of risk and uncertainty which would scare contractors into giving impossibly high bids, or where the owner just needs resources to work on a project.
The "fixed fee" is typically a percentage of estimated costs and the contractor is reimbursed for other allowable costs. The difference between CPFF and CPPC is that for fixed fee, the total amount of the fee is decided in advance based on estimates.
Cost Plus Percentage of Costs (CPPC)This is very similar to the cost plus fixed fee contract except that the contractor bears even less risk. Their fee is calculated based on a percentage of actual costs. It is generally believed that having a fee at risk is a motivating factor for contractors, so this approach is not allowed for federal government contracts (though there may be loopholes...?) It is very similar to T&M. Good work if you can get it.
Cost Plus Incentive Fee (CPIF)This type of contract uses an incentive fee for motivating better performance than you would get with percentage or fixed fee. In addition to a fee, an incentive is paid for beating a schedule or cost target. Like having the fee at risk, is intended to motivate the contractor to minimize costs and duration. Determining the appropriate incentive is one difficulty, another is that once the target has been missed, the incentive is no longer a motivating factor. Often the incentive fee is calculated as a percentage of savings and is shared by the owner and the contractor. The flip-side of incentive fees are liquidated damages.
Liquidated DamagesWhile not really a contract type, Liquidated Damages are often part of Fixed Price contracts. They are the opposite of an incentive payment and are payments made by the contractor to the owner for failing to perform to a target date. The name liquidated damages comes from the practice of determining a pre-agreed monetary (thus liquidated) cost for damages to the owner's operations. For example, late completion of a new production facility may cost the owner additional costs to keep an aging and inefficient facility running, or the presence of the contractor may impair the owner's profitable use of a facility. Rather than determining these costs at the end of the contract, the costs are negotiated at the beginning and are usually quite large. This serves to motivate the contractor and gives the contractor the cost information needed to accurately determine the best course of action. It is intended to reduce the costs of litigation. Liquidated damages may apply to the contract as a whole or to smaller elements of it. For example, on a contract where a road is being resurfaced during nighttime hours, failing to have it back in operation by a certain time each day may be cause for liquidated damages.
Fixed Price Incentive Fee (FPIF)Similar to Fixed Price but with an incentive fee. Motivation to perform is the reason.
So those are the most common contract types. Of course a contract can take any form that two parties can agree too (and which is not prohibited by law) so hybrids of these forms are possible. For the PMP Exam knowing the common types is probably the most important thing. Contract evolution beyond Time and Materials is all about how risk is allocated to the different parties and how to motivate one party or the other to act in a certain manner. For the most part you do get what you pay for... or conversely, you don't get what you don't pay for.


如何製作甘特圖
作者:夏之洋, PMP 吳冠德, PMP
Date: 2010/04/10

緣起

周一中午用餐時間時到,小吳找小蔡一起去吃飯,看到小蔡一副忙得頭昏腦脹的樣子,小吳問他在忙啥?小蔡說早上剛開完週會,部門經理被指派要對一個專案的時程做出評估,經理要他負責並且趕快交出一份提案給經理審核。小蔡正在為要如何做而傷腦筋。小吳問小蔡有何方向?小蔡反問說「你上過專案管理的課程,關於專案時程管理方面有何工具可以解我燃眉之急?」。小吳回說「你知道有個工具叫甘特圖嗎?」。
小蔡知道甘特圖,也看過別人做的範例,但是現在要由他來做,一時之間還真的不知道該如何著手。小吳補充說「要製作甘特圖,首先對專案管理知識要有基本的了解。為了早點吃中飯,我就先給你一個快速灌頂的入門解說。」

甘特圖的歷史與功用

Henry Gantt (1861–1919) 深入研究工作中各項作業的順序,主要的研究的管理內容著重於第一次世界大戰期間海軍艦艇的建設。他發明以甘特圖檢視以及甘特圖和里程碑標記綱要列出程序中所有任務的順序和工期。其影響之深遠,由管理人員在這將近一百年間,都還是持續沿用「甘特圖」圖表,足以證明「甘特圖」是一項功能強大的時程安排及分析的工具。

專案管理流程與甘特圖之關係

首先,專案管理的九大知識領域中,可以應用到甘特圖的製作的,主要有兩項:一個是範疇管理,另一個是時程管理。
範疇管理要用到的流程有
 收集需求
 定義範疇
 製作工作分解結構(WBS; Work Breakdown Structure)。
時程管理要用到的流程有
 定義活動
 活動排序與預估活動時間
 最佳化專案時程。
透過上述的步驟,才得以甘特圖發展出可行的專案時程。

甘特圖的圖形元素介紹

製作之前,可以先Google一下別人的範例。



由上面兩個案例,可以發現甘特圖圖面包含有左右二個區塊,左邊為工作清單的區域,右邊為甘特圖形的區域。

工作清單的區域,可用來呈現工作的基本資料,如:工作編號、工作名稱、工期等,這些是必要的資料,如果空間許可,可以再加上工作的開始日期、工作的結束日期、前置的工作編號、後續的工作編號、負責人等資料。

甘特圖形的區域,此區域的上方為時間軸,各工作依相關的工作次序,依序排列(由上至下、由左至右)在時間軸的下方,每個工作依該工作的工期長度繪製成等比例的横條圖。
我們常會用  來表示一個里程碑或查核點。

製作甘特圖的程序

 了解專案內容
掌握專案要交付的內容與工作的範疇,是在執行時程規劃之前的首要工作。
 建立工作清單(WBS)
根據交付內容來建立工作的清單。
 排列工作的順序及建立關係
將工作清單的工作依照工作的前後邏輯順序依次排列下來。
 建立工作時程
依照活動所要的資源以及之前的工作經驗或是專家的意見,來估計每個活動的時程。
 加入專案的查核點(Milestone)
如:專案開始、結束或驗收完畢等重大分界點的地方,通常會在合約或範疇聲明中有規定。也可以是有經驗的專案經理自行在時程中加入的檢查點。
 調整甘特圖,確認專案的時程

如何用MS Project來製作甘特圖


http://www.youtube.com/watch?v=2UhaXrmc5Uw

小蔡在聽了小吳的解說之後,總算對甘特圖的做法有了初步的了解,興沖沖的對小吳說「走!中午我請客,吃完後我趕緊來親手做一版甘特圖,有了你的加持,我相信經理一定會對我的作品印象深刻~」

甘特圖的小技巧:
1. 以上提及的專有名詞如:定義範疇、WBS、查核點(Milestone)等為專案人員的必備知識,如果不了解,可以參考中文繁體「專案管理知識體系指南」一書。
2. 甘特圖中左方的工作清單,要避免定義成太細的工作,比如:避免上午一件工作及下午一件工作。最好是一個以週或天為單位的活動而且是一個有專人負責的工作,這樣會比較容易繪出專業的甘特圖(請參考下面的二個甘特圖範例)。
3. 負責人並不一定是完成該工作的人,而是要負責安排、協調或找資源完成該活動的人。常有人將完成該活動所牽涉的有資源放在負責人的欄位中,這樣會造成該活動没有人做主或人人爭著做主的情況,使得該活動無法進行。要切記一個活動只能有一個負責人的安排。如果一個活動有一個以上的負責人,則要將該活動分成只有一個人負責的活動。 (作者註:專案的組織設計及分工也是一個大學問,我們下次再來探討。)

範例1:時間軸以天為單位(例假日不計入)
編號 活動名稱 工期 負責人 3/1 3/2 3/3 3/4 3/5 3/8 3/9 3/10 3/11 3/12
A 繪製設計圖 1週 設計師
B 輸出設計圖 2天 印刷廠
C 佈置貼圖 2天 設計師
D 佈置驗收 業主 

範例2:時間軸以週為單位(例假日不計入)
編號 活動名稱 工期 負責人 第一週(3/1) 第二週(3/6)
A 繪製設計圖 1週 設計師
B 輸出設計圖 2天 印刷廠
C 佈置貼圖 2天 設計師
D 佈置驗收 業主 

C# 列舉(Enum)類型的好處

最近才發現Enum的好處很多,不過這裡只介紹 - 使用它來讓程式閱讀性提高,分享給同好
Enum的介紹很多,這裡就不囉嗦了。


首先宣告OrderStatus為Enum Type

public enum OrderStatus:int
{
    Pending = 10, Processing = 20, Completed = 30, Canceled = 40
}

讓後就可以在程式中使用了

//容易閱讀的範例
OrderStatus status;
status = OrderStatus.Completed;
switch(status)
{
    case OrderStatus.Canceled:
        //訂單取消相關的程式...
        Console.WriteLine("Order was {0} and status code is {1}.", status, (int)status);
        break;
    case OrderStatus.Completed:
        //訂單完成相關的程式...
        Console.WriteLine("Order was {0} and status code is {1}.", status, (int)status);
        break;
    case OrderStatus.Pending:
        //訂單擱置未定相關的程式...
        Console.WriteLine("Order was {0} and status code is {1}.", status, (int)status);
        break;
    case OrderStatus.Processing:
        //訂單處理中相關的程式...
        Console.WriteLine("Order was {0} and status code is {1}.", status, (int)status);
        break;
}

以前如果没有使用Enum,case後面可能是一個數字,然後再加上註解說明這個數字代表的意思,由以上例子可以很容易發現Enum的好處。