パラノイア

ハードワーク信者 & Apple信者

スタートアップしたいけど開発経験のない起業家×エンジニアのための開発ワークフローとプラスα

すでに開発経験が豊富なエンジニアや起業家ならサービスを作ろう!と思い立ったら、どこから手をつければいいかわかると思います。 ただこれから起業やサービスを作ろうとしている人はまずそこがわからないんです。

まるで真っ白な壁の前に立たされているような感覚です。

以前「開発ワークフロー」という、とあるセミナー?授業?に参加させていただき、実際に開発経験が豊富なエンジニアの方が、アイデアから実装までどのようなプロセスで進めているのか聞かせていただく機会がありました。

speakerdeck.com

ということで、その内容も含め、どんなツールがおすすめか、僕の個人的な意見も含め一連の開発ワークフローを定義してみます。 すげーピンポイントな記事。

開発ワークフローって?

開発ワークフローといっても多種多様で、よくウォーターフォール型開発とかアジャイル開発とか聞きますよね。

ただそれは言ってみれば一つのテンプレートに過ぎないので、そういった既存のフローを自分にフィットするようにカスタマイズしていくのではないでしょうか。

ただ起業家や新しいwebサービスを作ろうとしているいわゆるスタートアップ野郎はそんなことが知りたいんじゃない。

僕らは逆説のスタートアップ風でいう、狂ったアイデアを思いついてから、実際にどのようにして設計、開発、リリースするのかってことを知りたい。

つまり手とり足取りゼロから教えて欲しいってこと。

ただいろんな記事をみてもちょうど良さそうなものがなかったんです。

つまり、ここでいう開発ワークフローは「起業したい人がアイデアを思いついてからどのようにリリースまで落とし込むのか」っていうフローの詳細です。

こんな記事執筆して暇人だと思われている方もいるかもしれません、ただ当ブログの記事が少ない、実際ぼくも少し開発ワークフローで悩んでた(想像力が足りなかった)。ってことを含め書かせていただきました。

ではさっそく開発経験のない起業家×エンジニアのための開発ワークフローの実行編へ進みましょう。

企画を考える

そもそもアイデアがなかったら何も始まりません。そしてビジネスの経験に乏しいぼくらがひらめく革新的なアイデアはどっかの誰かがすでに思いついてることがほとんどだと思うので、なぜ思いついたアイデアが存在していないのかを想像力を働かせて考えるべきですね。

ほんとに誰かが気づいていないだけなのか、既存の代替サービスで世界が満足しているだけなのか、そこがはっきりした時にひらめきベースのアイデアとしては合格なのではないでしょうか。

この時点で考えすぎても前に進めなくなってしまうので、それはいわゆる本末転倒。

スタートアップで重要なのはとにかく何かしらのアクションを起こしていくことです。それが静かなアクションでも問題ないと思ってます。まだ成功していないのでなんともいえませんが、それらしいことは成功する前から言っているからこそかっこよいと思うので。

少々雑談が多くなりましたが、まずはそのアイデアに対して問いかけることが必要らしいです。

  • 誰の

  • どんな課題を?

  • どう解決する?

  • 既存の代替品は?

  • 市場規模は?

  • なぜこのタイミングなのか?

  • あなたがやる意味は?

まー知るかって感じですよね。けれどかなり重要なのでここはしっかりと詰めておく必要があります。特になにかしらの課題を解決するサービスは大事です。

危険なのはまったく新しいサービスを作ろうとして、だれのためのサービスか謎のアイデアです。

そして特に重要なのは「あなたがやる意味は?」ってところ。これに関しては良い記事があったのでどうぞ読んでみてください。

thefirstpenguin.jp

7つの決定事項

これからが本題で、まずは7つの決定事項。

  • どのようなユーザーが使うのか
  • 何を達成したいのか
  • どのような機能があるのか
  • 類似サービスとの違い(差別化)
  • リリース日
  • 収益構造(ビジネスモデル)
  • プロダクト名

これらはかなりシンプルなほうが良いと思ってます。やっぱりおもしろいサービスってほんとに30〜40文字で説明できちゃいますしね。

機能定義

次に必要なのがプロダクトの機能定義らしいです。

仮にホテル予約サイトの場合はこんな感じ。

  • ホテル検索
    • カテゴリ別検索
    • シーン別検索
    • 絞込検索
    • インスタグラマーの口コミ検索
  • ホテル予約
    • フォーム予約
    • チャットボットによる自動予約
  • ホテル紹介動画シェア
    • SNSでシェアできる
    • 動画のタイムライン

とまー、雑ですがこんな感じで機能を出します。

とはいえ、すべて実装できるはずもありませんので、定義した機能の中から技術的・時間的に厳しいものなどを排除していきます。

画面構成

次は画面構成ですね。別に決まった方法はありませんので紙でも問題ない。というのがスライド。

ただイメージも結構大事なので、プロトタイプ作成ツール使ってもいいですね。

ツールもいろいろあって選定が難しいと思うし、探せばいくらでもでてくると思うので、僕のおすすめはこちらです。

無料で結構自由にいろいろできます。PC、モバイル両者におすすめです。

f:id:kawakensan:20170717183544p:plain Prototyping tool for web and mobile apps - Justinmind

使い方は頑張って覚えましょう。(簡単です)

この段階でリリースノートを書きましょう。

あとはデザインと内部設計

まだまだスライドの続きは長いのですが、書くのがつかれたのでこのくらいで。

基本的に実装は楽しいですが、その前に重要なのが設計。

  • どの機能が必要か
  • 機能実装のためにはどんな技術が必要か
  • 技術的な疑問点
  • どんな関数が必要か
  • 時間はどれくらいかかる

スケジュールを含め以上の設計が終了次第初めて実装(プログラム)を開始。

設計と実装は完全にわけないと後々余計に時間がかかるそう。実装中はすでに定義されているものを作るのみ。あまり考えないのがポイント。

こーゆースライドってありそうでなかなかないので助かります。

ではではみなさん企画と開発がんばってください。

ちなみに僕はチャットボットを開発しているので興味がある方はぜひ声をかけてくださいね。

DevelopWorkflow and Solving Problems // Speaker Deck

本家はこちらなのでぜひ。

次はFacebook Messenger Bot をNodeとExpressを使って作ってみる、といった感じの記事を書こうと思います。

あんまりよい日本語のチュートリアルがないのでね。