僕の考える個人サービスを作るコツ

個人サービスを作るコツ」というエントリーがあったので、「本をさがそう」を作ったときに思ったことをまとめてみよう。
# Google「本をさがそう」を検索したら、トップだった!

元ネタはいかの通り。

1.ブラウザのホームページを自分の作っている最中のurlに
2.ドメインを絶対に取る。せめてサブドメイン
3.1週間以内に終わるようにする
4.100やりたかったら、まずはコアな部分だけ10つくる
5.内容よりも出す事を重視する
6.綺麗なコードなんて必要ない
7.デザインは先に作る
8.サービスに名前をつける
個人サービスを作るコツ

上記とかぶる部分はあるけど、僕の考える個人サービスを作るコツは以下のとおり。

僕の考える個人サービスを作るコツ

  1. ブラウザを立ち上げる前にeclipseを立ち上げる
  2. ドメインを取る
  3. 1日1機能実装する
  4. 最初はソースにコメントを書かない
  5. 悩むよりも、簡単にでも実装する
  6. 作りたい部分だけ、まず作る
  7. 動くようになったら、早く見せる
  8. 早い段階でリファクタリングする

解説

ブラウザを立ち上げる前にeclipseを立ち上げる

ブラウザを立ち上げてしまった時点で、負けだ。まずはeclipseを立ち上げて、やらなくてはいけないと自分にプレッシャーを掛ける。

ドメインを取る

ドメイン取得にはお金が掛かる。とってしまったからには作らなくては、と自分にプレッシャーを掛ける。

1日1機能実装する

コードを書くときは、最低1機能は実装したい。機能といっても、1メソッドでも1クラスでもよい。同じ機能に何日も掛けていると、モチベーションが下がるし、飽きてしまう。

最初はソースにコメントを書かない

短いスパンで書いている分には、自分のソースが読めなくなることはない。コメントを書く時間があれば、実装をするべきだ。
また早い段階からコメントを入れてしまうと、リファクタリングの障害となる。ソースを修正だけなら簡単でも、コメントまで修正するのを考えると嫌になってしまう。

悩むよりも、簡単にでも実装する

実装方法に悩んだら、ソースが汚くなっても、簡単な方法で実装する。悩むと飽きてしまい、コーディングが辛くなる。そんなときはまず動くモノを作るために割り切って実装する。

作りたい部分だけ、まず作る

誰かにスケジュールを強制されているわけではないので、まずは作りたい部分から作る。デザインでも、機能でもいい。好きな部分からはじめて、モチベーションを上げる。

動くようになったら、早く見せる

多少機能が足りなくても、動くのなら早く誰かに見てもらうべきだ。自分では思いつかないような意見がもらえるかもしれないし、自分の換わりにテストまでしてもらえる。

早い段階でリファクタリングする

ある程度完成度が上がってきたあとは、機能を追加するときに、まずリファクタリングをする。モチベーションが高いうちに、リファクタリングをする。完成度の高い機能などには、コメントを追加する。リファクタリングは、動くところまで確認する。リファクタリングの途中で中断してしまうと、わけがわからなくなる可能性が高いので、絶対やってはいけない。


僕はJavaしかできないので、基本的に生産性は低いほうだと思う。
Javaを選択したせいで、必要になってくる作業が多い。レンタルサーバでは動かせないので、自分でサーバを立ててLinuxTomcatの設定をしなくてはならない。ただ一度環境を作ってからは、比較的スムーズに進んだ。
環境構築はたぶん3か月くらいかかった。難しいわけではなくて、モチベーションの問題。
実装を開始してから、最初のリリースは2週間くらい。それからは1週間に1機能くらいをリリースした。
異常系の動作はすごく適当だけど、まあいいかとほっておいてる。
個人でサービスを作るのは大変だけど、仕事での開発では得られない経験がたくさんある(仕事ではほとんど開発はしていないけど)。仕事では得られないレスポンスもある。


そういうのがすごく楽しい。