カラクリサイクル

『輝かしい青春』なんて無かった人の雑記

@yusukebeさんの「実装までにする7つの企画作業」を実践してみた

概要: 僕が今日猛烈にやっていた事で得た事


こんばんみ!

本日はいつも飲んでる薬をまるっと飲み忘れてなぜか元気いっぱいだった、 にゃるらこと岡村 直樹(24)です。それ元気なんじゃないよ!躁状態なだけだYO!

さて、それはまあいいとして、本日のお昼頃から、 前々から頭の中に構想はあるけど形になってないとある計画について、 猛烈な勢いで考えをアウトプットしていたのですが、 その時に、Erogeekとして有名な@yusukebeが以前に書いた、

というメソッドを元に、構想のアウトプットを行っておりました。

で、その時に、このメソッドを実践する上でのコツというか、 僕はこういう風にアウトプットを行っていくと、 頭の中にあるもやっとしたアイディアが形になっていく、 というのがつかめた感じがしたので、今日はその辺り書きたいと思います。

……と、その前に。

この記事はyusukebeさんの記事の内容を実践してみた! という記事なので、 先に先ほどリンクしたyusukebeさんの記事を読んでおかないと意味不明だと思うので、 先にyusukebeさんの記事を読む事推奨です。

実装までにする7つの企画作業のコツ

1. 哲学の考え方

これはまあ、俺はこのアイディアでこういう事をしたいんだ! という、いつまでたってもぶれない核の部分を決めればいいと思います。

あとこれを読んだ際、僕は、 Appleの元社員のガイ・カワサキ氏の企業関連の著書で言われていた、

マントラ(真言)を決める

そのものかなーと思いました。

カワサキ氏の場合なら起業、yusukebeさんの場合ならWebサービスと、 マントラを決める対象は違いますが、マントラとは、 その会社 or サービスにおいて、決して違える事のない、 核となる理念を一言で言い表したものです。

例えば今日僕が考えていた事で言えば、

きちんと管理された次世代掲示板を作る

というような。

2. アイディア

次、アイディアの書き方について。

これはまあ、最初はもやっとしたアイディアを書き出していくんですが、 この際に、

* システムは、すべてオープンソースで公開される
* システムは、Perlと同等のライセンスで提供される

* ユーザーは、Twitterとかのアカウントでログインできる
* ユーザーは、ログインした後、表示名とアイコンを指定する

という感じで、

* 〇〇は、ほげほげされる

という形で書いていき、また、関連しそうな事をまとめておくと、 あとでメモを読み返した時に、 その時思い描いた事が把握しやすくなるかなーと思います。

3. テーマ

これは1の哲学と若干かぶる感じですが、yusukebeさんの記事にもあるように、 どういった舞台で勝負するかという事を念頭に決めればいいと思います。

僕の場合だと次世代掲示板をオープンソースで作りたい、と考えていたんですが、 この場合、テーマは、

2chにかわる、新たな大規模掲示板群の作成

という感じです。

4.コンセプト

これはまあ実装したい事を一言で言い表せば良いんじゃないかと思います。

僕の場合だったら、

リアルタイムにコミュニケーションできる次世代掲示板

という感じ。

5. 名前

ぶっちゃけ僕の場合、これは一番最初に決めます。

今回の場合名前は秘密ですが、Webサービスにしろ何にしろ、 名前は、一番最初に決める、と後々の方向性も整うんじゃないかなーと思います。

6. デザイン

デザインっていうとWebサービスの見た目とかを連想しがちですが、 デザインとは本来、そのプロダクトの機能の設計だと思います。

つまりWebサービスで行うWebデザインとは、 画面に要素をどのように配置し、どういった導線でサービスを使ってもらうか、 の設計だと思うのです。

僕の場合、今日やった企画作業だと、

* トップページに掲載する情報は、
  * トップバー
    * タイトル
    * キャッチコピー
    ...

という感じで、どの要素をどの部分に配置するか、の設計を行っていました。

僕の場合、Webサイトを作る時なんかは、大体の配置を紙とかiPadのPaperとかで下書きする、 とか、あるいは、もう頭の中でレイアウトを大体決めて、 その場のノリで配置を決めていく、という感じなので、 細かいところまでつめたレイアウトデザインはしないんですが、 まあそれでも配置要素を書き出して、 どの要素をどこに配置するかを自分流のメモ書きでやってます。

7. 内部設計

これは今日の企画作業では途中までしかやってないんですが、 この項目では、

  1. どのサーバ環境にdeployするか決める
  2. どのプログラミング言語を使うか決める
  3. どのライブラリを使うか決める
  4. どのデータストアを使うか決める
  5. どういったデータをデータストアに保存するか整理する

と言った事を行えばいいかと思います。

僕の今日やった途中までの作業だと、

  1. とりあえずさくらのVPSにdeploy
  2. 言語はPerl
  3. Web Application frameworkはMojolicious使う
  4. データストアはMongoDB
  5. 2.アイディアで出したアイディアを元に保存データ構造を考える

という感じの事をしてました。

まあこれの順番はそうはこだわらなくてもいいと思いますが、 言語やライブラリ、データストアを決める際には、

  1. 使用する言語は自分がメンテしやすいか
  2. 使用するライブラリはメンテされているか
  3. 使用するデータストアは、使いたい言語でのサポートが豊富か

などを基準にすればいいんじゃないかなーと思います。

以上が今日つかんだコツでした

まあとりあえず以上が今日yusukebeさんのメソッドを実践した上で、 こうするといいんじゃないかなーと思った事でした。

今日初めてyusukebeさんのメソッドを実践して思ったんですが、 この方法、本当に優れていて、今まで形にならなかったアイディアは、 この企画作業がマズってたのが形にならなかった原因かなーとマジで思いました。 企画作業超重要。企画なしでもの作るとハマります>_<;

あとちなみに僕は今日企画を行う際に使ったアプリとしては、 SimpleNoteのクライアントになる、

を使い、Markdown記法を使って書いてました。ちなみにこのブログはMultiMarkdown使って書いてます。


もうそろそろ家事やんないと行けないんでこの辺りで記事は切り上げますが、 以上がyusukebeさんのメソッド、

を実践してみた時の感想とかでした。

まあ本当yusukebeさんのメソッドははかどるんで、アイディアだしに困ってるなら、 この記事を参考にやってみると良いと思います。

それでは。

ノシ