システム開発を進めたいけども、システム開発の経験が自社になくて何から手を付けて良いかわからなかったという企業は少なくありません。自社の業務のやり方が非効率だから何とかしなければならない、それをITの力で解決できないものかと考えはするものの、具体的には何をどうやれば良いかわからないというケースです。
何から着手すれば良いかわからないという時に、一度アクシアのような開発会社にお問い合わせいただければ、その時に適切な進め方についてご案内することも可能ですが、何をすれば良いかわからないまま、そのままそこでストップしてしまってプロジェクトが頓挫し、結局業務の効率化を実現できないままということも結構あるのかもしれません。
業務効率化のためにシステム開発のプロジェクトをスタートさせたいけど、何から着手すれば良いかわからないという方のために、アクシアの顧客の事例も交えながら、システム開発の進め方についてまとめてみました。
依頼内容を明確にすることがシステム開発成功の鍵
システム開発のプロジェクトを成功させるための第一歩として、依頼内容を明確にすることがプロジェクトを成功させるためのポイントとなります。
システム開発と一言で言っても、その工程には要件定義、設計、製造、試験、保守・運用のように色々ありますし、その他にもプロジェクトの進め方、提案依頼書の作成の仕方、開発会社の剪定方法など、必要なことは多岐にわたります。
その中でも依頼内容を明確にすることは、システム開発を始めようと考えた時に真っ先にやるべきことです。いわゆる「要件定義」というやつです。要件定義を適当にやるとプロジェクトの失敗確率は高くなります。
上記のブログ記事の中でプロジェクトが炎上する理由として「顧客の問題」に書かれている内容には、顧客が仕様検討をしっかり進めなかったために起きる問題がいくつか含まれています。
要件定義を適当にやると、後になって「やっぱりこういう機能も必要だった」「ここの機能はやっぱりこうしてほしい」ということが多発し、予期していなかった費用が多く発生する可能性も高くなります。
システム開発のプロジェクトを成功させる鍵は、まずは依頼内容を明確にすることです。依頼内容を明確にするということは、システムで何を解決するのかを明確にするということです。
システム開発を専門の開発会社に依頼するのは、依頼内容を明確にしてからです。これができていないまま何となくシステム作ってくださいと言われても、開発会社の方も困ってしまいます。
要件定義を専門のシステム会社に依頼する
システム開発を発注するのは依頼内容を明確にしてからと言われても、その依頼内容を明確にする作業である要件定義をどうやれば良いかよくわからないというケースもあります。
要件定義の進め方からよくわからないという場合には、まずは要件定義を専門のシステム会社に依頼するという方法があります。
ただしここで勘違いしてはいけないことは、要件定義を外部の業者に丸投げすることはできないということです。要件定義はシステムを利用する顧客が行うべき仕事です。
ではどのように要件定義を専門のシステム会社に依頼するのかと言うと、システム会社の人間にプロジェクトメンバーの一員として加わってもらうような形で依頼する方法があります。この方法はまだ依頼内容や実施内容がはっきりと決まっていない場合の進め方として有効です。
例えば週1回のプロジェクトの打ち合わせに参加してもらう形にして、システムで必要とする機能要件の検討や、開発会社にシステムの構築を依頼する際に必要となる提案依頼書作成のサポートをしてもらう形で進めていきます。
各部門から出てくる要望に優先順位を付けて整理をしたり、どの程度のコストが想定されるのかについて、専門家の見地からミーティングの場ですぐに示しながら要件定義を進めていくことができます。
システム開発について、何から着手すればよいのかわからない状態の場合、このようにまずは要件定義のみを外部の専門業者に発注し、段階的にプロジェクトを進めていくやり方の方が効率的です。
もちろん顧客企業の内部で、しっかりと要件定義を進めていける体制がある場合は、このフェーズを外部に発注する必要はありません。ただしそのような体制がどの会社にも整っているわけではありませんから、状況によっては要件定義を外注するという方法は有効な手段となります。
要件定義だけ先に発注するメリット
要件定義がしっかりできていないとシステム開発のプロジェクトの失敗確率が高くなることはすでに述べました。そのため要件定義だけ先に発注して専門の会社にサポートしてもらうやり方にはメリットがあります。
何から着手して良いかわからない場合でも進めやすい
システム開発を成功させることは簡単ではありませんし、専門的でわかりにくいこともたくさんあります。やりたいこと、必要なことがぼんやりとした状態だと、何から着手すれば良いのかわからなくなってしまい、そこでプロジェクトがストップしてしまいかねません。
このように何から手を付ければ良いかわからない場合でも、要件定義だけ先に発注してサポートしてもらうことで、プロジェクトを進めやすくなります。
見切り発車してプロジェクト失敗となりにくい
要件定義がしっかりとされないままプロジェクトを見切り発車して、システム開発を発注することでプロジェクト失敗となるケースがありますが、要件定義をサポートを受けながらしっかりと行うことで、プロジェクト失敗の確率を下げることができます。
要件定義をしっかりと行った結果、そのシステムを開発することは費用対効果に見合わないことが明らかになることもあります。開発を見切り発車してしまうと、全ての開発費用が無駄になってしまうことにもなりかねませんが、要件定義をしっかりと行っておけば、そのシステム開発を進めるべきかどうかの適切な判断を行いやすくなります。
社内に詳しい人がいなくてもプロジェクトを開始できる
社内にシステム開発のプロジェクト経験者が誰もいないと、どうやってプロジェクトを進めればよいのか、今進めているやり方で本当に正しいのか不安になります。しかし要件定義を先に発注して専門家をプロジェクトメンバーに加えることによって、システムについて詳しい人が社内にいなくても安心してプロジェクトを開始することができるようになります。
アクシアのクライアントの事例
要件定義だけ先に発注していただく事例は時々ありますが、その中の事例を一つご紹介します。
ある顧客でWebのシステム開発を進めることになったが、その顧客では社内に一切のノウハウがなく、プロジェクトの進め方を含めて何から着手すれば良いのか全くわからない状態でお問い合わせをいただきました。
構築したいシステムの全体像がぼんやりとしている状態だったので、見積もり依頼すらシステム開発会社に出せない状況だったのですが、相談の上まずは要件定義を行うことを決定し、3ヶ月間のコンサルティング契約を締結し、週1回の要件定義ミーティングにアクシアのメンバーが参画しました。
3ヶ月後のゴールとして、下記3つを定義。
- 実現したいシステムの要件を整理し、開発する機能、開発しない機能を明確にして、機能要件を作成すること
- システムに求められる性能要件を定義し、将来的な拡張を考慮したインフラ設計を行うこと
- 「1」「2」を踏まえ、プロジェクトを開始する際にシステム会社に見積もりを取るための提案依頼書の作成を行うこと
ミーティングの場では各部門から代表者が集められ、それぞれの立場から要求が出てきましたが、その場で実現コストを示しながら開発する機能の優先順位を明確にしていきました。この顧客の場合には要件定義の結果として、システム開発によって発生するコストと、将来期待できる効果(収益性)の面から開発自体は見送りとなりました。
しかしこの要件定義のフェーズを踏まずに開発を見切り発車してしまっていれば、要件が定まらないまま開発がうまく進むことは考えにくく、収益性の観点からも開発しない方が良かったシステムが出来上がってしまっていたことは間違いありません。
このケースでは無駄な開発費用をかけることなく、要件定義にかけた最小のコストでプロジェクト中止の判断ができた事例と言えます。
このようにプロジェクト立ち上げの初期段階で、システム開発のプロフェッショナルをプロジェクトメンバーに参画させるやり方は、有効な手段の一つとなります。