システム開発の注意点

1.ビジネスを理解する 

システム開発は大きなお金が動く契約です。簡単なツールの開発でも数十万円以上、組織の基幹システムならば億単位のお金が動きます。しかも、システムは、開発してそれで終わりではありません。その後の運用や保守も発生します。 

運用や保守を独占的に受注するためには著作権を留保していくことが望ましいです。しかし、著作権を留保すると、開発によって得られる利益は少なくなることが道理です。 

広く需要が見込まれるシステムならば、赤字覚悟で受注して著作権を留保することも選択肢となります。これにより、同様のシステムを他社から受注する際に多くを流用できます。 

勤務先がどのようなビジネスをしたいのか理解しなければ、契約書を添削できるわけがありません。 

2.開発は必ず遅れる 

システム開発は99.9%スケジュール通りに進みません。発注者側の注文がころころと変わることが原因である場合があります。どの程度バグが出るかは統計的に推測できるにも関わらず、受注者側の見積もりが甘い場合もあります。理由はいくらでも思い浮かびますが、とにかく遅れます。 

3.納期遅れで報酬が増える場合も 

請負契約において納期遅れは受注者の責任です。履行遅滞の問題になります。 

ところが、履行割合型の準委任契約では、納期遅れに伴う工数の増加は、報酬増額の要因になります。発注者側の立場に立てば踏んだり蹴ったりです。 

システム開発委託契約などというタイトルで契約書が作成されますが、請負なのか準委任なのかをはっきりと明記することが望ましい態度です。 

4.発注者は何を開発して欲しいのか 

システム開発においては、どんなものを開発して欲しい、という要望の具体性が、発注者によって全く異なります。ここで見切り発車をしてしまうと、違うそうじゃない、やっぱりあれが欲しい、が多発して悲惨なことになります。 

何を開発するか決めるプロセスにも、何段階もあります。まずは、要件定義という作業において、どのような機能や性能を実現すれば良いのかを定めます。次に、外部設計という作業において、どのような画面でどのように操作をするのかを決めます。さらに、内部設計という作業において、プログラミングを実施できるようにデータの管理方法や機能分離の有無などを決めます。 

何を開発するかを決めることに手間取れば、発注者の責任だと考えやすいでしょう。何を開発するかが決まったのに納期に遅れるならば受注者の責任である場合が多いでしょう。そこで、例えば、要件定義までを準委任、その後を請負と2段階にしたり、より発注者がイメージしやすいように外部設計までを準委任にしたり、といったことも一案となります。 

技術者ではないのだから要件定義という言葉など聞いたこともない、という法務部員は、勉強してください目の前の契約を理解するためには法律以外の勉強も必要です。 

5.損害賠償が青天井になりかねない

システム開発の成果物であるシステムが不具合を起こした場合、損害賠償はどの程度になるかを想像することも法務部員の仕事です。 

システムと言ってもいろいろとあります。小売業者における販売管理システムや在庫管理システムは、止まってしまえば事業も止まります。しかし、社内で利用するグループウェアならば、不便ではありますが、止まっても事業は継続可能です。 

止まっては困るシステムを開発して、それが不具合を起こせば、損害賠償は青天井になります。10億円で受注したシステム開発で100億円の損害賠償責任を負うことになればたまったものではありません。 

…賠償する責を負う。ただし、損害賠償の額は第●条に定める開発費を上限とする。 

そこで、損害賠償額は開発費を上限とすることが通常です。シンプルに、やらかしてしまったからにはただ働きまでは許容するが、やらかした結果、会社が傾くことは避けたい、という発想です。 

6.法務の力で防げるトラブルは多い 

法務部員がしっかり働けば、多くのトラブルを防ぐことができます。また、トラブル発生時にも致命傷を負わずに済みます。 

お給料をもらっているからには勤務先に貢献することは当然の義務であり、そのためには、勤務先がどのように利益を上げようとしているか、現場ではどのような作業が行われているのかを学び、どのようなトラブルが起こり得るか想像する必要があります。これは、システム開発に限らず、あらゆる分野に共通します。