個人開発のアプリを完成させる3つのコツ

投稿日:

こんにちは、okuzawatsです。
昼間は仕事で、夜は個人で、スマホアプリを作っています。

以前、ツイッターで「個人で作っているアプリを完成させるコツ」みたいなツイートをしたところ、意外なほどリツイートが伸びました。
個人でアプリを作っていると、アプリを完成させるだけでも一苦労です。
皆さま、そういったところに悩みを抱えているのかもしれません。

個人アプリの開発で一番大切なことは、
「モチベーションの維持」
だと思います。

個人アプリが完成しなくてストレスを抱えている方、多分にモチベーションの維持に苦労しているものと思われます。
私見ですが、モチベーションさえ維持できれば、アプリは自然と完成に至るものです。

そうだとすると、個人開発のアプリを完成させるために大切なことは、
「いかにしてモチベーションをマネジメントするか」
ということになると思います。

いかにしてモチベーションをマネジメントして個人開発のアプリを完成に導くのか。
個人でアプリを開発してリリースしてきた経験をまじえて、ひとつ書いてみたいと思います。

小さく作る

個人で作るアプリは、「小さく作る」ことが基本だと考えています。

時間もお金も人手も制約された個人アプリ。
ちょっと風呂敷を広げると、開発期間がとても長いものになってしまいます。
開発期間が延びると、それだけモチベーションの維持が難しくなります。

最小限の機能を実装した「小さなアプリ」をとりあえずの目標とすることで、開発期間を短くし、リリースまでのモチベーションを維持することが簡単になります。

アプリをとりあえずリリースすれば、アプリに対するユーザーからのフィードバックが得られます。
また、リリースしたこと自体から得られる成功体験は、精神的な安定をもたらします。
いつまでたってもリリースできないアプリほど、精神を削るものはありません。

アプリの規模感としては、1〜2ヶ月でリリースできるくらいがいいかなと思います。
それくらいの期間であれば、集中力を維持できるのではないでしょうか。
長くても3ヶ月でリリースしたいです。
それ以上長くなると、集中力を維持するのが難しいです。

とりあえず最小限のアプリをリリースした後、アップデートをしていくといいのではないでしょうか。
(この部分は、書いている自分自信できていないので、自省を込めて)

テーマを絞る、機能を絞る

アプリを「小さく作る」ためのコツのひとつは、テーマを絞ること、機能を絞ることです。

例えば計算機のアプリであれば、

「縦向きの時は普通の電卓、横向きの時は関数電卓」

というアプリを作るよりも、

「縦向き固定にして四則演算ができる電卓」
「関数電卓機能はそのうち追加する」

という方が圧倒的にリリースしやすいですね。

最初のリリースでは、最低限の機能だけ実装しましょう。
機能の追加は、リリース後のアップデートでやりましょう。

その方が、モチベーションの維持が楽になると思います。

とりあえずリリースする

高い完成度を目指すよりも、とりあえずの完成度でリリースしてしまいましょう。

マーク・ザッカーバーグも言っています。

Done is better than perfect.

リリースしてからでも機能追加はできます。

コツコツと作る

何事もそうですが、コツコツと続けることが大切です。
個人アプリの開発も、その例外ではありません。

もっとも、そのコツコツと続けることが難しいのですが...。
この度、コツコツと開発を続ける画期的な方法を発見しました。

その画期的な方法とは、こうです。

毎日、1行でもいいからコードを書く

毎日、1行でもいいからコードを書きましょう。
実際のところは、毎日というのは難しいとしても、週に3〜4日は個人開発のコードを書けるといいかなと思います。

例えば、メソッドを1つ作るとか、バグを1つ潰すとか、その程度でもいいので進めましょう。

それくらいの気構えでいると、作業を始めやすくなります。
仕事から帰ってきて、ご飯を食べて、お風呂に入って...。
その後に個人開発のアプリを作り始める気力は、なかなか出てこないものです。
できれば横になってマンガでも読みたい、というのが本音でしょう。

でも、「1行だけコードを書くか」というくらいの軽い感じならなんとかなります。
1行書けば、もっと書けます。
精神的なハードルは、最初の1行がもっとも高いのです。

休日にまとめて作らない

「毎日、1行でもいいからコードを書く」の対極にある考え方。
それが、「休日にまとめて書く」です。

これは絶対にうまくいかないと、断言します。

平日5日間、毎日働くと疲れます。
週末にずっとアプリ開発をしていると、疲れているため作業がはかどりませんし、翌週の仕事に差し障りが出てきます。
そうなっては本末転倒です。
週末は休息をとって、しっかりと英気を養うべきです。
しっかりと休めば、また仕事も個人開発も頑張ろうという気力も湧いてくる、というものです。

