僕がアプリをつくるときのフェイズを整理してみた

ここのところ1週間で1つくらいの良いペースで小さなアプリとか便利ツールをつくっていて, なんとなくアプリ開発におけるフェイズの感覚が身についた気がします.(行程というほどく詳しくないのでフェイズと呼んでいる.)その様子を3つに分けて整理してみました.

Firefox

■0を1にするフェイズ

まず作りたいものをイメージする. 作りたいものベースで思いつくときもあるし, 解決したい問題から逆算して作るものを決めるときもある.

いくつか面白そうなものが浮かんだところで自分の周りの人に話して感触を得る. 「もしこんなアプリあったら使う?」みたいな感じで人に聞いて, 反応の良いのものを作ることにする. 話のなかで機能とかデザインも決める. しっかり作りたいものの場合はペーパープロトタイプを用意することもある.

この段階で何もなかったところにアイデアと完成イメージができあがる.

■1を8にするフェイズ

実際に手を動かして機能を組み立てていく. 必要な機能を列挙して, 環境を構築して, コードを書く. 絵を描く. どんどん組み上がっていくのが実感できるのでこのフェイズが一番楽しい.

集中力が続けばこのフェイズが1日で終わるし, ものによっては2ヶ月くらいかかることもある. 便利ツールやスクリプト, iOS/Androidアプリのデモであれば一気に作るし, がっつりつくるアプリやWebサービスなら毎日少しずつ進める.

この段階でイメージだったものからプロトタイプが完成する.

■8を10にするフェイズ

ここからアプリのクオリティを「公開できるもの」のレベルまで上げる作業が始まる.

きちんと例外処理を書いて, 細部にまでデザインをあてて, 始めて触った人でも操作できるように説明を加える. このフェイズが最も大変. パレードの法則のように, ここまではさくっと進むのだけれどこのフェイズが一番時間が掛かる.

ようやく完成すれば, めでたくリリース.

■整理してみて気付いたこと

アプリ開発に必要な技術はたくさんあるけれど, それらは各フェイズのスキルのなかに分類できると思う.それぞれを「0→1にするスキル」「1→8にするスキル」「8→10にするスキル」とするならば, 自分は「0→1にするスキル」を持っていて, 「8→10にするスキル」が不足している. つくりたいものはどんどん見つかるしあれこれ手を出すのだけれど, 8の段階で満足してそこから10までもっていけてないアプリがたくさんある.

「8→10にするスキル」を身につけるために, プログラミングに関してはオブジェクト指向やデータ構造の扱いやセキュリティなど今まで疎かにしていた内容をしっかり勉強したい. デザインに関してはパーツの切り貼りだけでなく自分で絵が描けるようになりたい.

また一方で, アプリはリリースしたら終わりではない. その後の保守やアップデートを置き去りにしがちなので, 今まで作ってきたアプリ(最初に作ったやつとか結構やばい)を今一度見直して, 多くのひとに長い間にわたって満足してもらえるようなアプリやサービスを開発できるよう心がけたい.

■関連記事:

Comments are closed.