Linc'wellの改善デーという取り組みについて
Linc'wellの改善デーという取り組みについて
Linc'wellのバックエンドエンジニアの竹井です! 最近はフロント側も積極的に開発するようにしています!やったー!
好物はカルボナーラです! 趣味はゲームで、最近は原神と崩壊:スターレイル、OW2を楽しんでおります!
早速ですが今回の記事では、Linc'wellが2023年6月頃から取り組みを開始した、改善デーについて書きたいと思います!
改善デーとは?
Linc'wellでの"改善デー"とは、普段行っている業務とは別に、常日頃気になっているけれどなかなか手を加えられていない部分にメスを入れることを目的とした、保守性の向上、トイルの削除などを行う活動のことです。
例えば、Rubocopのルール見直したい……。や、普段のリリース業務の一部が昔は必要なフローだったけれど今はもう不必要だから省きたい……。とか、今更新されていないとある手順書を一度整え直したい……! などなどです!
こういった取り組みは、まぁ個々で時間取ってやろーや。と言っても普段の業務時間内だと取り組みづらかったりしますよね?
その作業が思いの他デカくなったりする可能性もあるので、時間を取ってちゃんと取り組みたい……っ!
そういった作業の時間を、月に1日まるっと時間を取って"改善"をしていく。これが改善デーでやること、改善デーの目的になります。
過去の改善デーで実際に竹井が行ったこと
過去の改善デーで私は、以下のようなことをやりました。
CoffeeScriptからの脱却
Bugsnagエラー通知のチャンネルが1つだったので、stagingとproduction用の通知先として2つに分ける
メインで開発しているリポジトリの、とあるディレクトリ内で管理しているLambda関数群を別リポジトリに分ける
退会者の発送物チェッカー作成 (エンジニアに調査を回さなくっても、CSさん側のみで確認が行えるように)
以前自分が作ったとあるフィーチャーフラグ (自作) を消す
とある機能の詳細ドキュメント作成 (別チーム引き継ぎ用みたいな)
フロントのリファクタリング
などに取り組んできました。
何回かは、ちょっと障害対応などでほぼ丸1日を使ってしまって改善デーに参加できなかったこともあるのですが、それはそれですね。
そういった緊急対応などはまぁ、しゃーない!
ですが、今こうして見てみると、結構な改善が出来ているのではないでしょうか。
改善デーはバックエンドエンジニアも、フロントエンドエンジニアも、SREチームも丸1日は自分がこれ改善したい! という案を出して、それに取り組む日としています。
ここに挙げたものはあくまでも自分のみの成果の一例で、自分以外のエンジニアの人数分こういった複数の改善が過去に行えているとなると、かなりの数の改善が行えていると思います。
改善デーの流れ
Linc'wellでは以下のように進行しています。
事前に 各々やることを決めておく
10:30 チェックイン
16:00 成果報告会
17:00 終了
こんな感じです。
事前に 各々やることを決めておく
これはチーム単位だったり、個々だったり、結構自由度高くやりたいことを考えておきます。
また、最初1つ目の改善はチームでやって、それをやりきったら個々に移りましょうか。みたいなこともやっているトコロがあったりします。
自由度高く好きな改善ポイントをチョイスできるようにしてあげましょう。 その方がモチベも上がる!
10:30 チェックイン
Gatherの屋上に集合して、チーム、個々に今日やることを以前は発表していたのですが──。
現在では、Slack上でやることを報告する。となっています。口頭での報告だと結構時間がかかっちゃって改善デーの貴重な時間を可能な限り増やすために現在はこの運用に落ち付きました。
〜16:00 まで
改善デーを満喫します!!
休憩は各自好きに取ってね! スタイルで、Gatherを使ってもいるので質問などもエンジニア同士で自由に行えます。
16:00 成果報告会
17:00 終了
お疲れ様でした。
終了です!
改善デー中、基本的に事業部やPdMからの連絡なども、緊急のものでなければ改善デー中にはしない。となっているので、もしもその日中に回答しておいた方が良い連絡や、明日の準備などがあればこの後くらいから着手することもあります。
だいたいの人は17:00過ぎくらいには退勤します。
1日中集中しきって疲れることもあらぁね。
改善デーを行って感じたメリット
安定性向上のための取り組みを行えること
やっぱり一番はこれですね。 日毎の開発業務では、こういった緊急性は高くないけれど、重要なものって事業インパクトが測りにくかったりして、なかなか手を付けられないと思います。
こういった時間を取れるということ自体に、すごく価値があると思います。
過去に、後でやろうと思ってたり、ちょっとした作業だから時間が空いたらやろう。と思って作ったものの、優先順位が上げられずに長期間放置することになり、後々見直しては「まぁ、良いか……」と消していったチケット、何個ありますか?
それがちゃんと解消できていくようになります。
個人の勉強の場にもなり得ること
基本的に改善デーで取り組むことは、自分発信で「これやりたい!」というものを出します。
つまり、普段の業務ではあまり触れていないリリース関連の処理で改善したい! と思ったとき、自分で調べつつ、SREチームのサポートも借りつつ進めることができたりします。
こういった興味のある分野や、元々興味はなかったけれど、日頃触っていない箇所について知るきっかけになったりすることで一人一人のスキルアップにも繋がります。
割れ窓理論の逆が起こること
改善デーという取り組みが月に1回確保されることで、リファクタリング……したいけれど、開発も……っ!みたいな時、スパッと「ここのリファクタリングは改善デーでやりましょうか」みたいな発言が出るようになります。
これが結構効いていて、例えばこの画面の遷移図作成したい。みたいな、今後必要そうだけれど必ずしも必須ではなさそうなものとかを有耶無耶にして結果誰もやらない。ではなく、興味ある人が積極的にボールを取りに行って改善できたりするようになります。
改善デーがあることで、その時間で何ができるか、何がしたいかのアンテナを皆が貼るようになるので、リファクタリングなども臆することがなくなります。
改善デーのデメリット
開発日数が減る
はい。改善デーは1日丸々時間を取って行います。
つまり、月に1日分、本来であれば出来た開発が出来なくなってしまいます。 これはデメリット……。だろうか。
まぁデメリットではあるけれど、どれ程痛いのだろうか。
月に1日と言えば、何か祝日がある月などを想像してみてみます。
だいたい月に1日くらいはある祝日の日は、1日開発が行えないと思います。 そう考えたとき、月の中で1日開発が進められないことに対して皆さんはどう思うでしょうか。
それがどのくらい影響ありそうでしょうか。
また、その祝日では本当に何も進まないわけではありません。
その祝日が来たとき、将来起こり得る何かの問題が解消したり、今まで週に1時間かかっていた作業が10分で出来るようになったりしていることを想像してみましょう。
んー。最THE高。
これは事業のフェーズだったり、状況だったりによると思います。
どのくらい痛いかは一旦置いておいて、デメリットはデメリットですね。
改善デーで大切だなと感じたこと
MTGなどは入れないようにしよう
改善デーは1日を使います。
つまり、その1日はMTGなども入れられないようにブロックして、基本的には改善に集中できるようにしましょう。
外部との定例などの例外的なものがあるときは、その限りではないですが、基本的には1日フリーに改善できるようにしましょう。
例外を基本的になくす
改善デーの日は、基本的には普段行っているような開発は進めません。
期限がタイトだったりでしょうがない時や、障害対応などがあってどうしても……みたいな例外はあれど、あれもこれも許していると改善デーが改善デーではなくなってしまいます。
仕方のない例外はあれど、それは例外であって当たり前にしてはいけません。
もしも障害が多いようであれば、リリース日の調整や、それこそ改善デーで障害を減らす取り組みを行っていきましょう!
取り組んだことを賞賛し合おう
改善デーで取り組んだことが思いの他デカくて1日で終わらず、結局目に見える成果としては……! くぅ! みたいなこともあったりします。
自分も、一部途中から他チームに渡すことになったり、全部終わりきらなかったので今回はここまで! 次回はこれのこの箇所やります! みたいなことがあったりします。
いいんです。改善デーがなければ、それは全く進捗せず後々大きな問題になったり、積み重なって工数を奪われていた箇所なんです。とりあえず前に進めたことを賞賛し合いましょうや。
改善デーを行ってきた感想
改善デー、めちゃめちゃ良い取り組みだと思っています!
改善デーがあるからこそ、普段からも「あ、これ改善デーでできそうだな、やりたいな」と思えたりもするので、今微妙感ある箇所にも気付きやすくなったりします。
割れ窓理論の逆。みたいな。改善を常々行えているからこそ気を向けられる。みたいな。
また、チームが分かれると自分の知らない領域がどうしても増えていったりしてしまいますが、どういう改善をしたのかの発表を聞くことでどういう問題が起こっていたのか、だったり今後どういうことに力を入れたいのかみたいな部分に興味を持つきっかけにもなったりします。
月に1日だけっちゃあだけの取り組みなのに、こんなに良いことだらけ! わーお! さいこ〜!
これからもLinc'wellはこういった改善の取り組みを続けつつ、日頃の開発業務などもスムーズに行えるように改善も平行して行っていきます!
おわりに
プロダクトの提供価値を高めるために開発していきたいエンジニアも、それを支える安定した基盤を作りたいエンジニアも絶賛募集中です。より詳しい取り組みを知りたい方、少しでも興味を持っていただけたら、まずは気軽にお話ししましょう!
最後まで読んでいただき、ありがとうございました。
\ Linc'wellはともに働く仲間を募集しています /