HapInS Developers Blog

HapInSが提供するエンジニアリングの情報サイト

HapInSがラボ型開発をおすすめする理由

はじめに

本記事では、HapInSがおすすめするラボ型開発の特徴を説明します。

ラボ型開発とは

ラボ型開発とはシステムの開発形態の1つで、お客様専属のエンジニアチームを編成し開発を進めるスタイルのことを指します。

システム開発には他にも請負開発という形態がありますが、ラボ型開発は請負開発に比べ開発の柔軟性が高いことが特徴です。

そのため、お客様企業にIT部門を設立するようなイメージに近いと考えています。

ラボ型開発と請負開発の契約形態の違い

ラボ型開発と請負開発の契約形態はそれぞれ以下の形態を取ります。

  • ラボ型開発: 準委任契約
  • 請負開発: 請負契約

それぞれ以下の特徴があります。(参考)

準委任契約

準委任契約では、エンジニアが行った「労働」に対して報酬を支払います。

そのため契約時に決めた内容に縛られた開発ではなく、フェーズに応じて必要な開発を柔軟に行うことが可能です。

一方で請負契約と違い「契約不適合責任」が存在しないため、契約を盾に開発会社と交渉することは難しくなります。

ただし準委任契約だとしても、我々開発会社は善管注意義務のもとプロフェッショナルとして振る舞うことが求められます。

請負契約

請負契約では、開発会社が納品した「成果物」に対して報酬を支払います。

そのため契約時の内容に従ったシステム開発を義務付け、契約不履行時の交渉も可能です。

一方で準委任契約と違い、契約時に決めた成果物以外の要求は基本的にできません。

そのため開発段階で不要となった機能や新たに追加したい機能が出た際に、契約内での工数移転が難しいデメリットがあります。

多くの場合、不要となった機能はそのまま開発し、新しい機能に関しては別途支払いが求められる形となります。

HapInSがラボ型開発をおすすめする理由

HapInSとしてはラボ型開発をおすすめしています。

おすすめする主な理由は以下です。

  • 開発初期の段階で本当に必要なシステムは分からない
  • アジャイル開発との相性がよい
  • 本質に寄り添った提案や本当に必要な機能にフォーカスできる
  • 社内でITに精通した人がいない場合に、社内IT部門のようなサポートが可能

それぞれ具体的に見ていきたいと思います。

開発初期の段階で本当に必要なシステムは分からない

こちらは別記事でも紹介していますが、必要なシステムを言語化する作業は難易度と不確実性が非常に高いです。

そのため契約時、開発初期の段階では見えてなかった制約 / 要求が、開発を進める中で徐々に現れてきます。

請負契約の元こういった状況に直面すると、既存契約の履行義務があるため開発会社は柔軟な対応が難しくなります。

一方で準委任契約(ラボ型開発)であれば、新たな制約等が見えてきたタイミングで都度最適な開発を提案することが可能となります。

アジャイル開発との相性がよい

HapInSでは基本的にアジャイル開発を推奨しています。こちらに関しては別途記事にしようと思っています。

上記で記載したような不確実性の高い状況下では、アジャイルのように徐々に不確実性を排除する開発スタイルがマッチしています。

そのためアジャイル開発を効果的に行うため、柔軟性高く開発を進められるラボ型開発をおすすめします。

また情報処理推進機構も、アジャイル開発における契約は準委任契約(ラボ型開発)を推奨しております。(参考)

本質に寄り添った提案や本当に必要な機能にフォーカスできる

ラボ型開発の場合、開発途中で柔軟に開発内容を変更することが可能です。

またHapInSの開発コンセプトとして、お客様のビジネスにコミットすることを重要視しております。

※ こちらに関しては別記事をご覧ください

そのためビジネス的に本当に必要な機能かどうかを都度議論し、その上で開発を進めていきたいと考えております。

上記開発を続けることで本質的な機能開発に集中できるため、同じ開発期間でも請負契約に比べ提供価値を最大化することができると考えています。

社内IT部門のように柔軟なサポートが可能

お客様の中には社内にITに精通した人がいない状況下で、システム開発を依頼するケースも多々あるかと思います。

上記状況下においては、そもそもどういった内容を依頼すべきかが不明確な場合が多いです。

依頼内容が不明確なまま請負開発のような契約形態で開発を進めると、失敗のリスクが大幅に上がってしまいます。

そのためラボ型開発のような柔軟な開発スタイルを選択いただき、社内IT部門のような柔軟な関わり方で現状把握や依頼内容の整理から始めることで、失敗のリスクを下げることが可能だと考えています。

ラボ型開発をうまく進めるコツ

ここまでラボ型開発のメリットを説明してきましたが、ラボ型開発を選択するだけで開発が成功する訳ではありません。

ラボ型開発を成功させるためには、我々もお客様も以下のようなマインドセットで取り組むことが重要です。

  • 発注者、受注者という立場ではなくお互いがパートナーとして開発を進めていく
  • お客様と我々でビジネスを共創する意識を持つ
  • システム開発の不確実性の高さを理解し、計画通りの開発を遵守することではなく変化に適用することを重要視する

さいごに

HapInSとしてラボ型開発をおすすめする理由を記載しましたが、実態としてラボ型開発を選択できない場合や、向いていないケースもあるかと思います。

例えば作りたいものや市場ニーズが明確なものに関しては、請負開発の方がお客様(発注者)側のリスクは低減されると思います。

またHapInSとしては初期の不確実性が高い部分のみラボ型開発で行い、開発内容の解像度が高くなったタイミングで請負開発に切り替える等の柔軟な対応も可能です。

「まだシステムの要件が決まってない」「お願いしようとしている開発会社で良いのか分からない」「見積を貰ったけど何を基準に選定すれば良いか分からない」など、どんなお悩みでも構いませんので、是非一度HapInSのエンジニアと会話してみませんか?

blog.hapins.net