Hatena::ブログ(Diary)

u-ichiのにっき このページをアンテナに追加 RSSフィード

07年11月18日(日)

タスク管理について(チケット駆動開発の実践例)

http://d.hatena.ne.jp/ripjyr/20071118/1195342598

日常のタスク管理なのですが、ProjectKeeperだとレポジトリブラウザが無いのが致命的だったのと、人数的にシンプルな管理の方が良いということで、今はTrac使って運用しています。(DB環境を作るのが面倒だったっていうのもありますが。LAMPで動いてくれないと厳しいです。。。)

私の場合は以下のような感じで進めてます。(チームの規模は数人程度です)

ベースはまちゅさんのチケット駆動開発です。

チケットの作り方

  1. やるべきタスクをチケットとして全て書き出す
    • この際、予想される作業時間もメモる(Timing and Estimation Pluginを利用)。ちゃんと見積もっておくと、後述の週報・日報を作る際に楽出来ます。
    • ある程度の大きさでチケットを作っておいて、その中にチケットの説明文としてやらなくてはならない作業を細切れ化しています。(GTD的な発想)
  2. ある程度、期限が決まってるチケットに関しては、MileStoneで管理する
    • 最初から期限を細かく決めていっても結局達成が厳しい。それだったら全体として管理をしておいて、その中で重要度を決めたほうが良いという考えです。ある程度、大きな締め切りはまとまってる場合が多いので締め切り毎にMileStoneを作って管理してます。
    • 更に進んでバーンダウンチャートを使う手もありますがこれはまだ未着手です。
    • ガントチャートを使うプラグインもありますが、最初に全体感を見る目的以外には今のところはあまり使えてません。チケットを細かく区切った場合、いちいち入力するのが面倒だというのもありました。
  3. 作業の進捗などはチケットへのコメントで行う
    • 後からチケットを見たら作業がどう進んでいるかがわかるようになります。
    • コメントの際にその作業にどの程度の時間がかかったのかを簡単に入力できるので稼働時間の管理にも使えます。後から見直したときに、なんでこんなに時間がかかったのだろうかという振り返りに利用できるので極力投入するようにしてますね。
    • 更新情報はメールで伝える機能もあるけど、今のところはレポート+RSSで何とかなってます。更新順に表示するレポートは自分で作りました。明日、会社へ行ったときに本記事に追記しておきます。
  4. リーダー以外の人が主管となっている作業が終わったら、IRCで終了連絡
    • リーダーは内容を一通り確認して、問題が無いようであればclosed処理。
    • この辺はTrac0.11からワークフロー変更機能があるので、それを使えばよりシンプル化が出来そう。

日々の業務のまわし方

タスクを複数人で大量にアウトプットしているのでチケットの数が凄いことになります。

そのため状況を一定期間毎で再確認する事も兼ねて週報などを使い整理していきます。

これによって、次にどの作業をするのかという稼働を大きく減らすことが出来ます。

PDCAサイクルを自動で回る仕組み、という言い方も出来ますね。

週報編
  1. 週の頭、月曜日の場合は週報チケット([週報]07/11/19 u-ichi)を作ります。
    • どのチケットに着手してどのような着地点に持っていくのかを決めます。
    • ガントチャートを使っての管理をあまりやってないため、ここで直近のスケジュール感を認識するという意味もあります。
  2. 月曜日の午前中の間に週報の内容についてMTGを行い意識をあわせます。
  3. 金曜日の夕方にMTGの時間をとりその週の進捗状況について意識をあわせます。
    • この際に進捗が悪かった案件に関してはなぜ進まなかったのか、今後うまく進めるためにはどうしたらよいかを話し合います。

