近幾年,許多領域的客戶都考慮到軟件外包服務,在開發新的項目中,會涉及到一些系統,設備和業務領域等進行開發,如果全部自己開展起來,承擔著技術積累風險和短時間開發的風險。出于時間和成本的考慮,客戶會考慮到軟件外包。
按照目前來看,軟件外包服務已經成為一種趨勢,并且近期很多客戶跟我們探討過軟件外包項目合同如何簽署。所以這次我們根據如何在敏捷語境背景來行展開,談談如何簽署軟件外包服務合同。
一、合同的形式
1. 固定價格合同
在簽署合同的過程中,首先甲乙雙方根據合同的范圍進行確認和意向,然后乙方給出精準的報價來進行反饋,甲方根據報價和預算來進行議價后雙方簽署合同。在簽署合同條款中,雙方需要制定需求范圍,質量標準以及交付時間等內容,乙方按照合同執行,最后交付。
*估算價格一般依照項目執行所需工時,若因甲方情況而進行延長,需要向乙方追加費用,雙方會提前約定追加費用的判定標準以及價格依據。
2. T&M合同
Time& Material(簡稱:T&M)一般的表現形式是派遣合同。
乙方根據項目所需人員和工時向甲方進行每個資源和單位報價,在甲方采購乙方人員的時候,乙方在合同期限內需要有責任來履行資源的有效性,需要將相關人員派遣到甲方的指定場所,并且甲方對于資源的使用和管理有全部權限,并且按實際情況來進行支付。通常情況下,乙方對交付物成果不必負責任,但甲方有權利要求乙方更換或者撤回無法勝任工作的人員。
*除在甲方制定場所工作外,也有在乙方場所工作,乙方根據花費的工時進行費用請求。但甲方可派人到現場實際監督,確保沒有財務上欺詐行為。
二、風險及收益分析
在上述討論的合同形式中,我們還需要根據甲乙雙方來分析收益及風險。
固定價格合同
甲方
優勢:固定合同金額可以減少財務追加投入的可能性,降低預算風險。但甲方需要投入大量時間來確定細節,為減少需求變更發生。
風險:若甲方不具備相應的技術能力,那么在談判過程當中,甲方將處于不利的地位,乙方可以任意裁決增加的模塊和移走的模塊的尺寸,從而主導整個談判。并且會導致投入時間過長,延誤產品上線,無法根據實時來進行挑戰,削弱了競爭力。
*甲方目光若鎖定在市場上,需求變更而所追加的費用并不是第一優先考慮的問題,需要應對變更能力強的乙方供應商;甲方若考慮的是財務上不追加費用,則需傾向于選擇穩定交付能力的團隊。
乙方
目前許多乙方角度并不接受這樣的模式,因為缺少風險控制能力。一旦發生需求變更,雙方就會根據該問題是屬于“涉及遺漏”,“需求變更”,“理解錯誤”等分類進行討論和確認。往往因處于弱勢的乙方會談判失利。
統一因為技術上的不成熟、管理的不到位等原因引起消耗和成本上升,造成利潤降低甚至虧損。
*因各方面因素,大多數乙方往往不接受固定價格合同,傾向于T&M合同,并且滿足甲方的需求。
T&M合同模式
甲方:甲方購買的是商業價值,每套系統啟動之前都是為了實現某個商業上的價值,不論是成本的下降、效率的提升還是盈利的提升。
優勢:用時間成本的方式比較容易了解技術流程,容易通過財務、采購等一些列部門的審核,所以在實際操作中甲方也會傾向于選擇按照時間來結算,即使在固定價格合同上也傾向于選擇按照工時來判斷報價的合理性。
乙方:乙方大部分風險轉移到甲方身上,并且對利潤有很強的可預期性。在T&M模式下,甲方買到的是乙方的工時,水平較低的人員薪資較低,利潤較高,甚至可以獲得更多工時,但是相對較低的水平沒辦法大幅度改善團隊的競爭力。
優勢:基本零風險模式,利潤率幾乎是透明狀態,穩定、可預期,所以乙方選擇的可能性大大提升。
*盡管,理論上來說,甲方應該更加注重其商業價值,要求乙方為其交付商業價值,但是一旦合同轉變成為“按照商業價值計算”的模式,甲乙雙方的關系又會發生重大變化,都懷著一顆忐忑的心,下文會對此模式進行概述與分析。
三、敏捷框架下的挑戰
乙方如果想了解敏捷框架下的挑戰,首先需要了解敏捷框架下的合同都是如何執行的。不要把客戶相信成喜歡你的產品,同樣,也不要相信的客戶(外包商)能夠輕易接受你的建議,你需要了解服務對象的真實想法和感受。
什么是敏捷框架的合同?
首先,無論采用哪種結算方式,在敏捷框架下的要求,乙方徐固定迭代周期進行交付成果,一旦開發中遇見需求變更,都必須消化掉。
接著,我們需要假設,由于市場競爭等諸多因素,更多的甲方會要求乙方接受敏捷框架個合同,否則終止合同。因此乙方需要準備好抗風險能力,而沒有準備好的乙方公司則缺乏競爭力。
那么,一旦開始執行敏捷框架合同,會出現怎樣的問題?
1.??? 需求范圍蔓延:
1)??? 由于采用通過迭代的方式進行去整理需求,所以甲乙雙方都可能遇到需求不完善的情況,雙方都傾向于將需求描述的過于簡單,而造成細節不清晰。而軟件開發是要考慮到各種細節、邊界和異常條件的。對于成熟的團隊來說,看到用戶故事卡,自然會整理出來合適的驗收條件,但是對于缺乏經驗的團隊來說,這會導致各種細節的欠缺。
*在用戶驗收測試的時候發現各種遺漏,造成的需求范圍蔓延。姑且不論這種問題是甲方還是乙方造成的,造成這種問題的后果是,雙方都要付出更多的時間和成本來應對問題。這是一個雙輸的局面,至少不論是否追加費用,甲方的商業價值受損是必然的。
2)???? 由于迭代式開發,甲方看到迭代中期產物出現的時候難免會有一種“增刪改行為,使之趨于完美”的沖動。而這種情形,對于乙方來說可能就是災難性的了。
*乙方應該記錄中所有需求變更,在項目中期和甲方就發生的需求變更進行溝通和確認,就最后發生的需求變更進行是否付費的談判,這也是約束甲方不要任性變更的一個重要手段。至于如何處理需求變更這個雙方的矛盾點,將在本文的第四章有所闡述。
2.效率提升之后的利潤歸屬問題——利潤模型
敏捷的導入會使效率得到提升,很多技術并非只有敏捷開發可以使用的,比如TDD,CI。但是為了敏捷會自然導入這些技術。
當效率提升后,如果乙方仍然按照T&M的方式來進行價格估算和費用請求,那對乙方來說,是進行一場沒有動力的改革。除非壓力來自于市場上的競爭對手,然而目前市場上的壓力并沒有達到。
因此,需要引入經濟學概念——“社會平均生產”。當一個企業在某個領域競爭的石斛,他的效率如果遠超過社會平均生產效率,應該創造更多的價值(不考慮其他因素情況下)。而IT這個產業剛好能通過技術、管理等提升,創造出創造比競爭對手高幾倍乃至幾十倍的效率。
一般商品都有市場公允價格,但定價體系會有一系列的偏差。我們簡化模型來分析,就不難看出,一個企業比市場公允價格略低的價格來進行競爭,那他的效率是社會平均生產效率的幾倍的情況下,理應為自己創造更多的利潤。所以,如果乙方站在這個角度來考慮,應該有充足的動力來改進它的工作模型。
但實際上,這樣做的乙方企業少之又少,為什么會產生這樣的情況?
這是綜合的
因素造成的結果。比如,如果合同的形式是T&M,那么改進效率對乙方來說沒有任何意義。所以,改進效率的大前提是雙方簽署的是固定價格合同。其實還有多方面因素,比如:乙方擔心的成本上升,風險變高,難以說服甲方簽署此類合同。
3.成本的提高
1)??? 敏捷導入初期的轉型成本上升
敏捷轉型不是簡單一句話可以成功,更不是參加個Scrum培訓就可以立即落地。轉型要經歷一個學習期,這個學習期的效率可能和以前比是相對下降的。因此經營者會擔心敏捷轉型初期引起的成本上升,遲遲不肯邁出第一步。
2)?? 人員水平上升導致的工資成本上升
敏捷的運行是需要切實的技術作為支撐。所以,必然會對團隊的技術水平提出相應的要求,不論是從外部招聘,還是內部培養,人員水平的提升必然導致人員成本的上升。上升的成本是否可以通過前述利潤模型賺取回來,其實經營者是缺乏信心的。
4.風險變高
1)?? 由于知識體系不同而引起的誤解風險
“社會公允價格”是個經濟學上的抽象概念,落實到具體的軟件項目,多少才是公允的價格并沒有科學結論,這也是為什么T&M的方式廣受歡迎的重要原因。乙方如果從項目中賺取了更高的利潤,會引起甲方的“被欺騙”感。甲方會認為乙方欺騙了甲方,從而在未來的項目中削減費用,降低乙方的收益,甚至終止和“不誠信”的乙方合作。
2)??? 技術水平上升導致的人員流失
如前述的人員水平上升的必要性,若不在報酬上有所體現,則會引起另外一個現象,就是人員流失。而人員流失所帶來的損失和在以T&M的方式下,是有辦法可以抵償的。然而在敏捷框架下,由于團隊規模小,人員掌握的信息多,每次人員流失都會帶來較大的損失。比如5個人的團隊走了一個人,就是缺少了20%的知識。要想彌補所需要的成本可能就比較高。盡管敏捷模式下通過更好地協作可以緩解這種風險,但是人員流失仍然是個不可忽略的因素。
5.對于甲方難以說服
其實很多乙方最為擔心的是害怕甲方不同意這種新的合作模式。因為甲方的顧慮可能包括:
1)?? 如何確認估算價格的合理性?
2)??? 如何判定需求變更,該部分費用如何計算?
3)??? 甲方沒有敏捷開發經驗,不知道如何判定進度和質量。
4)??? 甲方沒有足夠的資源投入來對每個迭代進行驗收等。
四???? 敏捷框架下如何創造利潤
前述的固定價格合同還是T&M合同形式,其本質上都是一種贏輸博弈模式的合同。甲方希望能夠購買到更多的價值和服務,乙方希望能夠賺取更多的利潤,雙方的出發點都是基于自身考慮的,這本身沒有什么錯誤。但是這種博弈的過程往往造成的結果是——甲方的商業利益沒有得到及時交付,造成機會成本損失等隱形損失。乙方被要求追加更多的功能或者修復而提供免費的服務,雙方都處在一種低效益的模式下。本文將探討如何構建一個雙贏模式的合同。
作為乙方應該更加深入的了解甲方,才能夠造出合理的利潤模型,從而在為甲方創造價值的同時創造應屬于自己的利潤。作為甲方應該深入了解乙方,通過促進其盈利能力的形式確保自己的利益得到進一步提升。
1)??? 甲方如何認可價格
甲方往往不是施工方,缺少施工經驗,對價格的判斷也缺少合理的依據。因此甲方往往在單價是否處在市場公允行情范圍,工時是否合理方面進行判斷。即使是技術型的甲方也會由于經驗所限,或者是時間壓力等原因,而產生估算的較大偏差。因此對于價格的認定,往往其參考依據是預算。或者是通過價格競爭方式來選擇的。而軟件項目的價格競爭會有很大的偏差,主要來自于同一個需求可能產生非常深入的理解而大幅度增加復雜度,也可以產生非常淺顯的理解忽略其復雜度,再加上開發過程,技術水平,管理水平等綜合因素,甲方作為采購方也無法知悉價格的合理性,因此甲方只能夠通過預算來決定可以投資的額度。
2)???? 乙方的利潤模型
乙方的利潤模型從簡單的角度來說就是收入–支出,支出部分包括固定成本(人工成本)和可變成本(設備成本、場地成本、管理成本等)構成。從乙方的利潤模型來看,就是提高收入,減少支出,而很多支出是硬性的,無法降低。所以,對于乙方來說,在價格不變的情況下(這就是為什么要簽署固定金額合同),如果能夠通過技術、管理等方式來減少投入,就有可觀的利潤可以發掘。
3)???? 雙贏策略
既然雙方的立場和考慮都比較清晰,那么雙方可以采取的策略也就可以做進一步分析。
雙贏策略1——響應變化的迭代合同形式
該策略的模型是,甲乙雙方簽署基于固定范圍的固定金額合同。在合同談判初期,確認合同范圍和大致UI草圖,并且就很多細節通過快速需求分析工具(想要了解的請聯系作者)達成合意。雙方約定一定范圍的需求變更不追加費用。雙方基于該范圍的功能進行價格協商,達成合意,按照迭代交付,迭代過程中,雙方就發生的需求變更做記錄并確認,并且在項目最后就需求變更的范圍是否超限和追加費用作出討論和確認。采取這種模型的合作比較常見。
站在甲方的角度來說,應該采取的行動包括但不僅限于:
A.合同上的變化
a)簽署固定金額合同,而不是T&M合同
B.掌握快速定制全面、準確而精確的需求的方法
C.控制變更的范圍
D.掌握評判估算的合理性的方法
E.掌握迭代式驗收項目的方法
站在乙方的角度,應該采取的行動包括但不僅限于:
A.合同上的變化
a)簽署固定金額合同,而不是T&M合同。
b)一定范圍(可以是5%-10%)的需求變更不收取費用。
B.提升技術實力,大幅度削減響應變更所需要的成本。
C.改進管理方式,減少浪費,促進價值流動。
D.促進對甲方的管理,包括需求變更的控制、交付和驗收的管理。
雙贏策略2——以價值為基礎的合同形式
該策略模型以軟件系統能夠產生的商業價值為基礎,通過一個甲乙雙方都能夠認可的對價公式,作為軟件系統的價格,簽署合同。乙方可以分享軟件系統所帶來的商業價值。這種模式操作起來難度有很多,第一,軟件系統的商業價值難以估算。第二,軟件系統的商業價值難以衡量。第三,軟件系統的開發商往往無法承擔商業失敗所帶來的損失,而且對商業的成敗沒有控制權。不過現實當中有這種形式的合同存在。由于其數量少,難度大,不做進一步展開討論。
*免責聲明:本文僅就個人運營企業的經驗和實際案例研究以及相關理論分析的結果,不構成任何投資建議。如果您或者您的企業按照本文所提到的方式進行投資所帶來的任何損失,作者概不負責。
知識產權聲明:本文的知識產權屬于作者本人,如果您想轉發此文或者引用此文的全部或者部分,請首先獲得作者的書面授權。作者保留所有權利。任何未經授權的轉載或者轉發作者都保持追究的權利。
如果您希望作者為您的企業闡述更多的細節和可行的操作方案,請聯系作者洽談具體的操作以及相關的服務合同。
更多內容請訪問:
https://www.uperform.cn/agile-contract/