2013年7月29日 星期一

Agile Contract Type (II) - Incremental and Target Cost

接續著上一篇的主題,這一篇則整理另外 2種Agile合約,在國外的討論或是書上會看到的,這兩種在台灣就不是這麼常聽到了:
  • 漸進式交付合約(Incremental Delivery) (1)(2):這種合約會設置好幾個檢查點,每個檢查點可以讓甲方決定還要不要繼續下去,不繼續的話,已經完成的功能也是能運作的軟體,而不是一堆做到一半的程式碼。這種方式是比較適合Agile Project Management,因為每個 Iteration 交出的成品都是可運作的軟體。譬如一年的專案,可以在每一季設一個檢查點,如果乙方的Agile Team每個 Iteration 是 2 週,每個 Iteration 都交付一些重要性高的、可以用的軟體功能,6個 Iteration 時(也就是3個月),甲方就可以決定還要不要繼續下去,如果想要更經常的檢視完成品,也可以雙方討論後,修改檢查點的時間。
  • 目標成本合約(Target Cost Contract) (3 對細節有興趣的朋友,可以花點時間看):這種合約是 Toyota 跟供應商長期簽訂的合約類型,上課的時候也是講說 Agile Project Management 建議簽這樣的合約類型。這種合約先由甲乙雙方決定一個目標金額,專案開始後,則依照比例甲方付款給乙方,而如果乙方提前完成目標,則兩方共享節省的金額,而如果超過目標金額,則兩方共同承擔懲罰。而獎賞或懲罰的比例則事先訂定下來,如果想拿大比例的獎賞,那就要承擔大比例的懲罰。這種合約類型用圖解釋比較清楚:


    • 專案的基本數字:
      • 專案總金額:500 萬,額外準備100萬,總專案的最高費用(Cap)是600萬
      • 簽約時的付款:不先付任何款
      • 結案的付款:結案時給50萬
      • 每月工資:50萬
      • 預計工時:10個月
    • 專案 3種狀況(正常完成、提前、延誤)的付款進度如圖:



    • 正常進度:紅線,每月固定50萬,最後第10個月後到500萬,沒有獎勵也沒有懲罰。
    • 提前:綠色的線,假設提前在第8個月做完的話,可以領到
      • 8個月的400萬
      • 結案時可以領的50萬
      • 激勵金額 (目標的500萬-完工400萬)*50%=50萬,全部加起來也是500萬。在這個情況下,甲方可以提早開始使用系統帶來的效益,而乙方可以早領錢、早結案,專案人員可以慶祝(在台灣軟體開發專案能夠提前,真是難得啊...)並準備投入下一個專案。
    • 延後:在到 10th個月後,11th個月起,甲乙方各付一半(因為獎金也是甲乙各一半),所以11th個月起,每月只能算25萬,一直到550萬為止,所以到12th月後,累計就已經550萬,加上結案可以收到的50萬,就已經到頂(600萬)了,這時候乙方就必須不領錢直到做完為止,雖然看起來只有乙方在suffer,但是實際上甲方一直沒系統可用,這樣造成的損失也是甲方要承擔的懲罰。
    • 因為Target Cost Contract 比較特殊,可能有一些實行上的細節要考慮,除了看 (3) 以外,也可以看這篇 Agile Journal 2005年的 Selling agile: target-cost contracts ,講到非常實務上的細節。
小弟在整理這些合約類型的過程中,如果是乙方,可能需要先取得甲方的信任,在第2次、第3次的專案中,再開始用新的合約類型,比較不會引起甲方的過度懷疑,小弟認為做專案就是信任大考驗,在雙方互信的狀況下,怎麼樣都好談,要是雙方無信任,那就很難再繼續下去....
下一篇則要來個整理表了,比較各專案類型的適用對象,與陰謀論的想一下甲乙方會承擔的風險。

參考

沒有留言:

張貼留言