webサービスを作る際にエンジニアではない経営者だったら発注すると思います。今回はどう発注したらコストを抑えられるかについて解説していきます。エンジニアでも経営者でもある筆者が非エンジニアの方にも分かりやすく解説していきます。
開発会社に依頼するか、個人に依頼するか
まず、多くの人がwebサービスをつくりたい!と思ったら開発会社に依頼しようと考えますが、ここが間違えです。意外とwebサービスというのは機能を絞れば一人でも作れるのです。アプリの場合は個人でiOSもandroidも作るのは難しいのですが、webの場合は個人でもできる可能性があるので、個人に依頼することも視野に入れましょう。
開発会社は担当者によって当たり外れがあるのと、エンジニア以外の人の人件費も乗ってくるので個人より高くなりがちです。できるだけ私だったら個人に対して指名で発注します。
個人だとトラブルが起こりやすいのでは?と思うかもしれませんが大丈夫です、会社でも起こります笑
どこで見つけるか?
個人のエンジニアを見つけられる場所は下記になります。
- crowdworksなどのクラウドソーシングサイト
- 知り合いの紹介
知り合いの紹介が一番安心ですがない場合、twitterで探すのをお勧めします。クラウドソーシングサイトよりもその人の発信やブログなどからの方が人となりが分かるからです。
また、クラウドソーシングサイトだとベトナムなどからのオフショアも多いです。その際は言語コミュニケーションがスムーズかも気をつけた方がいいです。
相見積もりをしよう
これは開発に限ったことではないですが、相見積もりを取りましょう。複数からの提案を受けることで相場がわかったり、考慮漏れがなくなります。また、相手に他にも交渉していることを伝えることでちゃんとした金額にしようというプレッシャーにもなります。
もちろん相見積もりと知って向こうはあまりいい気がしないかもしれません。(あなたじゃなきゃダメですって言われた方が嬉しいですし)ただ、それよりも比較できることなどのメリットの方が大きいです。
作りたい機能を明確にする
次に大切なのが作りたい機能を明確にするということです。当たり前でしょ、と思うかもしれませんが多くの人ができていません。ECが作りたいです!とかで止まっています。それぞれの部品、1動作ごとにまとめる必要があります。
例えばtwitterのようなサービスの場合、
- ユーザー登録機能
- tweetを投稿する機能
- tweetにfavする機能
- ユーザーをフォローする機能
などに分けます。ECやSNSなどでも機能自体はまちまちで見積もりというのはこの機能で大きく変わります。
ここで非エンジニアなのでどの機能が必要かわかりませんという意見をよく聞くんですが、技術力は必要ないです。あなたがユーザーとしてどの機能が欲しいかを明確にすればいいです。
何を作るのかとどう作るのかは違います。どう作るのかは確かに技術力が必要なのですが、何を作るのかはあなたがユーザーとしてどんな機能が欲しいかです。そこを明確にしてもらえればあとはどう作るかは開発側が決めることです。上記であげた機能は全部技術力がなくても思いつく機能です。
有名な技術にする
これは非エンジニアの方には分かりにくいかもしれないですが、メジャーなフレームワーク、プログラミング言語を使うというのも重要です。
フレームワーク・・・railsなどwebアプリケーションでよく作られるものをあらかじめ揃えておいた枠組みです。大体のwebサービスがこのフレームワークの上に開発しています
プログラミング言語・・・rubyなどプログラミングを書くための言葉
というのもかける人が少ない言語だと探す際に大変になるし、頼める人が少ないということは価格も市場の原理で高くなりやすいです。
上記が2022年のランキングですがCなどwebアプリケーションには不向きなものも多いです。日本でwebアプリケーションを作るなら
- 言語はrubyでフレームワークはrails
- 言語はphpでフレームワークはlarabel
あたりが多いかなと思います。
できるだけアプリを避ける
iOSアプリ、androidアプリを範囲に入れると途端に工数は増えます。というのもそれぞれにエンジニアを集める必要が出てくるからです。iOSもできてandroidもできるなどアプリエンジニアで複数のプラットフォームができる人というのはあまり見たことありません。難易度高いのでつきっきりになっちゃうのとアプリってある程度大きな会社ばかりなので分業制になりやすいんですよね。なのでアプリエンジニアはアプリ特化型が多い印象です。
mallentなどのフレームワークは一長一短
mallentなどCtoCマーケットなどがすでにできているパッケージを元にするというのも一つの手です。ただ、個人的には長期間webサービス運営する場合、デザインのテーマなどと違い、すでにできているからこそコードを書きにくいみたいなところもあるのであまり好きではありません。
本当にやりたいことがmalletで全てできる!という場合は検討してもいいかもしれません。色々カスタマイズしようとすると余計コストがかかる可能性があります。
これもコードを書いたことない人からは分かりにくい感覚かもしれませんが、エンジニアにとってはできているものに追加でコードを書くのは結構負担です。
よく途中までできているから楽でしょ?みたいなことを言う経営者の方がいるのですが、逆の場合も多いです。むしろ一から書いた方が楽だなみたいな。