ウェブ上でサービス提供をしたいから、システム開発業者やホームページ制作会社にまずは聞いてみよう、という方は多くいらっしゃると思います。そしてその後に、どうやって作業を依頼すればよいか、他にもっと良い業者はいないか、悩まれる方は少なくないと思います。
当社も発注先となる業者の一社ではありますが、セカンドオピニオンのように相談を受ける立場でもありますので、様々な悩みがあるんだな、と日々学ばせて頂いています。
特に小規模事業者やスタートアップ企業では、システム選定をITシステムに詳しくない代表者が行う事といったことが多々見受けられます。また、予算も時間も限られますから発注先となる事業者規模もある程度限られることでしょう。大手や中堅企業のような対応とは違う、または基本的なやりとり、分からない時にどうすればよいか、といった事をお伝えしたいと思います。
ウェブシステム開発会社やホームページ制作業者の選び方
システム開発会社は数多くありますし、ここ数年は中国やベトナム、フィリピン、ウズベキスタンといったオフショア企業の日本進出も進み、多くの選択肢が存在します。そして、それぞれ強みにしているところも違います。
- 開発実績や事例の数(類似システム、業種への理解、数、事業年数、直請け/下請け歴)
- 得意とする技術領域(提案、設計、開発、インフラ、デザイン、マーケティング)
- コミュニケーション(レスポンスの早さ、丁寧さ、要望の受け入れ、回答の適切さ)
- 開発後のサポート(保守の有無、運用サポートの有無、不具合への対処、追加改修)
- 開発費用、保守費用(エンジニア単価を含む人件費、構築提案内容、開発手法)
システム開発においてはこのような判断基準が挙げられます。
理想は全て条件に適ったところでしょうが、特に小規模事業者では全て条件に適うところを探すのは難しいでしょうから、優先順位を持たせることも重要になります。
ここでは何に重視するか、といった点についてもお話していきます。
システム開発実績や事例の数
開発実績が多ければそれだけ対応経験も豊富ですから、安心材料の一つになりますね。
また、開発実績の中に、依頼しようとしているものに近いものがあれば、イチから全部説明しなくても作ってくれるかもしれませんし、もしかしたら開発したものを流用して安く作ってくれないか、という期待をされるかもしれません。
開発実績があって、それが公開されているものであれば、下請けではなくエンド直案件を取り交わせる実力がある、という証でもありますからより安心ですね。直接取り交わせる実力とは、営業力はもちろん、お客様と直接会話して要件を取りまとめる能力(要件定義力)、開発以外の要望(例えばデザイン、マーケティング、仕入、経営相談、社員教育、技術指導、等々)にも応えられているであろう、という事でもあります。
開発実績や事例で注意すべき点
提示された実績のうち、どの部分までをその業者さんが受け持たれたのかを確認するようにしましょう。
例えばウェブサイト全体のうち、デザインは担当していない、という場合もあります。下請けのためお客様との打ち合わせには参加せず、そこで決まった内容に従ってシステム構築をした、という場合もあります。
なお、それ自体が問題という事ではありません。
問題なのは、事例を見てこれらすべて企画提案から提供に至るまで、その業者が対応したと勘違いする事です。全部出来ると勘違いしてキャパオーバーの事を依頼してしまったら、問題になる確率が高くなるのは明らかですよね。
得意とする技術領域
発注先となる業者がどこまで対応できるか、というのはしっかり聞いておきましょう。
ウェブサイト制作やシステム開発では、開発プロセスという考え方があります。
システム企画、要件定義、設計、開発、テスト、本番リリース、というプロセス(工程)が必要となります。
それら工程を管理するための、プロジェクト管理も必要となります。
(参考)開発プロセスとは何?発注者が知っておくべき点は何?
また、ウェブデザインやプログラミングといったソフトウェア面での対応はもちろんのこと、ネットワークやサーバーといったインフラ構築も必要となります。開発以外にも、事業の成功に重要なマーケティングや事業計画といった事業に関するノウハウも必要となります。
ウェブ上で何かサービスを始めるという事は、上で挙げたすべて必要で、どれ一つ欠かす事もできません。業者に依頼する事で全部対応してくれると思っていると失敗します。欠ける部分は別事業者に依頼をするか、発注者がご自身でその役を引き受ける必要があります。
また、対応は出来るけれどもそこは本分ではないため別の事業者にお願いした方がよい、という判断も必要となるでしょう。ただ、この場合は全く知識がないわけではないでしょうから、その業者とのコミュニケーションはかなり楽になるでしょう。そこも含めてその業者の強みと思ってもよいと思います。
このように、依頼先となる業者がどこまで対応できるのかを必ず把握する、という事をしましょう。そうすることで、はじめて業者の比較選定が出来るようになります。
技術領域の比較における注意事項
最初の提案段階で、業者は各々得意領域を含めた提案をしてくることでしょう。
システムは PHP+Laravelで組みます、いやいやうちは Java が得意なのでそちらで。AIを駆使するならPythonでしょう、というように言ってくるところもあれば。いやいやバックエンド開発はオワコンでしょう。今はVue.jsや React などフロントエンド開発を分けてやるほうが保守性が高いです、など言ってくるところもあります。そんな開発をしなくてもWordPressやローコードツールで手早く仕上げた方が安く済みますよ、というところもあります。
それぞれ主義主張や得意分野がありますから、面白いですし、提案を受ける側も視野が広がり勉強になります。
しかしながら、一つの技術に固執し、それ以外の選択肢を提示しない、又は発注者側で提示しても取り合ってくれないのであれば、その業者については注意した方がよいかもしれません。他に選択肢があるにもかかわらずその理由を明示しないのだとしたら、その方法しかしらない業者かもしれません。
例えば、考えていたウェブ上のサービスが簡単なビジネスマッチングで、想定利用者数も1000人程度だったとします。インフラ的には共用サーバーで十分な事業規模です。
そこにJavaによる開発が得意なところを紹介されて、Javaによる開発を提案されたとします。
JavaでWebシステムを開発しようとしたら、サーバーインフラもJavaが動作するものを使わなければいけません。上で挙げた共用サーバーは使えませんから、通常はAWSやさくらのクラウドなど、IaaS(インフラ提供サービス)を使う必要があります。共用サーバーには不要だったサーバー構築や、その後のサーバー保守も必要となります。
そういうことを発注側が知っていれば、その提案はオーバースペックでもっと安価な提案もあるでしょう、というように思えるわけですが、システムに疎い発注者であればそれが全てだ、と信じてしまうから問題なのです。
そうならないためには、最低でも別の業者が提案された内容にも耳を傾けて、何が違うのかをしっかり見極める必要があります。また逆に何が共通する事項なのか、という事も知る事が出来ますから、比較選定ポイントを絞る事もできるようになります。
このような判断にはIT専門家の力が必要です。失敗を防ぐ率を上げるために、業者選定の段階から取り組んでいただきたいです。システム開発やホームページ制作などの受託開発業務は、「目に見えない事、まだないもの」を作り上げる事ですから、経験豊富なIT専門家のサポートはきっと役に立つでしょう。
システム開発業者とのコミュニケーション
受託開発は、まだないものを作り上げるという取り組みです。
お手本となるものがありませんから、「ああしてください、こうしてください」という具体的な指示にも限界があります。当然発注する側やされる側(業者)間で思い描いている事にギャップは生じます。
このギャップを取り除くために必要な事は、円滑で意思疎通が図れるコミュニケーションなのです。
そしてこのコミュニケーションに必要なのは「相手」。発注者にとっての相手は業者ですが、その業者がコミュニケーションに長けている必要があります。
では、コミュニケーションとしてどのような事を重視すればよいか、お伝えしていきたいと思います。
システム開発業者のレスポンスの早さ、丁寧さ
最初の要件決め、提案段階はもちろん、実際の構築において、システム開発やホームページ制作など受託開発業務において密なやり取りは欠かせません。その時に相手から返事が来なかったり、情報が足りなかったり雑な回答だった場合、期待したものは出来上がるでしょうか?イメージしづらいですよね。
メールであれ電話であれ、コミュニケーション手段に関係なく、レスポンスの早さや丁寧な回答をしてくれる事が重要であることは言うまでもないでしょう。
ここでよくある事例を1つお伝えしたいと思います。
一括見積サービスを利用した方はご存知だと思いますが、多くの業者から連絡がきます。それだけで嫌になる方も少なくないと思います。なので、最初の1~2業者とだけやり取りを始めて、後の業者とのやり取りはお断りする、という方を少なからず見かけます。
レスポンスの早さを重視する、という観点では一見正しそうなやり方かもしれません。しかしながらこの段階で言うレスポンスの早さは、どちらかというと反射神経を競うようなものであり、丁寧さとは異なります。十分な情報が無い状態でとりあえず返信をした、というところですから。
もちろん、最初の1~2業者が良質なところで、そこで密なやり取りが出来て良い提案をいただく事が出来ればそれは幸いですから否定しません。ただ、運任せの要素が強いですから、正直勿体ないとは思います。
逆の言い方をすると、運が悪いと後で問題になるという話です。
システム要件など、要望を伝える取り組みは必要
最初の反応が早い業者を選ぶ、という運要素が強い方法よりも、最初の段階でしっかりとした要望を相手に伝える事をぜひ取り組んでほしいと思っています。具体的には、RFP(Request For Proposal:提案依頼)を作ってそれを提示することです。
そうすれば反応任せに返事する、という事は出来ません。精査する事が多いからです。
ここをしっかり見てくれるところは丁寧な対応をしてくれる業者と言えるでしょう。
また、最初から必要な情報を提示できていれば、業者から来る質問対応に追われる必要もなくなります。
一石二鳥です。
一方、RFP作成は難しい、と言われる発注者もいらっしゃることでしょう。
現実問題、RFPを作られる事業者様は多くありません。特に小規模事業者で目にした記憶はありません。
理由は明確です。RFPを書くためにはある程度のITに関する専門知識が必要だからです。
「RFP」でググってもらえるとわかると思います。とはいえRFPに記載する事を発注側が理解していないというのもナンセンスな話です。何を要求しているのかを発注者ご自身が分かっていない、という事ですから。ですから、RFP作成時点からIT専門家とのかかわりを持つことは大事です。
システム開発業者が持つコミュニケーション力、比較する際の注意事項
レスポンスの早さや丁寧さ、といった業者に求めるものと、業者からのレスポンスをいかに客観的に判断するか、そのためのRFP作成という、発注側のコミュニケーションについて、お伝えしました。
ここではもっと根源的なところについてお伝えしたいと思います。
それは、業者とのやり取りがストレスにならないことです。
「レスポンスがなかなか来なくて不安」「なかなか言っている事を理解してくれない」「どういう風に開発を進めているのか、今どういう段階にあるのか、こちらから聞くまで教えてくれない」「専門用語が多くて理解しづらい」というようなことを一度でも思われたのであれば、それはストレスであり問題です。
慣れれば何とかなる、というものではありません。
今後開発を進めるうえで細かい内容をどんどん詰めていく必要がありますが、そこがままならないわけですから、ストレスはもちろん業務にも支障が出ます。
その業者の提案がいくら良かったと思えても、一旦立ち止まりましょう。
今後どんどん細かい事を詰めていく時に果たして伝えたいことを伝えられるか?伝えたつもりの事を相手は理解してくれているか?そういうシーンをイメージしてください。どこかで破綻するだろう、と想像する事は難しくないと思います。
破綻した時は、着手中のシステムが期待値でない可能性も高いでしょうね。
システム開発において、システム開発技術力は当然必要ですが、開発技術力はシステム開発の土台でしかありません。コミュニケーションが成否の9割を占めると思っています。
それだけコミュニケーションは大事です。
システム開発後のサポート
システムは作った後が本番です。
しかし、開発業者の本音はおそらくこうです。
「やっと手離れ出来る」
冗談でもなんでもなく、本当に多くの開発業者が思っている考えです。
エンジニアの特性ともいえるでしょうが、ものづくりが好きで新しいことをするのが好きなのがエンジニア。
作った後のものには興味がない人は一定数おります。私は趣味の延長線上で動いている人と評価しています。
でもこれはビジネスです。発注側からすると製造したものが期待した通り動き続けくれて、かつ改善点があったらよくしていきたいと考えます。
ですから、保守や納品後のサポートをどこまで行ってくれるかをしっかりと聞く事は重要ですし、発注者の意図をどれだけ重要だと理解してくれるかは見極めておく必要があります。
保守やサポートをしてくれるとして。次に気を付けるのはサポートや保守に関する費用です。
他社から相談をいただくときに多い事の一つが、保守になったとたん単価を上げるといった話。
同業者としては悲しい事ですが、そのような事をする業者が少なからず存在します。
不具合対処についても、どこまで対応してくれるのかは最初の契約段階で決めておいた方が良いでしょう。
保守対象の範囲や費用の内訳も確認してください。制作物の権利についても確認すべきでしょう。
保守料金が高いのに何もしてくれない、と不満を持たれた方が相談に来た時に保守契約書を拝見して、「システムの利用料の支払いであり保守ではなかった」だと発覚した事もあります。
お粗末な話だと思わないでください。
ちょっとした理解不足がここまで問題を大きくする事はそこかしこであるのです。
システム開発費用、システム保守費用
費用は発注する側からすると最重要項目と言えるでしょう。
ですが、最重要項目であるにもかかわらず、なぜそれだけ費用がかかるのか、なぜそこまで費用を落とす事が出来るのか、といった理由を考えない発注者は少なからずおります。これは非常に危険です。
正当な理由があってその価格である、という事を知る事は、システム開発を成功させる大きなポイントです。
そこで、まずは基礎知識として、受託開発における価格の決め方をお伝えします。
受託開発とはフロー型ビジネスでもあります。請負契約、準委任契約といった違いはあれども、基本はエンジニアの稼働を提供するビジネスです。つまり、エンジニアの稼働時間×単価という人件費が受託開発における基本的な費用となります。
もう1つは、人件費以外の費用です。ソフトウェア製品の購入価格、画像など素材購入価格。サーバーやドメインの利用料、といったもの。その他SaaSなど外部サービスの利用料といったものです。
それぞれの要素について続けてお話していきます。
エンジニアの時間単価
時間単価とは、エンジニア一人を1時間確保した時に支払うお金の事です。
エンジニアのスキルが高ければ、一般的に時間単価は高くなる傾向にあります。
それ以外にも住んでる地域、例えば都内か北海道や沖縄といった地方になるか、日本国外の海外企業か、という地理的要因で時間単価が変わる場合はあります。
これがオフショアになるとその差は顕著です。
優秀な外国人エンジニアで日本人エンジニアより単価が安い場合は往々にしてあります。
システム開発工数
開発工数とは、依頼された事に対しどれだけの時間を要するか、を示すものです。
例えば、お問い合わせフォームを作るというという依頼に対し、「A社は16時間」「B社は4時間」という見積が出たとします。時間単価が同じであれば、B社の方が安くなります。
これだけ見たらB社に依頼したくなりますよね。
ここで見て欲しいのは「なぜその工数で実現できるのか」です。
システム開発業者によって費用が変わる理由
まずは業者の組織規模を基準に考えると分かりやすいと思います。
大手SIerや中堅・中企業など数十人以上のエンジニアを抱えている企業であれば、優秀なエンジニアの確保は重要事項です。そのためにエンジニア単価は高くなります。
品質管理を優先しますから設計書はしっかり作成しますし、試験計画書や実施結果の記録も入念に行います。
第三者レビューでさらなる品質確保に努めます。
エンジニア以外にも管理コストや営業に要する人件費など間接費用がかかりますから、それをまかなうために売上の源泉となるエンジニア単価を増やす必要があります。
エンジニアがプログラムを作ればOKという話ではなく、それに付随する別の作業が増えたり、関係する人員も増えるわけですから、費用にも影響します。
その代わり、一般的には品質は上がります。いわゆるバグが少ないシステムになります。
また、またドキュメントをしっかりと作成しますから、俗人化‥つまり特定の人しか知らないシステムとはなりにくく、会社組織として開発物に責任を負えるようになります。
続いて、個人事業主(フリーランス)や一人会社の社長。
大抵は一人ですべてを行いますから、情報共有化に必要な資料作成(設計書など)が無くとも開発できるという人もいます。
間接費用も要りません。人によっては生活出来ればOK、お金がなくなったら廃業&転職すればよい、という人もいます。責任意識も希薄になりがちですので、単価を低く抑えられる事も可能です。
リスクは「対応業者がいなくなった時にどうするか」です。
ある日突然連絡が取れなくなった、廃業をしていた、連絡は取れるが対応をしてくれない、といった話です。
業者側であるエンジニア自身の責任感に依存しますが、相手次第なのでいかんともしがたいですね。
後釜を探す必要があるでしょう。エンジニア不在のまま不具合が起きないよう祈りながら使い続ける人もいる事でしょう。何にしても何か問題が起きた時に対応できる人は必要です。
続けて小規模事業者(法人格を持った数人~十数人規模)。
基本的にはチームとして事業に取り組まれている事でしょう。情報共有のための資料作成も行うでしょう。
プログラマー、デザイナー、ディレクターというように作業分担して取り組んだりします。
かかる工数としては規模に寄りますが大手SIerよりは小さいでしょうから、人員も減る→工数も減るかたちとなります。逆に個人事業主など一人で行っているところに比べたら工数も単価もかかります。
このように業者の規模によっても単価や工数は大きく変動します。
確実なのは、発注者の事業規模に合わせ依頼先を合わせる事です。
それ以外の変動要因に、開発手法といった要素があります。
フルスクラッチ開発をする場合は費用が掛かりますし、ある程度出来上がったシステムを拡張する方法(例えばWordPress上でテーマを開発する方法)であれば工数を抑える事もできます。ローコードツールを使えばもっと工数を抑えることもできます。
どのような開発手法を取り入れるかは業者次第ですが、その内容を知るには見積明細(根拠)を見る事です。
見積もり根拠を求める事
たまにですが、見積書で「〇〇一式」と明細が1行だけの見積もりを見る事があります。
これでは根拠が分かりませんから、開発業者にはしっかりと明細を提示してもらうよう依頼をしましょう。
根拠がないとどうなるか?価格でしか判断しなくなります。
安い見積を提示された場合に、合計が他より安いからと安心してはいけません。
数社から見積をとったときに、他はだいたい同じ金額なのに1社だけとても安い場合は内容を疑ってください。
その業者が要件を勘違いしている可能性があります。そこを見ずに単に安いから、で決めると危険だという事です。
工数以外に変動する要因
ここまで主にエンジニアが稼働に要する人件費を中心にお話をしましたが、それ以外の要因についてもお伝えします。
一つはパッケージ、ライブラリー、という既に開発が済んていてエンジニアの人件費をさほどかける必要がないものを使う場合です。一般的に受託開発する場合に比べ大幅に費用を抑える事ができます。但し費用をゼロに出来るわけではなく、それらパッケージやライブラリーのライセンス料が通常はかかります。
パッケージやライブラリーの利用は便利なものですが、利用許諾など権利関係は明確にしてください。
これはパッケージに関わらず、受託開発全般に言える事ですが、制作物は著作物でもありますから、開発業者に所有権がある事に注意してください。
もう1つ、SaaSやASP、APIと呼ばれている、いわゆるサービスを利用する場合も価格を抑える要因になります。例えば、ECサイトを簡単に作る事が出来るBASEというSaaSはその一つです。
開発は不要で、設定作業を行えばそれだけでECサイトを稼働させることが出来ますから、開発業者はその設定作業費で済みます。イチからECシステムを作るに比べたら天と地との開きがあります。
ただし、SaaSやASP、APIも良い点ばかりではありません。上のBASEであれば、月額利用料金はかかりませんが、売上金額のうちシステム利用料としていくばくかをBASE運営会社に支払う必要があります。他のSaaSやASP、APIでも同様で、使った分に応じて費用が発生したり、使用有無に関係なく月額利用料金が発生する場合もあります。
最初は利用者が少ないから十分コスト減に貢献していたものが、利用者が増えた結果API利用料だけで月額数十万円を超えてしまう、という事にもなりかねません。
また、パッケージやライブラリー、SaaSやASPといったものでは、カスタマイズに対応できない場合が普通です。ですので、システムとして実現したい事がそれらパッケージにない場合は、それらの機能を諦めるか対応させるべく新規に開発をする必要性が出てきます。
このあたりの判断はシステム、特に外部ツールに詳しくないと難しいです。
ですから、希望とする機能要件を、可能な限り最初の段階でシステム開発業者に明示する事をお勧めします。
システム業者はその機能を実現するにあたり必要な提案をしてくれるでしょう。
この提案内容によって費用が大きく前後する要因にもなります。
小規模事業者がシステム開発業者を選ぶ際のポイント
ここまで一般論も含めていくつか業者選定ポイントを挙げてきましたが、特に小規模事業者が気にする点に絞ってまとめてみたいと思います。
システム開発実績や事例は、その業者が実際どの部分までを対応したのか(出来るのか)確認する
以下の記事を参考にして、どういった開発プロセスがあり、どの部分までをその業者が対応できるのかを知る事で、適切な業者選定が可能となります。
得意とする技術領域についても確認してください。
上では開発について細分化して説明しましたが、デザイン、マーケティング、というように開発以外の部分でも考慮する点はあるからです。
小規模事業者がお願い出来る開発業者は、費用の関係から近い規模である小規模事業者やフリーエンジニアになります。
大手と異なり全方位で対応できる事業者は早々おりませんから(ゼロとは言いません)、対応できるところを把握することはとても重要です。
コミュニケーションがとにかく大事
全ての人、業種、規模において言える事ではありますが、コミュニケーションは本当に大切な要素ですから、重きを置いてください。
特に小規模事業者において、相手業者の担当者に何かしら問題があり変えて欲しいと思ったとしても、替えの人材がいない場合がほとんどです。いくら相手業者の代表者にクレームを言ったとしても、その通りにならない可能性は高いです。そこは大手と違い人材に限りがあるところのウィークポイントです。
ですから、最初からコミュニケーションに問題がない相手を選ぶ、という事は大事にして下さい。
継続したサポート、費用を最初に確認する
発注者にとっては開発後の運用開始後が重要ですから、どれだけ開発業者が関わり続けてくれるのかは重要です。
関わりたくとも離れざるを得ない、そのような状況になる事は小規模事業者であればよくある話です。
その場合にどのようにリカバリーが出来るかも、業者にとって必要なサポートだと思いますし、発注者もそこは意識して質問する必要があるでしょう。
費用についても同様です。開発は開発、保守は保守と異なる費用感を提案をされて困るのは発注者ですから。
最初の初期開発前からしっかりと提案をもらうようにしてください。
IT専門家の力を借りる
ところどころでお伝えしておりますが、発注者はそれぞれの事業におけるプロフェッショナルではありますが、必ずしもITに詳しいわけではありません。
しかしながら、ウェブ上でサービスを始めたり、ホームページ集客をしたりするのであれば、ITに関する専門知識は少なからず必要となります。
そういう時にITに関する勉強をするのもナンセンスです。ですからIT専門家の力を借りる事は時間的コストはもちろん、開発トラブルを防ぐことで余計な出費を減らすことを考えると、とても理に適った選択肢だと思います。
今回このような記事を書いた理由が、発注企業様からの問合せをいくつも受けていて、IT専門家の立場としてお役に立てたいという想いでいます。そのため次のようなサービスを始めました。
ご興味あればご覧ください。
今回の場合であれば、業者選定のお手伝いや業者選定後の進め方、といった点でお役に立てられると思います。
この記事を読んで少しでも思い当たるフシがある方は、ぜひご相談いただけたら幸いです。