george's ぶろぐ

読者です 読者をやめる 読者になる 読者になる

保守運用チームのためのカンバン

この1年以上、保守運用チームのリーダー的な立場をやってきたので、重点を置いた取り組みをまとめます。だいたいのことは カンバン: ソフトウェア開発の変革 に記載されいることをそのまま流用しているだけなので、読んだことのない方は是非読んでみて下さい。


作業の仕掛り数に制限を設ける

1人が担当するタスク数を最小限に減らし、1つのタスクをまずは集中して完了させてもらうようにしました。カンバン: ソフトウェア開発の変革 には着手中のタスクを仕掛り(WIP:Work-in-progress)という言葉で定義しています。
今の保守運用チームには顧客からの問い合わせやシステム障害などいろんな方面から続々と連絡が来るので、その度に来たタスクに対して少しずつ手を付けてしまい、結局は何一つ終わらないという状況でしたので、まずはこれからはじめました。

そのためのツールとして、Redmineを利用し、メンバー毎に今着手すべきタスクが何であるか、明確に見えるようにしました。

f:id:whippet_818:20170210200124j:plain:w700

Redmineカスタムクエリ を使用してメンバーごとにグルーピングしました。担当してもらうタスクをリーダーがメンバーに割り振ります。割り振るタスクは2~4個を目処に運用しました。


チームが持つタスクを見える化する

チームメンバー全員がそれぞれの役割と他メンバーの状況を把握するため、現在の作業状況とこの先1ヶ月間の予定を共有できるようにしておく必要があります。
保守運用チームという特性上、インフラ関連の障害やアプリの不具合修正、見積依頼等あらゆるタスクが色々なところから降ってきます。それらをすべてのタスクをRedmineで管理し、加えて1週間単位のざっくりとした見通しを中日程と呼ばれるもので管理しました。


優先順位付け

仕掛りの制限を設定するためにも現時点でどのタスクが優先であるか決める必要があります。この優先順位付けの会議を毎週定例で開催し、マネージャーまたはプロジェクトによっては顧客と実施します。会議の調整コストを下げるため、参加する人数が多ければ多いほど定例化が必要です。
会議の場では、例えば予定外のタスクをお願いされた場合「では、その予定外のタスクを最優先に対応するので、この部分のタスクは着手を遅らせます」などといった会話を行い、チームとマネージャー(顧客)間で合意形成を図ります。その際に共通の認識を持てるよう見える化した資料を使用して報告を行います。

チーム作業ではメンバーと協力しながらプロジェクトの状況を把握し、タイミングごとに現実的な最適解を割り当てる必要があります。また、マネージャーや顧客といった、多くのステークホルダーと折り合いをつけながら双方の意見をまとめながらプロジェクトを進める必要があります。
チームの状況を出来る限り透明にし共有することで、マネージャーや時に顧客が強力な協力者になっていくはずです。


メトリクスとマネジメントレポート

ただ単にタスクを消化させるのでなく、チームが今どのような状態であるかを客観的に確認する必要があります。日常的に仕掛りやリードタイムをトラッキングし、チームが効率的であるか、または改善の余地があるかどうかを判断します。

すべてのタスクをRedmineで管理しているため、そこからログを出力し簡単な表計算で状態を可視化します。

f:id:whippet_818:20170210200056j:plain:w650
発生したタスクと完了したタスクを積み上げたグラフです。8月初旬から完了タスクの割合が増加していることがわかると思います。実は8/5からチームに対して仕掛り制限を明確に実施したことで、どんどんタスクが完了するようになりました。


f:id:whippet_818:20170210200108j:plain:w650
こちらは仕掛り~完了までの平均日数を表したグラフです。これも積み上げのグラフと同時期のもので、仕掛り制限を開始した8月初旬から明らかに日数が短縮できているのがわかるかと思います。
あとタイトルにはリードタイムと記載していますが、正確には、これはプロセスタイムが正しいです。顧客にとっての本当の価値はリードタイムの短縮にあり、保守運用チームにとっても「リードタイムをいかに短縮させるか」にすべての価値を置いています。


ふりかえりの実施

定期的に立ち止まり、メンバーで今の状況を振り返ることで常に改善を図ります。メンバー全員から良かったことや悪かったこと、そして改善したいことをヒアリングし、チームへフィードバックします。その際に客観的に状況を確認するために上記のレポートを見せ、問題があった部分などを掘り下げます。


まとめ

いろいろとチャレンジしていますが、まだまだ改善できることや中途半端になっているところもあったりします。またチームの特性によっても結果にバラつきでると思うので、実態にあわせた様々なパターンをこれからも考える必要がありますね。