協力会社にコストダウンを要求するのは無理ではないか?

ソフトウェア開発において外部の協力会社へ開発を委託する時、提示した要求仕様に対して見積りが上がってくるが、多くの場合においてその金額は納得出来るものではない。そこで、工数(開発コスト)の調整を行うわけだが、その方法として下記のようなものがある。

(1) 不当圧力型
発注者としての立場を利用して、一方的に値下げを要求する。やっていることは市場での買い物か、その筋の人の脅しに近い。長年の取引が続いていると、受注側も「今回は設けさせてもらおう」と上乗せする場合もあるので、一概にはダメと言えないが、やり方が理屈にかなっていないという意味では、前近代的な方法。下手すると受注側の担当者レベルでモチベーションが下がり、結局品質の悪いものしか出てこないこともある。
(2) 改善指導型
協力会社での工数を減らすため、発注者側が技術指導、プロセス改善、ノウハウを提供して、受注側での作業量を改善する。発注者側が持っている技術を生かした形での開発が出来るため、コスト削減のメリットは大きい。もちろん、そのような改善を指導できるだけの技術を持っていることが前提条件。自社独自のノウハウを持っていない場合には、何も改善できないことになる。
(3) 摺り合わせ型
見積りの詳細項目、及び各工数を出してもらって、お互いに照査する方法。見積りには、仕様書解釈の誤解や過剰見積りにより、発注者側では意図していなかった作業が含まれていることが珍しくないので、個々の項目を吟味するのは有効な方法。仕様書の提示という一方向の情報だけでは、物事が上手く進まない実例とも言える。

実際には(1)の圧力をちらつかせつつ、(2)の指導を行い、最後は(3)の調整を行うことが多いようだ。

しかしながら、このような工数削減は、結局のところ発注側にしかメリットが無い。受注者としても注文を逃すことは避けたいのでそれなりの改善を提案してくるが、受注金額の減少に繋がってしまうので熱心に取り組むわけではない、特に営業的に良い顔をされないことが多いようだ。賢い発注者だと、改善できた利益を受注者側と折半して、受注側のモチベーションを維持しつつ次回以降の開発に生かしたりするが、そのような実例はあまり無い模様。そんなわけで、開発コストの削減には発注側が適切な方針と技術を持った上で受注側を指導する必要がある、というのが本日の結論。受注側に過度な期待をするのは無理なのよね。