システム開発の課題とは何か?解決策として期待される「ラボ型開発」の可能性
2015年の改正労働者派遣法の施行以来、ITシステムの開発においては、外部へのさまざまな開発委託方法が検討されてきました。
派遣や請負、準委任など、いくつかある契約形態のうちITシステムの開発に適しているのはどのような形態なのでしょうか。また、コストや品質など、開発において重要となるポイントをクリアできる開発方法はあるのでしょうか。
今回はITシステム開発の課題と解決のポイント、また今話題となっている「ラボ型開発」についてご紹介していきます。
ラボ型開発の導入を具体的に検討している方は「【保存版】成長企業が導入するWakkaのラボ型開発」に詳しいサービス内容を掲載しているのでご覧ください。
ITシステム開発の課題
ITシステム開発の現場において、企業が直面している課題にはどのようなものがあるのでしょうか。主な課題を6つ取り上げ、解説します。
課題1:開発標準の未整備
開発を開始するにあたって、標準となるような仕様や品質基準(検査基準)が完全に定まっていない場合があります。
発注側(クライアント側)もまだ手探りで決めている途中という事情はあるものの、これらは成果物の品質や開発の生産性(あとから基準が決まれば手戻りが発生する場合もある)、開発コストに大きな影響を与えます。
開発目的が不明瞭
上記のように仕様や基準が定められていないだけでなく、開発の初期段階でシステム開発の目的が共有されていないことがあります。
発注側の要望を聞くだけではなく、示された目的が本来の目的と違っているようであれば、開発側の意見を伝え本来の目的に合ったシステムを作ることが大切です。
目的が共有されないまま開発が進むと、結果として本来そのシステムが持つべき機能や性能が達成できず、手戻りが発生し納期遅延の原因となってしまいます。
課題3:システム利用者の理解(合意)が得られていない
発注側と開発側だけでなく、システム利用者(エンドユーザー)と開発側の仕様が合っていないこともあります。
ほとんどの場合は利用者と発注側の打ち合わせ不足などが原因ですが、最終的に完成したシステムが利用者にとって満足できないものであれば、システム利用者の業務効率が上がらない結果となってしまいます。
課題4:開発途中での仕様変更が難しい
一般的なウォーターフォール型開発(要件定義、外部設計、内部設計といったシステム開発の各工程を、上流から下流に流れるように順に開発していく手法)の場合になりますが、システム開発は通常、スケジュールやコストの観点から、手戻りや余計なコストが発生しないように計画されているものがほとんどです。
しかしながら、経営環境などの影響で、途中から開発の目的や仕様が変わることはよくあります。
時間に余裕があればそのようなイレギュラーな事態に対応できますが、実際には予算などの関係から余裕のある計画を立てるのは困難な場合がほとんどです。その結果、開発の遅延やクオリティの低下につながってしまいます。
課題5:システムの利用者側に新しい技術を取り入れる準備ができていない
システムに新しい技術(ICTやAIなど)を導入しても、利用者側にIT技術やDXへの理解、セキュリティ意識がないと、システムを使いこなすことが難しい場合があります。
システムを利用するすべての人が、IT技術に詳しい人ではないからです。このような場合には、システム開発と併行して利用者側への導入教育などを計画しておく必要があります。
課題6:ITシステム開発をめぐる環境の変化
システム開発を外部委託する場合には、派遣や請負、準委任などいくつかの契約形態がありますが、労働者派遣法(労働者派遣事業の適正な運営の確保及び派遣労働者の保護等に関する法律)は、派遣労働者保護のため頻繁に改定されています。
近年は「同一労働同一賃金」など、開発のコストアップに影響する内容もあるため、システム開発の外部委託は、派遣よりも請負(一括請負と準委任)が多くなる傾向にあります。
開発を効率的に進め、本来の目的に合った使いやすいシステム構築を行うためには、上記のような問題を解決する必要があります。
ITシステム開発の課題を解決する3つのポイント
上記のようなITシステム開発の課題を解決するための、具体的なポイントを3つ説明していきます。
ポイント1:開発フレームワークを取り入れる
開発標準の未整備など、開発の準備が遅れているようなら、IPA(情報処理推進機構)が提唱する「共通フレーム」(ITシステム開発の作業規定)などを導入するのが効果的です。
共通フレームには、ソフトウェアの構想から開発、運用、保守、廃棄に至るまでの作業項目、役割などが包括的に規定されています。
システム開発にはウォーターフォール型やアジャイル型、スパイラル型、プロトタイピング型などがありますが、ほとんどの開発手法に共通して使えるように整備されています
ポイント2:発注側と開発側が協力体制を構築する
発注側と開発側がプロジェクトチームを作り、開発の初期段階から開発完了まで、仕様や検査に関わる認識の違いについて整合をはかりながら開発を進めるのがポイントです。
これにより、開発目的の不明瞭さや仕様の認識違いによる修正、手戻りによる納期遅延が発生しづらくなり無駄なコストの発生を防げます。
また、可能であれば開発のスタート時から利用者側のメンバーにも参加してもらい、運用開始前に余裕を持ってシステム利用者への説明会・教育を依頼するなど、システムの導入に向けても協力し合うことができます。
ポイント3:設計段階から情報を共有し、品質の向上を図る
大規模なシステム開発では、仕様の変更や作業の修正などが多く発生する可能性があり、開発期間も長くなりがちです。
このような場合、関係者を含む開発メンバー間での情報共有がとても重要になります。ちょっとした情報の行き違いが長い開発プロセスの中で大きな乖離となり、大規模な修正作業が発生してしまうこともあるからです。
開発メンバー間での情報共有を密にするためには、共通の開発管理ツールを導入しておくことが効果的です。たとえばRedHatなどを使って開発スケジュールや作業の進捗を管理すれば、さまざまな開発情報が共通のプラットフォーム上で確認でき、突然の仕様変更などにも対処しやすくなります。
ITシステム開発における課題を解決するにはこのようなポイントが重要になりますが、こうした解決策をさらに効果的にするためには、委託先の変更を検討したり、開発体制を見直すという手もあります。
また、コストアップを防止するために請負、準委任といった契約形態を状況に応じて使い分け、開発ノウハウの共有や継承などに効果の高い「ラボ型開発」を利用するという選択肢もあるでしょう。
システム開発を検討されている方に向けてすぐに使える『RFP(提案依頼書)テンプレート』をご用意!
編集しやすいパワーポイント形式のテンプレートなので、項目を埋めるだけで簡単にRFPが作成できます。
ITシステム開発の課題を解決する新たな選択肢「ラボ型開発」
ここでは近年特に注目が集まっている「ラボ型開発」について解説します。ITシステム開発を考えている企業が「ラボ型開発」を導入することで期待できるメリットも紹介します。
ラボ型開発(ラボ契約)とは
ラボ型開発(もしくはラボ契約)とは、特定顧客専用の開発チームを確保して開発を進める手法です。
従来の請負型では開発メンバーの指定ができないので、開発の途中でメンバーが変わるなど開発効率やスケジュールに影響を与えてしまう可能性がありました。
ラボ型開発では基本的にメンバーを変えずに開発を進めていくので、開発の進め方やノウハウをメンバーがそのまま保持できる利点があります。
ラボ型開発はオフショアでよく用いられますが、コストや仕様変更の柔軟性など、ITシステム開発の課題を解決できる開発手法だと言われています。
ラボ型開発の4つのメリット
ラボ契約について詳しく知りたい方は、「システム開発でのラボ契約とは?請負契約との違いや導入時の注意点を解説 」もご覧ください。
- 優秀な人材を一定期間(契約期間)確保できる
ラボ型開発は専用の開発チームを確保するので、契約期間中は優秀な人材を固定的にアサインできます。
これにより品質が安定し、都度、開発方針や品質基準のコミュニケーションをする必要がないので、ノウハウのあるプロジェクトメンバーとスムーズに開発をスタートさせることができます。
- 仕様変更に柔軟に対応できる
契約期間中であれば仕様変更がしやすく、見積もり直しによってコストが増えることもありません。まだ仕様や標準が固まっていない開発であれば、コストや効率の面からもラボ型開発が適しています。
- システム開発のノウハウを蓄積しやすい
ラボ型開発は開発メンバーが固定されているので、頻繁にメンバーの交代が行われ、都度教育が発生するなどの非効率さがありません。
それぞれのメンバーが蓄積してきた開発のノウハウを活用して、効率的に開発を進めることができます。
- 人件費を抑えられる
国内でのラボ型開発はコストが高くなりますが、海外でのオフショア開発をラボ契約で行えば、若くて優秀な人材を集めやすく、コスト低減効果も最大限に発揮できます。
※ラボ型開発における詳細については、「【ラボ型開発】その特徴とメリット・デメリットは?|分かりやすく解説」もご覧ください。
まとめ:ラボ型開発はコスト低減と効率化を同時に実現できる開発手法
よくあるシステム開発の課題のほとんどは発注側と開発側の密な情報共有、契約形態、そしてコミュニケーションを深めることで解決できます。
開発期間が長くなりがちで、かつ複雑化しているシステム開発を成功へ導くためには、発注側と開発側が密に連携する必要があるのです。
ラボ型開発は基本的にメンバーの入れ替えがなくノウハウが蓄積しやすく、海外の若くて優秀な人材を集めることができるので、国内に比べて大幅なコスト削減も可能になる開発方法です。
今回ご紹介したようなシステム開発の課題にお悩みであれば、検討してみてはいかがでしょうか。
ラボ型開発について少しでも気になることがあれば、以下リンクからWakka.Incに気軽にお問い合わせください。
WebメディアでPGから管理職まで幅広く経験し、Wakka Inc.に参画。Wakka Inc.のオフショア開発拠点でラボマネジャーを担当し、2013年よりベトナムホーチミンシティに駐在中。最近では自粛生活のなかでベトナム語の勉強にハマっています。