[#TiDD]失敗しないチケット駆動開発 - プロセスモデリングの視点から+告知 -
チケット駆動開発はうまくいく人と失敗する人がおられる様です。これまでは必勝法しかお話ししていませんでしたが、失敗しない方法を説明します。
必勝法
開発プロセスを変更してチケット駆動開発を導入するのですから、それによってプロセスが改善できないといけません。問題点を明確にして、その解決法としてチケット駆動開発を導入します。
とはいえ、チケットシステムとして用いるITSがどのようなものかわかっていないと、難しい運用をしてしまいかねません。まずは障害管理にITSを導入するなどして、どのような機能があって、どのくらい面倒かを見極めてください。
障害管理で使うと、現状の問題も見えてくるでしょう。情報の共有、連絡の遅延、ゴールに対する齟齬などの問題や、計画道理に進まないなど。これらの問題点を明確にしてリズミカルに開発することで作業漏れが減り、協力してゴールに向かうチームズくりなど、チケット駆動開発の基本的な良さがわかるでしょう。
その上で、タスクに関する問題を見極めてタスクを管理してください。多くの場合は障害管理と同じ様に情報共有の問題ですので、制約の少ないワークフローでも効果が得られるでしょう。
机上では失敗する
チケット駆動開発の失敗パターンで多いのは、興味を持って始めたものの面倒臭くなってやめるパターンです。
たとえば、チケット駆動開発のプラクティスには“No Ticket, No Commit !”というものがありますが、これをチケットとコミットを1対1にするルールだと間違えている人が多い様です。
障害管理でITSを使った経験があるなら、チケットは障害票である事に気付くでしょう。そして、複数のコミットの履歴がチケットに残る事で、
- 一つの障害の解決には色々な修正が必要だったこと
- 最初のコミットに漏れたファイルも必要だったこと
- 結合テストの準備でデグレがみつかって同時に修正しないといけないファイルが見つかったこと
などがわかります。ここまでのコミット履歴が一つのチケットに残っていることで、類似の障害を修正する際の参考になります。個別にチケットを発行してはいけない事がわかるでしょう。
コミット毎にチケットを発行するのが面倒臭いのはあたり前です。このように役に立たないのですから。
ITSはプロセス支援ツール
実はチケット駆動開発をした場合、ITSはプロセス支援ツールになってます。プロセス支援ツールは定義されたプロセスモデルに従って支援をしますので、プロセスモデリングをしないと効果を得る事ができません。
問題が明確であれば、その点を中心にモデル化してあとは自由度を高くすれば良いでしょう。しかし「どうもうまくいっていないので少しでも良くしたい」といった場合には、どのような支援が可能かを知っておく必要があります。
ここで参考になるのはプロセスモデリングのゴールでしょう。
- 人間が理解する事
- プロセス改善
- プロセス管理
- 自動実行
- 自動ガイド
* Bill Curtis, Marc I. Keller and Jim Over, Process Modeling, Communications of the ACM (Impact Factor: 2.86). 09/1992; 35(9):75-90
プロセスモデリングはプロセスの見える化です。見える化する事で、プロセスを伝え、改善し、管理し、自動化し、ガイドする事が可能になります。
ただ、気をつけないといけないのは、問題になっているところだけでなく、問題でないところもモデリングが必要なことです。
問題となっているところは、問題を解決できる様に厳密に、あるいは、より自由度を高くすれば良いでしょう。問題でないところは、AS-IS、つまり現状が基本です。
プロセスモデリングをする際は、ついついこってしまいがちで、色々とコントロールしようとしてしまいます。しかし、プロセスには慣性力のようなものがあり、人間が新しい事に慣れるには時間がかかりますので、現状からあまり替えない方が良いと思います。
続きは勉強会、チュートリアルでもお話しします
では、プロセスモデリングのゴールはどのように実現すればよいか。それがわかれば、うまくプロセスをモデリングできることがわかるでしょう。このブログでも紹介していくつもりですが、近々まとめてお話しする機会がありますので、是非ご参加ください(チケット駆動開発の3要素につづく)。
2015年8月29日(土) @大阪(ヒルトンプラザウエスト)
RxTStudy(Redmineとタスクマネジメントに関する勉強会@大阪) #13
「Redmine再入門 〜達人に学ぶRedmineの徹底指南〜」
https://rxtstudy.doorkeeper.jp/events/28631
2015年9月16日(水) @東京(東洋大学 白山キャンパス)
ソフトウェア品質シンポジウム 2015 併設チュートリアル
チケット駆動開発入門 ~基礎から応用まで~
http://www.juse.jp/sqip/symposium/timetable/tutorial/
スライド抜粋:ウォーターフォール開発におけるチケット駆動開発 -ウォータフォール開発をアダプタブルにする-
« 標準プロセスに隠れたお化けと定量的な品質評価 - 優先席でのスマホ - | トップページ | [#TiDD] チケット駆動開発の3要素 »
「チケット駆動開発」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- [#TiDD] ポケモンGOにチケット駆動開発のポイントを学ぶ(2018.05.01)
- [#TiDD] プロジェクトを成功させるチケット管理(2017.07.02)
« 標準プロセスに隠れたお化けと定量的な品質評価 - 優先席でのスマホ - | トップページ | [#TiDD] チケット駆動開発の3要素 »
コメント