なぜアプリ開発にはコストがかかるのか
アプリ開発やシステム開発を誰かに依頼したことはありますか。
システム開発会社に見積もりを依頼した際に、思ったより高いと感じたことが多いのではないでしょうか。
実際に私も周りから「本当にそんなにかかるの?」と相談されることがあります。
そこで、なぜアプリやシステム開発にはコストがかかるのかについて考えてみました。
どんなアプリをどの会社が作るのかによって様々な要因があると思いますが、ここではその中でも大きく3つの理由について説明します。
スタートアップなどの新規事業(不特定多数のユーザー向けサービス開発)ではなく、受託開発の場合についての話です。
システム開発にコストがかかる3つの理由
■打ち合わせに時間がかかる
一つ目の理由は、依頼者がどのようなシステムを作るのかを開発者に伝える事に時間がかかるからです。
システムの仕様を決定する打合せを何回、何時間行うか、また何人が関わるかはそのままコストに影響します。
つまり、打合せには必ず人間が関わるので、その人件費がかかるという事です。
対策としては、具体的な資料を準備するなど、いかに打合せを効率的に行うかを考えることで開発コスト削減を期待できます。
■開発に時間がかかる
二つ目の理由は、開発者がシステムを作る時間です。
どのようなシステムを作るかが決まってから、それを実行することに時間がかかります。
開発にかかる時間=コストは、開発する会社の規模、その地域、開発者のスキルによって異なります。
また、ゼロから作るのか、現状のシステム資産を活かすのかも影響します。
開発者がどのような作り方をするかも影響します。
作る方法はたくさんあります。
例えば、プログラミングで作る方法やツールを利用して作る方法です。(フレームワークなどを利用する意味)
プログラミングでゼロから作れば自由度は高いけれども開発工数がかかり、ツールを利用すれば開発工数を抑えることはできるけれどもツールに縛られる側面があるといった特徴があります。
ツールを利用する場合、そのツールを利用するコストも関わります。
つまり、作る時間がそのまま人件費に影響し、場合によっては利用するツールのコストが影響しているケースもあるという事です。
対策としては、本当に必要な目的に絞って開発工数を抑えることが良いのではないでしょうか。(海外に発注する案もありますがここでは日本国内の話で考えています。)
現状利用しているシステム資産を活かす方法や、開発会社が利用するツールを判断基準にするのは依頼者には難しいかもしれません。
■想定外の幅をもっておく必要がある
これについては、開発側の事情であり、開発者から依頼者に説明することはあまり無いかもしれません。
ここで言う想定外の幅とは、最初に決めた仕様が変化する幅の事です。
システム開発における最も悩ましい問題の一つといっても良いでしょう。
開発依頼初期に依頼者が伝えたアイデアや仕様は少しずつ変わってきます。
打合せでは仕様を固めたつもりでいても、具体的に進めていくと意外とうまくいかず路線変更したりします。
打合せで言っていた事と変われば開発工数が変わることもあるため、その場合コストに影響します。
なぜ、そのような事が起こるのでしょうか。
依頼者の伝え方が悪かったのでしょうか。それとも開発者の設計が甘かったのでしょうか。
もちろんそれらが原因であることも考えられますが、実はそのどちらでもないことが多いです。
根本は人間が考えるアイデアが抽象的であることに起因します。
システムを作るには完璧なロジックが必要です。
経験豊富なエンジニアでも具体的にシステムを作り上げて初めて、最初の仕様の甘さや矛盾に気付くこともあります。
そのため、この先想定していない作業が発生する事に対して、余白を持たせておく必要があり、その余白の幅がコストに影響しているという事です。(工数が多ければ多い程、想定外の何かが起こり易くなります。)
システム開発では、細かなことを含めれば必ず仕様変更が発生し、それを解決するには時間=コストが発生するのが現状です。
対策としては、仕様変更の度に別途費用がかかるタイプなのか、事前に余裕をもって見積もるタイプなのかを双方で認識しておくことが良いのではないでしょうか。
システム化のアイデアを低コストで実行する方法
ここではシステム開発にコストがかかる理由について説明しました。
せっかくなので、そもそも作りたいシステムと開発コストが合わない場合にどのような方法があるかを簡単にご紹介します。
■パッケージソフトを探す
目的を満たす機能が備わっているアプリやソフトを使う方法です。
100%要望通りとは行かないけれども、ツールに業務を合わせることで低コストで実現できるかもしれません。
上で説明したコストを大幅にカットできます。
■自分で作る
アプリを自分で作る方法です。
作るには自分の時間コスト、作り方を学習するコストがかかるわけですが、受託開発では予算に合わない場合に有効かもしれません。
その場合どのツールを使うかということになるかと思いますが、それはまた別のnoteで書こうと思います。
まとめ
■アプリ開発やシステム開発のコストは作る時間に大きく影響している。
■コストに見合わない場合はパッケージソフトを使うか自分で作る。
システム開発には開発工数すなわち時間が大きく影響します。家を建てるのと同じようなイメージでしょうか。
コストを抑えるには皆で同じものを使う方法や自分で作る方法があります。パッケージソフトを利用したり、Excelでできる範囲の効率化を実現することを試みてはいかがでしょうか。
個人的でなく組織的なケースでは、Excelを使う問題点に反応されそうですね、その話は長くなりますのでまた別の機会にします。
いずれにしても究極の業務効率化を求めればパッケージソフトではなく、受託開発などオーダーで作る必要があります。
効率化とコストのバランスを考え、費用対効果で判断してみてはいかがでしょうか。