また、週末はいろいろ予定が入りがちで、毎週必ず週末にまとまった時間を開発にあてられるとは限りません。
1週間、間があくと、作業と作業の間に2週間の空白ができてしまいます。
次に何をしたかったのか、思い出すだけでも大変です。
2週間、何の進捗もない、という状況もストレスになります。

週末にまとめて開発する、という考えは破綻します。

もちろん、アプリ開発の作業をしてはならない、と言うつもりはありません。
むしろ、週末もアプリ開発の作業はすべきです。
ここでは、「休日にまとめて」という考えを捨てるべき、ということを言っています。

それよりも、毎日少しでもいいからアプリを開発できるようにした方が、効率的にも、精神的にも、絶対に良いです。

草駆動開発(KKK)のススメ

わたくしが
草駆動開発(KKK)
と名付ける開発手法は、
「毎日、1行でもいいからコードを書く」
「休日にまとめて作らない」
をシステマチックに実現する仕組みです。

2017年現在、Gitはバージョン管理システムのスタンダードになっているかと思います。
同時に、Gitのリポジトリを管理するためのツールとして、GitHubが人気です。

GitでCommitして、GitHub上のリポジトリにpushすると、GitHubに草が生えます。
このGitHubの草、ある日に作業をしたかどうかが可視化できて、とてもモチベートされて良いです。

githubの草

これがGitHubの草です。

GitHubに草を生やす作業は、とても中毒性があります。
そのため、GitHubに草を生やし続けることで、

  • 毎日コツコツと開発を継続したくなってしまう
  • 1コミットでもいいから作業をしたくなってしまう
  • 今日は何を、明日は何をコミットしようか常に考えるようになってしまう

という状況が生まれます。

このモチベーションに基づいて開発を進める手法が、わたくしの提唱する
草駆動開発(KKK)
です。

草駆動開発(KKK)を進めるに当たって、1点、注意があります。

GitHubの草、デフォルトでは、Privateプロジェクトだと草が生えない設定になっていた気がします。
設定を確認して、Privateプロジェクトでも草が生えるようにしておきましょう。
後から草を確認して草が生えていなかったりすると、やる気が急低下してしまいます。

わたくしはやっていませんが、GitHubのプロジェクト上でIssueを立てるだけでもGitHubに草が生えます。
コードが書けない日でも、作りたいメソッド、作りたいクラス、作りたい機能、潰したいバグなど、Issueを立てるといいです。

草を生やし続けられるので、モチベーションが維持できます。

健康第一

仕事をしている人がプライベートでアプリを作る、という状況であれば、アプリの進捗よりも健康の方が大切です。

平日に無理して夜遅くまで作業したりしていると、次の日の仕事に支障が出ます。
仕事に支障が出ると、今度は個人開発にしわ寄せが来ます。
無理して作業してもいいことは一つもありません。

また、身体に負担をかける生活が続くと、かなりの確率で体調を崩します。
身体に負担をかけても体調が崩れない場合、それは単に運が良いだけです。
睡眠時間を削って開発する、などということは絶対にやめましょう。
体調を崩したら、個人開発どころではありません。

体調が良ければ頭も冴えてきて、良いコード、良いアイデアが浮かんでくるものです。
疲れていると、元気な時なら一発で気付くバグの原因把握に何時間もかかったりして、効率も悪いです。

毎日少しずつ開発を進め、決して無理はしないようにしましょう。
どうしても疲れている時は、アプリのことなど忘れて休みましょう。

短期的に無理をして作業を進めるよりも、長期的にはこの方が絶対にいいと断言します。

アプリの開発よりも、食事、運動、睡眠を優先し、健康第一で過ごしましょう。

まとめ

「個人開発のアプリを完成させる3つのコツ」として、自分の考えをまとめました。

そのコツは、

  • 小さく作る
  • コツコツと作る
  • 健康第一

です。

あらためて書いてみると当たり前のことのような気もします。
でも、こういう感じでモチベーションを維持できるようにしないと、なかなかアプリが完成に至らないです。

実際、わたくしが開発の途中で放棄したアプリは、上で書いた方な原則にどこか反していたような感じです。

開発するアプリを小さくして、コツコツとコードを書き、健康を維持できれば、アプリの完成はグッと身近なものになるのではないでしょうか。
自分自身も、コツコツとアプリを作っていきたいと思います。
近いうちにひとつリリースしたいです。

引き続き、よろしくお願いいたします。

茨城県つくば市在住のAndroidアプリエンジニアです。Androidアプリ開発に関して何かあれば、メールフォームからお問い合わせください。できる範囲でお答えします。

メールフォーム

-プログラミング

Copyright© Androidアプリ開発@つくば , 2017 AllRights Reserved Powered by AFFINGER4.