日本では外部委託工数比率が50%以上のプロジェクトが7割弱(ソフトウェア開発データ白書2018-2019,IPA)となっており、設計・実装・評価スキルのほとんどが外部委託にあるのが実体となっています。日本企業でなぜアジャイル開発が普及しないのか、その要因は外部委託に頼っている体質にあると考えられます。
2種類ある業務委託契約
ソフトウェア開発を外部に委託する場合の契約としては、大きく分けて請負契約と準委任契約の2種類があります。
請負契約とは、依頼した業務の完成に対して報酬を支払う契約です。準委任契約とは、作業を委託する契約です。
請負契約は仕事に対して義務や責任を負いますが、準委任契約の場合は作業をすること自体の義務と責任しかありません。
ウォーターフォール開発での委託契約について
ウォーターフォール開発では、プロジェクトの一部を請負契約として、大抵四半期ごとに成果物を明確にしたうえで委託契約を結びます。
どういった成果物をいつまでに作成するのかをSoW(作業範囲記述書)に示しながら発注者と受注者の間で合意します。
成果物を受け取った後に、市場で不具合が発生したなどで瑕疵が明らかになった場合、デバッグや不具合修正などは受注者の責任で行う必要があります。
アジャイル開発で請負契約は成立しない
アジャイル開発の場合、契約の段階でどういった成果物をいつまでに作成するのかが明確になっておらず、都度修正になります。このため請負契約は成立しようがありません。
発注者の力関係を利用して曖昧なSoWのもと請負契約をさせられている場合、偽装請負となり、派遣法、職業安定法、労働基準法によりそれぞれ懲役刑と罰金刑に課せられる可能性があります。
アジャイル開発では準委任契約にせざるを得ない
IPAの情報システム・モデル取引・契約書にも、準委任契約が前提と書かれている通り、結果として準委任契約しか選択できないです。
しかし準委任契約であるがために様々な問題が生じます。
契約不適合責任を負わない
準委任契約の成果物にあとで不具合が分かった場合、受注者はそれを修正する義務がありません。準委任契約を継続していたら、修正を依頼することはできますが、契約が切れている場合、再度契約を結びなおして対応していく必要があります。
これは商品の品質保証上大きな問題になります。現実的に同じ受注者に契約を続けることは難しく、開発が終われば契約は解除することになります。しかし、一旦不具合が見つかれば、初動が大幅に遅れて問題を大きくしてしまうことになります。
開発中にも、不具合は発見され開発計画に大きな遅れを生じさせる可能性があります。修正する責任も、計画を遅らせてしまったことに対する責任も、準委任契約の場合は負いません。逆にそこにかかる作業に対して請求されることになります。
直接指揮命令できない
アジャイル開発の場合、デイリースクラムやスプリントレビューとか開発者が集まるミーティングが頻繁あって、指示が飛び交います。そこに準委任契約の開発者が参加したとしても、直接指示することはできません。
スクラムマスターとかが誤って指示してしまった場合、偽装請負とみなされる可能性があり、かなり注意が必要です。
指示が必要な場合は、受注側の管理者や営業に対してお願いしていくことになります。
アジャイル開発のようにコミュニケーションが要な開発手法では、こういった制約下では指示の過程で齟齬がうまれて品質が上がらないといった問題に発展したりします。
まとめ
日本企業でアジャイル開発が進まない要因は、外部委託に頼りきっている体質にあります。準委任契約といった抜け道もあるのですが、この場合にも様々な問題が生じて実際うまく行きません。
海外では全員社員で開発することが当たり前な反面、すぐにレイオフもできます。わざわざ面倒な外部委託にする必要がありません。
所詮アジャイル開発とウォーターフォール開発は開発手法の違いですので、どちらを取ろうが同じものを開発することができます。
日本では全員社員で開発できる特殊な場合を除いて、雇用文化の異なる世界で発展したアジャイル開発を無理に採用せずに、ウォーターフォール開発を地道に極めたほうが良いというのが結論だと思います。
コメント