こんにちは、SREチーム エンジニアの西脇(@yasuhiro1711)です。今日は、チーム運用改善の話をしたいと思います。これからチーム運用をしていく方々に少しでも響けばいいな、参考事例になればいいな、と思って書いておきます。ちなみに、テーマを変えて続編も書く予定ですので楽しみにしてもらえればと思います。
チームに課題が出て来た
私のSREチームはこれまでは2人と少数精鋭でした。そこに昨年全く違う背景を持つメンバーが入って来ました。(ちなみにSREチームに改名した件も近々どこかで書こうと思います。)最初は仕事のやり方を変えずにやっていたものの、仕事が増えて連携する場面が増えると、2人のときの阿吽の呼吸だけではどうしても回らなくなることが増えてきました。他にも思考のすれ違いなど幾つか課題が出始めました。項目にするとこんな感じです。
- 少数メンバーのため、人に依存したタスクが多かった。
- チームメンバー同士での現状把握が出来ていない。
- タスクの可視化や優先度の把握が不十分。
- ロードマップの優先度付けも弱い。
それぞれこれまでやれてなくて出て来た課題なので、向き合って進めればいいのですが、
さて、どうやって解決していくのが楽しいか。やるなら楽しく進めたいものです。
そうだ!
うちはRedmineを使ってるので、
Redmineをフル活用すれば、「あーして、こうして」、結構いいかも。
と思いつきました。思いついたら吉日。即日動きました。
Redmineを活用しよう
Redmineでチームの課題に対して何ができるか。それと、チームの運用はどうあるべきかを情報収集して考えて、以下を活用してみました。追加したプラグインは3つだけです。
「カンバン方式」を導入しよう
課題感から、一番にやりたかったことは、「カンバン方式」を導入することです。
昨年オライリーから出版されている、あの書籍でも有名ですよね。
O’Reilly Japan – カンバン仕事術
https://www.oreilly.co.jp/books/9784873117645/
この書籍の中でもかかれていますが、「カンバン方式」を取り入れると効果のある状況というのは以下のような状況です。
- 納期によく遅れる
- 見積もりが不正確なことが多い
- チームは仕事に追われている
- 優先度がよく分からない
- 色々なところからチームに仕事がくる
- 誰が何をやっているのかよくわからない
あ、まさにチームの状態かもー。混乱状態だ。と思いました。
プロジェクトも1人ずつで複数抱え、その中で全サービスの運用・障害対応も入り、購買やセキュリティ対応、パフォーマンスチューニング等もしているので、仕事の幅が広く、複数人でプロジェクト全体を見通すのはなかなか大変な状況でした。
今回は、「カンバン方式」導入にあたり、Redmineでは有名なプラグイン
Redmine Agile plugin
http://redmineup.com/pages/plugins/agile
を利用しました。
slack連携しよう
これはやりたかったからやってみました。 slack連携もプラグインで簡単に可能です。通知を飛ばすことで、チケットやwikiなどの更新情報を入手しやすくなりましたし、地味に他のメンバーからの通知が多いと、「こんなに仕事進んでいるのか」とよい刺激を受けます。
Redmine Slack
https://github.com/sciyoshi/redmine-slack
工数管理を自分でしよう
チーム運用だからこそ、工数の概念と、工数のレベル感をチームで共通認識で持つために、全てのチケットを工数管理していきます。
有名なこのプラグインを導入しました。
Redmine Work Time plugin
http://www.redmine.org/plugins/redmine_work_time
Redmine運用ルール
これらプラグインで実現できる小技もたくさんありますが、それよりもまず、チームの共通ルールを作りました。
1、会社で時間を使う事を全てをチケット化しよう。
プロジェクトタスク、運用タスクだけでなく、個人の技術検証や、個人目標への取り組み、場合によっては、業務には関係ない社内タスク 等まで、メンバーが会社で時間を使うことになるタスクすべてをチケット化して見える化をします。もちろん、このブログの記事執筆もチケット化しています。
こうすることで、業務チケットでチームメンバーに進捗が伝わるのはもちろんのこと、個人タスクもチームのRedmineで管理することで、仲間が今、何を目標に頑張っており、何の技術を追求したくて仕事をしているのか分かりやすくなり、チームメンバー同士で支え合うことができます。
2, 定例ではやってることを語り合おう。周りに刺激を与え合おう。
現在、週1で定例をしています。そこでは「カンバン」を見て進捗確認し合います。
まずは各自の完了チケットの報告から始めます。自分が完了させたタスクを胸を張って自慢、説明してもらいます。毎週、メンバーがどれだけのチケットをどのように完了させているかを聞かされるので、顔には出さないものの刺激をもらってモチベーションアップになってます。
モチベーションアップ以外にも、ミスをなくす、いろんな考え方を知る、再発防止を進めるなどとても良い運用につながります。
説明完了したものはその場で「完了ステータス」から「確認済み」のステータスにする運用にしているのですが、数が多いほど、カンバン上でドラッグ&ドロップしていくのは快感を覚えますw その後は担当中タスクの進捗確認、新規案件の話などもしますが、チケット数が多すぎるのでできるだけ短時間で、ポイントに絞って進めます。 全員で全体を見ることになるので俯瞰的に物事を見られるようになります。人に指摘されて初めてわかることも人間には絶対にあります。そんな主観を客観に変える作業でもあります。
3, 予定工数と工数の記録を適当でいいのでつけよう。
これ、今までやっていないと正直面倒です。でも適当でいいので、「実施タスクにかける工数見積」と「実際にかかった工数」は記録をするようにしています。適当というのが大事です。入力の精神的コストを下げるために必要だと思っています。できるだけ、自然に記録を付けられるように入力ルールをシステム化したり、お互い指摘したり、一度記録をつける癖をつければ、少しずつ苦ではなくなってきています。(まだ苦ではあります)これはメンバーには自分の見積の精度をあげていくのに役立ちますし、マネージャーからするとチームの生産性を考える上で非常に有効なデータとなります。
導入の結果
運用を変更していった結果、成果が出てきました。
仕事が見える化された。
隠れて見えなかった仕事が見える事で、誰が何をどのくらいしているのかが、Redmineを見ればわかるようになります。 チケットの進捗さえ見れば、急な代打案件でもこなせます。
タスクの流れが明確になった。
ワークフローでステータス管理することで、仕事進捗が良いのか、悪いのか、どのステータスで止まりやすいのか。また、外部のチームからの仕事の依頼から完了の確認までのフローが分かりやすくなりました。また、WIP制限をする事で、メンバー同士で仕事量を調整し合う文化も生まれました。
※ WIP制限とは、担当中のタスクの上限数を決定し、それを超えないように運用していくことです。数を抑えるよりも、「xxさん、業務多くない?」って会話が生まれたりするのが意外と大事です。
メンバーの自主性が大きく伸びた。
全員がリーダーのように、主体的・自主的な動きをたくさん取るようになったと感じます。それにより小さな情報でもチケットやコメントに情報が集まるようになり、情報整理の時間が短縮できています。また、他のメンバーのタスクへのコメントも活発になり結果、チームで品質が上がっています。
変化していくことを楽しめるようになった。
この運用をしていると、改善していくことを楽しめるようになります。何かを進めて成果になることが楽しくなってきます。
チームの信頼度アップ
お互いのタスクが見えていることは、自然とお互いの信頼度を上げていきます。この運用をしていると自然に信頼度は上がってきました。
以上の結果から、最初の課題を見直してみると、、
- 少数メンバーのため、人に依存したタスクが多かった。 →クリア!
- チームメンバー同士での現状把握が出来ていない。 →クリア!
- タスクの可視化や優先度の把握が不十分。 →クリア!
- ロードマップの優先度付けも弱い。 →クリア!
よーし!
今回は2ヶ月ほどの日々の改善でここまで出来ました。
また次の新しい課題も見えてきたので、次回はそこへの取り組みもお話しできたらと思います。
まとめ
今回チーム運用改善をしてみて思うことは、「仕事や成果が見える化することは、周りに刺激を与える」ということです。人は刺激をもらってモチベーションに変えて動く生き物ですので、刺激が大事というのが改めてよく分かりました。今回はチーム運用改善のハシリですので、もっと運用経験を貯めてどんどんブログでも公開していきたいと思います。 工数もつけているので、今後は作業のリードタイムやスループットをはじめ、生産性アップに注目して見てみたいと思っています。
Wedding Parkでは一緒に技術のウエディングパークを創っていくエンジニアを募集しています。
興味のある方はぜひ一度気軽にオフィスに遊びにきてください。