個人開発を挫折せずに続けるために知っておきたいこと
個人開発をスムーズに始め、つまずかないためのステップやポイント、成功事例をご紹介します。
個人開発をスムーズに始め、つまずかないためのステップやポイント、成功事例をご紹介します。
知識・情報
2020/08/04 UP
- 開発
- 技術
プログラム開発が身近になり、個人で開発を始められる方が増えました。しかしノウハウを持たない方にとってはどこから始めたらいいかわからない、とっつきにくいものになってしまっています。
意外にハードルとなるのはプログラミングの技術力よりも、そこまでの計画や準備。しかし、この準備に時間をとらず、開発途中で問題が発生すると、結局余計な時間がかかることになりかねません。
ここでは個人開発をスムーズに始め、つまずかないためのステップやポイント、成功事例をご紹介します。
個人開発とチーム開発の違い
個人開発を行う場合、新しい技術の導入やスピーディーなリリースなど挑戦的な開発が行えます。認識合わせのミーティングも不要なので、コミュニケーションコストや管理費用も削減できます。
ただし一定のクオリティで開発が止まってしまう可能性があります。技術的な内容はフォーラム等への問い合わせで解決することができますが、そもそも開発スピードが間に合わず機能が足りなかったり、自分の設計に問題があった場合など、チーム開発と比較して多くの対応ができないことがあります。
当然こなせる作業量も限られるのでバグ対応やソフトウェア更新にも時間を要します。
それに対してチーム開発のメリットは短期間で規模の大きな開発を行えることです。メンバーが増えれば増えただけ、組めるコードの量も増え、他人から得られる新たな考え方で自分を成長させることもできます。
また、仕様とコードを複数人の目でチェックするので、バグを早い段階で検知し、品質の高い開発が行うことも可能です。
一方で、コミュニケーションコストが増える点には注意が必要です。作業分担の仕方やスケジュール管理の方法はもちろん、課題や問題解決の方法など、プロジェクトを進めるにあたってあらかじめ決めておくべきルールがあります。
コードの書き方も同じで、一定のコーディング規約に基づいてコードを作成しないと、書き方の差によるバグを引き起こしかねません。
動くプログラムが書けたとしても可読性の低い、メンテナンスのしづらいものになりがちです。参加するメンバー全員で共通認識を持った上で作業を進めましょう。
個人開発を行うメリット
会社員として開発を行う限り、会社のやり方に従う必要があります。システム自体の規模が大きくなりがちなため、複数人で作業しても同じ品質を保つために必要なルールとなります。
会社として責任を持った品質のシステムがリリースできるように、いくつもの会議体で承認を得る必要もあります。
重ねて、社外のシステムは当然クライアントが、社内システムであってもシステムを使う業務担当の方がいるため、その方々の要望も決して無視はできません。
一方で、個人開発なら自分の思った通りのサービスを作ることができます。自分で決めなければならない分、負担は大きいかもしれませんが、自分がいいと信じたものを作れるのは大きな魅力です。納期に余裕さえあれば納得いくまで開発を続けることもできます。
個人開発を行うためのステップ
個人開発は全て自分で決めていくことになるので、道筋を立てて行うことが重要です。
目標を決める
会社員として働いたまま個人開発を行うと、個人開発を行うための時間を作ることがどんどん難しくなっていきます。
モチベーションの高い開発序盤はまだしも、ひたすらソースコードを書いていく中盤に行き詰まって放置してしまったら、改めて取り掛かるのは至難の業です。
また、必死になってプログラムを書いていると元の目標を見失い、意図しないものができあがってしまうことになりかねません。
システムをリリースして収入をアップする、社会に必要とされているアプリを作るなど目標を明確にすることで、あえて時間を作る意思を継続させられます。
開発の方針に迷ったら必ずそこに立ち返る指標の役割も果たしてくれるので、目標の設定は必須です。
商材を決める
アプリかウェブかで開発方法が異なるので、どちらにするかは明確に決めておきます。
決める過程で判断したことは、そのまま開発の方針になるので、書き記しておくと、後から迷うことがありません。
収益化を狙うのにあたり、課金方法を決めておくことも重要です。課金の方法はさまざまあり、提供したいサービスによって向き不向きもあります。
システム自体は全て無償で使えるようにして、広告収入で稼ぐことも可能です。
開発を行う
不特定多数のユーザーが使用することを前提としているシステムであれば、ターゲットとするユーザーのニーズをしっかりと把握しましょう。
表面的な課題解決のみのシステムではすぐに使われなくなります。システムを使いたい意図を把握し、真の課題解決に努めましょう。
技術者としては新しい技術や難易度の高い技術を入れたくなりますが、それもユーザー目線で不要なら入れてはいけません。実際のユーザーに使ってもらってPDCAサイクルを回すことで、運用に即したシステムができあがっていきます。
個人開発を成功させるポイント
一人で作業する個人開発はその分挫折しそうなことも多くあります。事前に備えることで個人開発の成功率を上げられるポイントをご紹介します。
モチベーションの管理
細かい達成目標を立てる、消し込みのタスクリストで作業完了状況を明確にするなど、作業が進んでいることを実感できるものがおすすめです。時々は作業場所を変えてみるのも気分転換に繋がります。
食べていくための収入に直結していないとさぼっても問題がないため、なかなか進まなくなってしまいます。立てた目標にどれくらい近づいているかは常に確認しましょう。
目標自体が高すぎると短期間で無理をすることになりかねないので、無理のないレベル感に切り替えることも視野に入れます。
運用コストを考慮する
クラウドでサーバーを借りれば使用料はかかり続けます。オンプレミスで自宅にサーバーを構築しても、稼働させておくための電気代は必要です。
本番稼働を迎えてからデータ量が増えれば、ディスクの分だけ維持費も上がっていきます。
開発した後のセキュリティ対策やバグ対策、ユーザーサポートに近いような問い合わせなどやるべきことは多岐にわたります。それぞれにかかるコストを3年間や5年間の長い目で算出しておきましょう。
自分が使いたいものを作る
自分が課題だと感じていることを解決するためのツールは比較的作りやすいといわれています。
ニーズが明確であり、自分で編み出した解決方法を一つ一つ試していくことができます。ヒアリングに伴う時間のロスも認識の齟齬もありません。複数ユーザーに使ってもらうことも重要ですが、自分一人すら使いたくないものを、たくさんのユーザーが使うとは思えません。
まずは自分の思うニーズを取り込んだ上で、さらに改善すべき点を見つけるつもりでテストするユーザーを増やしていきます。
個人開発は準備が大事
個人開発を始めようとするとプログラミングだけに重きが置かれがちですが、そもそも何を作るかの計画や、作った後のメンテナンスの方法など、先に考えておくべきことはたくさんあります。
しっかり準備できていれば、開発時の大きな手戻りや途中での挫折を防ぐことができ、成功へと確実に進んでいけるでしょう。
自分一人だからと軽く考えずに、開発後、収益が上がるところまで見据えられているのが、個人開発を成功させる近道です。