■週報イメージ(#〜と記入すれば自動でチケットへのリンクが生成されます。)

 title:[週報]07/11/19 u-ichi
 main: 
  * #1
   * 火曜日中に終わらせる
  * #2
   * 期限が迫ってるけれど、優先度は低いので水曜日までに。
  * #3
   * 今週中
  * #4
   * 出来ればやる
  * #8
   * 時間がかかりそうだけど、極力今週中に。
日報編
  1. 毎日朝一でその日に何をやるのかを決めて日報チケット([日報]07/11/18 u-ichi)を作ります。
    • 週報と同じくやることのイメージを作ります。
    • ここのタスクは基本的には週報から抽出します。週の間でチケットが増えた場合は、その週の中でやる必要があると判断した場合には週報にまず追記します。
  2. 朝一のMTGで日報の内容を口頭で確認した後にその日の作業へ着手
  3. 就業終了間際にその日に出来た作業の内容を確認し、1日が終了

■日報イメージ(#〜と記入すれば自動でチケットへのリンクが生成されます。)

 title:[日報]07/11/20 u-ichi
 main: 
  * #1
   * 今日中に終わらせる。出来れば午前中
  * #3
   * ソースコードを整理し、テストプログラムを作る
  * #8
   * 作業の進捗を確認する

プログラムドキュメント管理との連携

プログラムドキュメントの変更に関しては、post-commit hookを利用することでSVNコミット時にコメントを一定のフォーマットで記入すると自動でチケットと連動できる仕組みにしています。

これによって変更内容が何のための変更なのかがチケットと繋がるので作業の進捗状態が非常にわかりやすくなります。(チケット→チェンジセット、チェンジセット・リポジトリログ→チケットという双方向の流れが自動で生成されます。)

更に作業毎にコミットをせざるをえなくなり、コミットの頻度が高くなるので、作業内容のマージなどにかかる稼動も減らすことが出来るようになってます。その代わり、リビジョンナンバーは凄いペースで伸びていきますがw

まとめ

細切れしたタスクだけでなく、業務上のアイディアまで全てをチケットとして管理しておいて一括管理しておくと、チームの作業の見える化が一気に進みます。

他の人の作業やアイディアもたまに眺めると新しい発見があり、そこからより良い手が思い浮かんだりします。

欠点としてはチケットを作りまくらないといけないのでアウトプットをする時間が増えるという点ですが、これに関しては見える化メリットのほうが上回っていると判断しています。GTDも同じ考えですしね。

http://hidetox.com/blog/2007/09/22/issue_tracking_system/

こちらの記事で取り上げられているバグ管理システムを使った場合のデメリットに関しては日報・週報である程度カバー出来ているかなと感じてます。

又、一度書き出した上で会話をすることで頭が整理出来た状態で話せるし、マネージャー側の業務状況を見せていく事で全体的なタスクの状況を各自が追うことが出来るため、意識の向上にも繋がってます。


最後に今、自分がやっていて感じているメリットデメリットをまとめておきます。

メリット
  1. 稼働の分散化
    • 業務上のやりとりを全てチケット経由でやることにより、自動で業務状況の可視化が行え、PMにかかる負担が経る
    • 各担当者それぞれが他のメンバのタスクを見ることが出来るようになり、各自のモチベーション次第では業務範囲を広げる事も可能
  2. 業務進捗状況の見える化(対応履歴の過去への継承)
    • ドキュメントソースコードの変更履歴とチケットを連動出来るため、コードのコメントを極力シンプルに保ちながらも履歴はしっかり管理する事が出来る。何のために変更した、とか今までは残していくことがつらかった。
    • 開発の経緯が残る事で、逆にどんどんと経緯を忘れていけるというメリットもあります。
  3. 見るべき場所の集約化による情報収拾にかかる手間の減少
  4. 細かいタイミングでコミットをする事によるマージにかかる手間の減少
    • 作業毎にコミットをしていく事が強制化されるため、自然コミットのタイミングが早くなります。自分が作業をしている間に他の人が変更をしていて、後からマージするっていう確率が落ちます。
    • 意味不明なコミットも無くなる
デメリット
  1. クリティカルパスが何なのかを一発で見ることが出来ない
  2. 進捗状況をテキスト化する分の稼働が増える
    • 得られる効果から考えるとほとんど問題にならない

tidustidus 2007/11/19 12:59 はじめまして。shibuya.tracにメンバーとして追加されていたので、プロジェクトへ追加させて頂きました。プラグインを作成されているということなので、公開を期待しています(^^)
よろしくお願いします。

u-ichiu-ichi 2007/11/19 23:51 python自体を勉強しながら自分用に作ってるので表に出すまでには時間がかかりそうですが頑張ってみます。
後、Trac関連のドキュメントは出していきたいと思ってます。かなり仕事で助けられてますので。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

2003 | 08 | 09 | 10 | 11 | 12 |
2004 | 01 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2005 | 02 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2006 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2007 | 07 | 08 | 11 | 12 |
2008 | 02 | 05 | 06 | 07 | 08 | 09 | 10 |
2009 | 01 | 02 | 07 | 08 |
2011 | 11 |