こんにちは、料金プラングループでPHPエンジニアをしているヤシロ(@cw-yashiro)です。
料金プラングループでは先日、「保守day」という取り組みを開催しました。これは、1日かけて運用保守に関するチケットをこなす日です。
本記事では、なぜ保守dayを開催することになったのか、また開催によってどのような効果や課題があったのかをご紹介します。
保守dayとは?
保守dayとは、大量に蓄積された運用保守チケットをチームメンバーで分担し、集中的に消化する日のことです。現在、毎月1日間を保守dayとして割り当てています。
なぜ保守dayを開催することになったのか
料金プラングループは、「Chatwork」の決済・契約領域における機能開発を主担当とするFeatureチームです。
Featureチームについては、弊社田中の記事をご参照ください
Featureチームの開発スタイルでは、会社のロードマップに沿った機能開発が常に優先されており、開発者起因の改善活動が実施しにくいという課題がありました。
致命的なバグなどには優先的に着手できていたものの、機能開発よりも優先度の低い修正タスクには手が回らず、修正チケットはかなりの数がたまっていました。
また、プロジェクトマネジメントを担当するメンバーは、プロジェクトの進行に関する業務が多く、コードを記述する機会が不足しているというジレンマを抱えていました。
これらの課題を踏まえ、運用保守チケットを計画的に消化する機会として、保守dayの開催が提案されました。
保守day(準備編)
蓄積されていた保守運用チケットには、当時の開発者がメモ書き程度で残したものも含まれていました。そのため、保守dayの開催にあたり、チケットに着手できる状態にするための大規模な整理作業が必要でした。このチケット整理も、保守day実施における重要な工程です。
まずはチケットの内容を確認し、それぞれのチケットに対して難易度や影響度を決定しました。このチケット整理の時間も、週1回強制的に時間を確保し、定期的に実施しました。
保守Day(開催編)
保守day当日は、朝会で各自が取り組むチケットを宣言し、担当者がそれぞれのチケットを消化していきます。
保守チケットの集中消化日ではあるものの、強制的な消化ではなく、別タスクを優先するメンバーはそのタスクに取り組むことを許容するなど、柔軟な運用としました。
保守dayによる効果
保守dayの開催により、一定量の保守運用チケットを消化することができました。具体的には、1年ほど放置されていた不要なコードの削除などが実現し、効果を実感しています。
また、これまで課題を拾い上げる運用がなかったため、チームメンバーがどのような課題が存在するかを認知する機会にもなりました。
プロジェクトマネジメントを担当する開発者は、保守dayによってコードを記述する機会を得られ、満足している様子でした。
保守dayにおける課題と今後の展望
保守dayを複数回実施する中で、いくつかの課題も明確になりました。
現状、保守dayは1日間のみで行われているため、比較的規模の大きいチケットの消化に着手しにくいという課題があります。この課題の解消策として、チケットを分割し、複数回の保守dayに分けて実施するなどの対策が考えられ、現在その実現可能性を検証しています。
まとめ
料金プラングループでは、運用保守チケットを集中して消化する「保守day」を開催しました。
これにより、蓄積されていた保守運用チケットを一定量消化することができ、効果がありました。
一方で、規模の大きいタスクが1日で消化しきれないなどの課題もあり、今後はチケット分割などの取り組みを進めていく状況です。