ravelll の日記

よしなに

担当サービスの Issue を 600 個くらい Close した

この1週間くらいで 600 個くらい Issue を Close した話です。

やっていたところたまたま id:hitode909 さんが Issue を閉じる話をされていて、弊社もアウトプットする気持ちとなりました。

背景

今携わっているサービスはコードベースが 30 リポジトリくらい(小さなサービスが 10 個くらい、botバッチ処理等の小さなプログラムが 20 個くらい)に分かれている。Issue は情報の分散を避けるため専用のリポジトリ1つにだけ立てるよう決められている。

ある日、Open な Issue が 1000 を超えた。KPI、営業、バグ、改善案、問い合わせからの調査依頼、個人のメモなど、多様な Issue が茂っていた。棚卸しをしよう、という話から1日で100個以上の Issue が Close されることもあったけど、すぐに元の Open 数に戻っていった。

これにはずっと嫌だなあと感じていた。自身の担当領域を超えてサービス全体の動向を俯瞰することが難しいし、対応すべきなのか否かが Issue から汲めず author に直接聞く、という流れが面倒だった。

そんな日々がしばらく続き、多少強引にでも遮二無二 Issue を Close していくぞという気持ちになった。

ルールを決めて合意を取る

Issue を立て得る人は30人前後いる。その上で継続的に不要な Issue が放置されないようにするためには、職種問わず万人が Issue を不要と判断できる共通の条件を定めるのがよいと考えた。

そこで以下のルールを考え、サービス関係者全員に共有し、確認と合意を求めた。

  • 1ヵ月以上更新のない Issue は Close してよい
  • 1ヵ月以上の更新無しに Open にしておきたい場合は backlog タグを付ける

結果、多少議論があり、以下のルールを加え、合意が得られた。

  • Close 時にはタスクが完了したわけでなくルールによって Close する旨をコメントすること
  • backlog タグを付けた Issue も3ヵ月更新がなければ Close すること

合意とは言っても関係者全員から ok_woman されるのを待つみたいなことはしていなくて、以下のフローを経た時点で反対者が出なかったことを合意とした。

  • 関係者全体が気付けるよう周知した
  • 不満がある場合はコメントするよう求めた
  • 関係者がコメントをするに十分な期間待った

大 Close 祭り

正式にルールを施行できたので、いよいよ Close を始めた。

施行してから1週間を経たずして、800 ほどあった Open な Issue は 195 まで減った。それによって何か問題が起きたとは今のところ聞いていない。放置されていたものの対応する必要があった Issue もいくつか閉じてしまったけど、これをきっかけに再動し完了されたりしたので良かった。

まだ日が浅いので単に放置されているだけなのか近い将来対応予定なのか区別が付かない Issue も多くあるけど、1ヵ月経って完全に輪廻すればいい感じになるんじゃないかと思う。あと、今はほとんど自分が Close してるので、関係者全員に意識が根付けばいよいよゴールという感じがする。

まとめ

Issue 閉じていくぞ!!!!!