HapInS Developers Blog

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

HapInSの開発コンセプト

はじめに

この記事では受託開発のよくある問題点を紹介し、HapInSで同じ状況に陥らないためどのように取り組んでいるか紹介していきたいと思います。

受託開発で起こりうる問題

受託開発を行う中で発生する問題には以下のようなものがあります。

  • 開発会社が自社の利益にフォーカスしてしまう
  • 契約時に発注した内容と本当に欲しかったシステムが一致しない
  • 開発会社とクライアント企業のパワーバランスに偏りが生まれてしまう

このような状況の中で開発されたシステムは必ず何かしらの課題を抱えてしまいます。

開発会社が自社の利益にフォーカスしてしまう

これはビジネスにおいてどんな企業でも陥る可能性のある問題かと思うのですが、開発会社で同様の問題に陥った場合以下のような事象が発生します。

  • 本来かかる工数に比べて不要に高い金額を要求する
  • 顧客とのコミュニケーションの中で不要と判断した機能も開発に盛り込む など

契約時に発注した内容と本当に欲しかったシステムが一致しない

これは請負契約のような契約不適合に責任を持つ契約形態の際に起きる可能性のある問題です。

請負契約の場合、契約時には必要だと思っていた機能が不要になったり、当初想定していない機能が必要になった際に同契約内で自由に開発内容を変更できない問題が存在します。

この辺りは欲しいシステムの言語化に関する記事契約形態に関する記事で紹介しています。

開発会社とクライアント企業のパワーバランスに偏りが生まれてしまう

開発会社とクライアント間でパワーバランスの偏りが生まれることも少なくありません。

契約段階では発注側であるクライアントが強く意見をいうケースや、運用フェーズでは開発会社が機能追加の際に高額の請求を行う等のケースがあります。

ではそれぞれどちらかに偏った際の問題を見ていきたいと思います。

クライアント企業が強い場合

この場合、開発会社はクライアント企業とのコミュニケーションにコストがかかってしまうため、言われたものを言われた通りに作る圧力が働いてしまいます。

そうなると本当に必要なものや本当によいものを提案し、作っていくことが難しくなります。

開発会社が強い場合

この場合、クライアント企業は開発会社が提示した見積もりが不当に高いと感じた際でも、フィードバックや値下げの相談を行うことが難しくなります。

また機能追加や、機能改修が必要な場合でも、クライアントに寄り添った対応ではなく高い金額を要求されるケースも稀ではありません。

HapInSの開発コンセプト

上記の問題を回避するために、HapInSでは以下のコンセプトで開発を進めています。

  • お客様のビジネスにコミットし共創する
  • アジャイルな開発思考を重視する
  • お客様と一緒にプロダクトをアップデートしていく
  • 場合によっては開発しない選択肢を取る

またこれらのコンセプトを重要視する背景として、以下の理由が挙げられます。

  • お客様 / 市場が本当にほしいものは初期の段階で全て分からない
  • 昨今の変化の激しい状況下で、現場や企業が本質的に欲しいシステムを一括で提供するのが難しい

こちらに関しては関連記事をご確認ください。

それではHapInSの開発コンセプトを具体的に説明していこうと思います。

お客様のビジネスにコミットし共創する

これはお客様のビジネスをしっかりと理解するよう努め、その上でシステム開発の提案を行うことを指しています。

システム開発をする上で対象の業界ドメインに関する知識は必須です。

例えば金融業界への深い理解がない中で金融システムを作った場合、金融業界独自のルールだったり、金融業界特有の現場業務への視点が全くない状態で開発が進んでしまいます。その状況下でお客様が本当に欲しいものや、本当に価値のあるものは提供できないと考えています。

そのためお客様のビジネスをより深く知り、実際に価値のあるシステム開発の提案を行うことを約束します。

また開発したシステムを通じてお客様のビジネス成長に貢献し、時にはビジネスを共創できるような開発を行なっていきたいと考えています。

アジャイルな開発思考を重視する

私たちの開発のベースには、いくつかの思想があります。

その中でも重要視しているものの1つに、アジャイルソフトウェア開発宣言があります。

参考) アジャイルソフトウェア開発宣言

この中では以下の4つを大事にすべきだと記載されています。

  • プロセスやツールよりも個人と対話を
  • 包括的なドキュメントよりも動くソフトウェアを
  • 契約交渉よりも顧客との協調を
  • 計画に従うことよりも変化への対応を

この中でも本記事で詳細に説明したい考えは、「契約交渉よりも顧客との協調を」と「計画に従うことよりも変化への対応を」です。

契約交渉よりも顧客との協調を

こちらに関してはラボ型契約の記事でも少し触れますが、契約を盾にお互いが交渉をするのではなくビジネスパートナーとして協調していくことが大事だと考えています。

決まったものを作ることで売上を作ることができた時代では、我々開発会社には契約内容に沿ったシステムを契約通りに作ることが求められてきました。

一方で昨今の変化が激しい世の中では、システム開発はより不確実性の高いものとなっており、契約通りに開発を進めるのではなく顧客と強調してシステムを作り上げることが重要になっています。

計画に従うことよりも変化への対応を

こちらも上記と同じですが、不確実性の高い状況下で決められた計画通りに開発を進めることを優先すると別の部分で歪みを生んでしまいます。

例えば開発を進める中で必要な機能が増えたり想定外の仕様変更が発生した場合に、計画遵守を重視しすぎることで品質の低いシステムや不要な機能がリリースされるケースは稀ではありません。

もちろん計画に沿って開発を進めることは重要ですが、不確実性の高い昨今の状況下では変化に適用して開発を進める力がより重要になっています。

お客様と一緒にプロダクトをアップデートしていく

HapInSでは開発完了をゴールとして設定していません。なぜならシステムとは、使われて初めて価値が生まれるからです。

また実際に利用したり、市場に投入する中で見えてくる改善案や機能追加案を大事にし、リリース後も継続的に開発を行うことでお客様と一緒にプロダクトをアップデートしていきます。

一般的な受託開発会社では、リリース(納品)のタイミングがプロダクト価値が一番高い状態となり、それ以降は市場の変化に追従できない場合が多いです。一方でHapInSでは、市場の変化に伴いお客様とプロダクトをアップデートすることで、常に最大価値を提供するプロダクトの提供が可能です。

場合によっては開発しない選択肢を取る

HapInSではお客様のビジネスの状況に応じて、システムを開発しないもしくは機能を絞る選択肢を取ることがあります。

こちらはお客様の業務フローを整理したり、リリースするサービスの機能優先度を決めていく中で、お客様のビジネス成長に繋がるかを基準に対話しながら判断していきます。そのためシステム開発とは一見かけ離れたコミュニケーションを取ることもあると思います。

またHapInSとしては全ての機能を開発した方が短期的には儲かると思いますが、敢えてその選択は取らないようにしています。

お客様のビジネスに本当に必要なものを選択し続けることで、お客様の事業も成長しITに再投資をしていく中で、再度HapInSをパートナーとして選んでいただくことを目指しています。

さいごに

HapInSでは上記のコンセプトを重要視して開発を進めております。

また本コンセプトを支える開発プロセスについては別記事をご覧ください。

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

blog.hapins.net