前回の記事でなんとなく作りたいサービスの概要は頭の中で整理できました。
今までの経験上、アフィリエイトサイトでもプログラムを使ったサービスでも最初にしっかり企画をまとめておかないとめんどうなことになる。。
何を作るか明確にしておかないと、あれもやりたい、これもやりたいと収拾がつかなくなる……
そんな経験を活かし、この記事ではちょっとしたウェブサービスを作りたいと思ってる人に情報をシェアしたいと思ってます。
とは、言うものの僕は初心者に毛が生えた程度なのであまりコアなことは書けないかもしれない。
なのでこの記事は、
今までウェブ系の書籍を何冊か読んだけど、どうしたらいいかわからない人。。
つまり脱初心者向けの記事になってます。
言語の書籍を買うのはもちろん重要ですが……
僕はPHP関連の書籍を何冊か読みプログラムの勉強をしました。
その甲斐があって、最近ではなんとなくフォームを作ったりmysqlと連携させたりできるようになってきました。
入門書に書かれてる内容はある程度理解できます。
でも実際サービスを作ろうと思うと「?」となってしまいます。
今までAPIを使って横断検索みたいなものを何度か作ってみたことはありますが、
「だから何??」
って感じです。笑
そんな経験の中、思うことが、
実際にコードを打ったりデザインをしたりする前がかなり重要ってこと。
なんとなくではじめてしまったら途中で
「あれもしたいし、これもしたい」
「うわ、最初からプランにいれとけばよかった」
「後から自分の書いたコード見たら意味がわからん」
ってなります。笑
そうならないためにも開始する前の段階が重要です。
まずは書籍で勉強する
ウェブに関するプログラムなどの書籍をたくさん持ってます。
プログラミング自体のスキルをあげることは言うまでもなく重要ですが、実際にコードを打ち込む前の段階が重要です。
本棚を調べてると今回の企画にドンピシャな書籍があったのでそれを片手に作業を進めます。
【Webサービスのつくり方】は、個人(もしくは少人数)で簡単なウェブサービスを作ろうと思ってる人はぜひ読んでほしい書籍です。
構成がシンプルでわかりやすいです。
●Webサービスのつくり方の構成
第1章 心構えと下準備
第2章 企画
第3章 設計
第4章 開発
第5章 プロモーションと運用「第1章 心構えと下準備」では、Webサービスを作るにあたって何かと準備したほうがよいことをまとめました。筆者が体験した、よい意味でのハッカー文化にも触れています。次に、サービスで一番大事な「何を作るか」について、「第2章 企画」で解説しています。「第3章 設計」は、企画ができてからプログラミングをはじめる前の段階における最低限の設計作法について取り上げ、そして「第4章 開発」では、極力言語に依存しないようにしつつ、いくつかの開発にまつわるトピックについて、コードを掲載しながら紹介しています。
サービスアプリケーションができたら、いよいよ公にリリースしますが、その際に大切なプロモーションや運用、チューニングについて解説を、最後の「第5章 プロモーションと運用」の章に収録しています。●Webサービスのつくり方からvから引用
ただ、第1章は少し難しいので読み飛ばしてもいいと思います。
立ち読みしたら難しいと思って置いてしまうかもしれないので注意が必要です。。
もし立ち読みするなら2章を読んでから買うか買わないか決めてください。
第1章ではperlという言語について書かれてます。
第1章を読んで
「うわ。perlって何?難しそう!」
とか思って、置いてしまうのはもったいない書籍です。
2章は企画について書かれてます。
本書で定義されてる【企画】とは
②アイデア
③テーマ
④コンセプト
⑤名前
⑥デザイン
⑦内部設計
です。
詳しくは本書に譲りますが、書籍を元に僕なりに企画を書いてみました。
自分用に書いた企画書なので箇条書き程度です。あまり意味がわからないかもしれませんが、気にしないでください。笑
ちなみに、【Webサービスのつくり方】ではiPodを例にして【企画】という概念を詳しく解説してあります。
【Webサービスのつくり方】で定義されてる【企画】を元に作成してみた
①哲学
個々人が持っている、特定の興味に関する揺るがない気持ちのことです。
サービスやアプリを作る原動力の根底になります。●Webサービスのつくり方からP53から引用
すべての人には何かしらの目標が必ずある。
目標を達成したときの快感は誰もが知ってる。
②アイデア
哲学を叶えるための個別の具体的なアイデアです。一つのサービスやアプリ、プロダクトに対してたくさんのアイデアがあってよいでしょう。
●Webサービスのつくり方からP55から引用
- 目標達成のアイデアを見つけられる
- シンプルで使いやすく(技術もないので複雑なものは作れない……)
- あらかじめ決められた目標から選ぶ
- 目標を達成したい人、情報提供側、運営側すべての手間がかからず、みんな得
- 目標を達成したい人、情報提供側、運営側が共同で記事とかかけないだろうか
③テーマ
テーマとは、哲学をより具体的にした、勝負する領域のことを言います。アイデアを出して行く過程などで固まっていくことが多いものです。
●Webサービスのつくり方からP55から引用
検索エンジン(って言うか、検索エン人。。。アナログな作業になりそうだ。。)
テーマを決めることは重要だと感じました。
なぜなら、テーマを認識することで、同じテーマの既存サービスやアプリを調査することができるからです。
④コンセプト
アイデアがたくさん出て、テーマも定まったならば、自ずと何をつくるかのイメージが頭の中に浮かぶはずです。それを一言で表したものがコンセプトです。
●Webサービスのつくり方からP56から引用
目標達成のアイデアをピンポイントで検索できる
⑤名前
そのプロダクトやサービス、アプリの名前を決めるのは、非常に重要なことです。焦る必要がありませんが、なるべく早い段階で名前を決めておくことをオススメします。もちろん仮でもよいです。
●Webサービスのつくり方からP56から引用
名前:MOKU-DB
⑥デザイン
デザインというと「見た目のデザイン」が思い浮かぶかもしれませんが、それだけではなく、全体のディティールを詳細に決めていく作業です。
●Webサービスのつくり方からP57から引用
今、第2章を読み終えたところですが、現時点ではデザインについて詳しく解説されてません。
システム等のデザインについては他の書籍があるのでそちらを参考に思考したいと思ってます。
記事はまた後でポストします。
⑦内部設計
Webサービスならば、情報を区分けしてデータモデルを記述する、物理的な観点とソフトウェア的観点を合わせて大きな枠組みを考えるアーキテクチャ図を書く、といった作業です。
●Webサービスのつくり方からP57から引用
【Webサービスのつくり方】では内部設計については、ユースケースを作成することを推奨してます。
恥ずかしながら、ユースケースと言う言葉は本書を見て初めて知りました。。
【Webサービスのつくり方】での解説を元にユースケースを作成してみました。
ユースケースとは、大まかに定義すると、ユーザーから見たシステムの振る舞いをさします。今まで考えてきた企画に伴って、これからつくるWebサービスはこのような機能をユーザーへ提供すべき、という観点から描かれた機能の一覧とも言えます。
●Webサービスのつくり方からP68から引用
僕が作成したユースケース↓
僕の作成したユースケースを見てもらえばわかる通りユースケースと言う概念は非常にシンプルで使いやすいものだと思いました。(深く掘り下げると違うものかもしれませんが……)
ユースケースについては【Webサービスのつくり方】では軽く解説してる程度ですので、関連書籍を買ってみるのもいいかもしれません。
第3章ではデータベースについて書かれてます。
データベース設計は少し難しい気がします。
データベースに関してはもう少し勉強して設計したいと思ってます。(って、言うかもう疲れました。。。笑)
ここまでざっと書いてきましたが、【Webサービスのつくり方】はウェブサービスを作る前の段階を固めてくれる書籍です。
僕のように、ウェブサービスやサイト・アプリを作ってはみたもののごちゃごちゃになってまとまりがつかなくなった経験がある方には是非読んで欲しい書籍です。(と言うか、まずはこの記事のごちゃごちゃっぷりをなんとかせねば……orz)