孤独のスクラム-個人開発でのgithub運用-


孤独にスクラム

個人開発をしているとチームで開発しているときと違って別に運用ルールを決めなくても好きに開発できてしまいます。むしろそれが好きで個人で開発している人もいると思うんですが、個人でも開発をスムーズにやりたい、タスクをもっとスマートに管理したい、あれってどんな実装したんだっけ?とかが増えてきました。個人的に

  • 個人開発でもリズムをもって開発したい
  • 実装内容のアーカイブ
  • 作りたいもののスケジュール、タスク管理

をしたいなと思って個人開発でどういう運用がいいのか考えてみました。

孤独のスクラムの目的

孤独のスクラムはチーム開発で行っているスクラムとは目的を別にします。チームでの共有や見直しではなく、複数レポジトリをまたぐバックログの生成とそのログの振り返りやすさを重視します。そういう意味では厳密にはスクラムじゃないんですが僕が孤独のスクラムという言葉を使いたいのでここではスクラムといい切ることにします。ちなみにスクラムの下記を抽出してきています。

  • かんばん方式
  • バックログ

スクラムの肝であるチームでの運用見直し(スプリントでの見直し)などは相手がいないのでもちろんなし!(悲しい)

孤独のスクラムでは下記を目的に運用します

  • やりたいことの整理(バックログの生成)
  • かんばん方式で複数のプロジェクトを俯瞰してみる
  • 実装内容をあとで振り返りやすくする

あとからどう実装したのかを見れるように

「実装内容をあとで振り返りやすくする」これが一番肝かなと思っていて個人開発でめんどいのが昔書いたコードでどうやって動いているのか思い出せない場合です。めんどい。まじで。いくつも趣味的にコードを書いているとまじで思い出せない。これ誰書いた?ってなってしまうので辿れるようにしたいというのが一番のモチベ。

複数のレポジトリを横断してみたい

次が複数のプロジェクトを一人で書くので複数レポジトリのissueを横断的に見たい。会社だとむしろ分業されて1つのレポジトリばかり見る人が多いかもだが個人での活動は複数にまたがる人も多いはず。これを一括管理したい。

実際の運用方法

実装方法を残すための運用

issueにはある程度まとまった機能単位で書いて、commit自体は細かく切る。issueにcommitのidをコピペしてそのcommitで参照したドキュメントや記事もissueに記載しておく。そうするとあの機能ってどう実装したっけ?が振り返りできる。

単発のcommitならこれくらいのシンプルなもの

横断運用のためにzenhub運用

zenhubってそもそも何やねんという人はこのページを見よう。

zenhubを導入すると複数のレポジトリを一つのカンバンで管理することができる。

(チェックを付けたレポジトリのissueだけ見れる)

結構コードをいろいろ書きたいけどissueの管理が大変になってきて、でもレポジトリわざわざ開くのめんどくせー、githubのprojectはレポジトリ内のissueしかかんばん方式に管理できねー。となってこの形式を取ることにした。

アドバイス求む!

と、いろいろ書いてみたが。正直個人開発の運用これでいいのかなーと悩んでいる。でもこれ考えるためにスクラムとか勉強し直したのはいい勉強になった。こうやってるよーとかこうしたほうがいいよーというのがあったらぜひ教えてくれい!