2015年3月15日日曜日

チケット駆動開発を読みました。

チケット駆動開発を読みました。

この書籍を読んでも今の職業ではあまり役に立たないわけですが、個人プロジェクトでgithub、bitbucketを利用しているので、チケットの登録の仕方(頻度、粒度など)が分かればいいかなと思って読んでみました。

書籍では主にRedmineを使ったプロジェクト管理について記載がされていたと思いますが、特にRedmineでなくても問題なく実践できると思います。

さて、チケット駆動開発で何をサポートしようとしているかというと、

  1. 経緯の保存
  2. ToDo管理
  3. 備忘対策
  4. 開発後の振り返り
  5. 進捗管理
が全てなのではないかと思いました。確かに、Excelでの管理だと、経緯がわかりにくいとか、進捗がどうなっているのかを把握するのが非常に困難ですが、チケットで管理していると後で検索すれば追跡することも可能だと思います。(開発の仕事をしていた時は、この経緯の説明に非常に苦労した記憶が…。しかも経緯を説明した後、前提を覆すというようなこともあったりしたし…。それが悪いとは言わないが…。)
また、チケットがcloseされないことにより、作業が漏れる可能性が低減されることも重要なポイントだと思います。


それから、チケットとcommitを紐付けておくことで、チケットに書かれている内容についてのディスカッションの経緯や変更したソースコードをまとめてみることができたりするのもチケットの長所かもしれません。

その他にもチケット駆動開発をいきなり取り込んでも、用途が定まっていないとうまくいかないということで、最初はBTS(障害管理)から取りいれてみる事がいいだろうと再三書かれていました。
個人的には、とりあえず、作業内容をチケットに登録してみるというところから始めると良さそうな気がしています。
(ある個人的なプロジェクトではbitbucketでチケット駆動開発を行っています。仕事の性質上、作業が滞ってしまう事があるので、備忘対策としては非常に優れていると感じています。)

ちょっと読んでてしんどかったのは、最後の方で事例紹介のページがあるのですが、少し事例が多かった気がしたので、チケット駆動開発の方法が紹介された後で事例のページを読み進めるとしんどいかもしれません。(特に私はこういう開発手法の経験はないのでイメージが湧かないのかもしれませんが)

最後に、今もウォーターフォール型のプロジェクトが多いと思いますが、限界を感じている方におすすめですが、この書籍に書いてある、「アダプタブル・ウォーターフォール」という章があるので、これを読んでみてはいかがでしょうか。

大まかに説明すると、ウォーターフォール開発の中で、計画外のことが発生した時に、チケットを登録しておいて、開発作業を進めるというものです。
仕様変更などが発生すると仕様書に反映されるのに時間がかかることで、対応状況がよくわからなくなるという事が経験上よく発生していたような気がするので、チケットにより変更の状況がわからなくなるということが防げるのはいいのではないでしょうか。