GitHub issueによる個人開発プログラミングの高速化

個人開発のスピードを上げるためにすべき事

個人開発していて開発スピードが上がらないことはありませんか?

開発したい内容をタスクとして整理したり、タスク粒度を適度に小さくする事で開発スピードを上げられる場合があります。

前提条件

  • プログラミング経験はある
  • 技術的な事はネットを検索して自分で解決できる

本記事では、この疑問を解決します。

本記事の内容

  • 開発内容をタスクとして整理する方法がわかる
  • GitHub issueを使った開発ワークフローがわかる

f:id:rydeenworks:20191230162741j:plain

photo credit: ben_nuttall Octocat @ GitHub's Oval Office via photopin (license)

著者について

この記事を書いている私はプログラミング歴15年です。 個人開発歴は3年で、会社員をしながら2つのアプリをGooglePlayにリリースした実績があります。

f:id:rydeenworks:20191027224859j:plain

1 GitHub issueを使った開発タスク整理

1.1 開発タスクを箇条書きで書き出す

まず最初にGitHub issueに登録するために、開発タスクを箇条書きで書き出します。

以下の理由があります。

  • 頭の中にある開発内容を書き出すことで整理できる
  • 開発タスクを並べることで優先順位をつけられる
  • 開発の全体ボリュームがなんとなくわかる

紙に書き出しても良いですし、PCにテキストで書いても良いです。

1.2 開発タスクの粒度を半日程度の規模に分割する

個人開発は時間との勝負です。 そして開発することが目的ではなく、リリースして初めて意味があります。 そのためにも開発タスクの粒度は半日程度にしてください。

以下の理由があります。

  • 開発に着手するときのハードルが低い
  • タスクが小さいので開発の中断と再開がしやすい
  • タスクをcloseするまでの時間が短くて達成感を得やすい

1.3 開発タスクをGitHub issueに登録する

私が個人開発している「図書さがし」を例に issue を登録します。

https://github.com/rydeenworks/MyBookSearch/issues

初期状態

f:id:rydeenworks:20191230162845p:plain

[New issue]ボタンを押します。

issue作成画面が表示されるので、issueのタイトルを記入します。 詳細な情報はコメント欄に記入できます。 記入が終わったら[Submit new issue]ボタンを押します。

f:id:rydeenworks:20191230162901p:plain

ボタンを押すと issue が登録されました。

issue 登録後

f:id:rydeenworks:20191230162923p:plain

1.4 issueに優先順位をつける

その機能は本当に必要ですか?

個人開発は時間との勝負です。

  • あなたが開発に投入可能な時間
  • issueの開発に必要な時間

上記の2つの時間のバランスを考えて、リリースに最低限必要な機能を選んで開発しましょう。

f:id:rydeenworks:20191230162956p:plain

まとめ:開発スピードアップのためにはGitHub issueでタスク化!

記事のポイントを以下にまとめます。

  • 開発内容をGitHub issueでタスク化する
  • タスクは半日程度で終わる粒度にする
  • リリースに必要なタスクを優先度決めて片付ける

こんな感じです。

参考

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)