最近だと主にアプリの開発ということが多いのですが、開発スタイルって色々ありますが、ここ数年、体になじんでいるものに、「チケット駆動開発」があります。
チケット駆動開発は、不具合だけではなく、タスクなども含めて、行う作業を全てチケットとして登録し、チケット単位でコミットを行います。SCMとチケット管理を連携させることで、コードの追跡もチケット単位で行います。
SCMには、Gitを使っているので、チケット単位でブランチを作るようにしました。そのおかげで、コミット自体はチケットの中で細かく行っても良くなりました。
数年、行って、やっと体になじんで、Gitの良さも感じられるようになってきました。最近思うのですが、このチケット管理という手法も語弊を恐れずに言えば、記録が残るということが最も重要な点だと思います。
開発中はチケット単位でタスクが管理されることで、現在の状況が整理されて、視覚化される。開発完了後は、どのように状況が推移していったかが検証できる。次のバージョンや関連する事象が起きたときには、当時はどうだったのか?何を行ったのかが記録に残っている。開発として重要な記録は、どのようなコード変更を行ったかだと思います。
そして、これらが蓄積されると資産になります。最近では、新しい機能の開発中に、影響することを調べるためや、特定のコードに対する理由を調べるのに、過去のチケットを参照することがあります。これも、チケットが蓄積されてきて、価値が出てきたからです。
今日も新しいチケットを登録していて、ふと、こんなことを思いました。
目次