0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

属人化脱却の事例紹介 「脱・属・人 」

Last updated at Posted at 2023-12-18

はじめに

この記事はトラストバンクAdvent Calender 2023の記事です。

パブリテック事業部 SREの大場です。
最近、るろうに剣心のリメイクを放映していますね。懐かしくてついつい見てしまいます。

……。

ここまででタイトルが何にかかっているかわかりますよね。
当然、斎藤一の「悪・即・斬」です。

……。

はい、それはさておき、、

SREとしての主な作業は、サービスの運用・保守、インフラ関連の改善、SLO導入などになりますが、現在、「リリース作業の属人化脱却」という大きな課題にも立ち向かっています。

まだ道半ばですが、ここまでの取り組みを紹介します。

背景

新規事業部として立ち上がって4年目になりました。当初は人も少なく、スピードを重視していたこともあるため、ある程度属人化してしまうことは仕方のないことだったように思います。

しかし、言うまでもなく属人化はリスクがあります。
その人がいなくなると業務が回らなくなるというのは当然ですが、チームが育たない、品質向上に限界があるというようなことも挙げられます。

徐々に人も増えチームで作業できる体制になってきたこと、長期化する障害が立て続けに発生したことをきっかけに、ちゃんとチームでリリースできるようにしようと、SREで担当することになりました。

状況

今回対象となるサービスは、OEMとして提供いただいたものをカスタマイズしてリリースしています。リリース当初から有識者に全面的にバックアップしていただいていましたが、そのリリース作業がブラックボックス化していました。

特にカスタマイズ作業は非常に難易度の高い作業で、それらを一手にお願いしている状況でした…。また、通常の開発とは違うOEMであるということの難しさというのもありました。

やったこと

SREチームで新規のリリースをするまでに、大きく3ステップで進めることにしました。

  1. 現状把握
    作業内容を理解し、何をしなければいけないかを把握する。
  2. 作業トレース
    過去のバージョン対してSREチームで作業をトレースし正しく作業できるか確認する。
  3. 新しいバージョンのリリース
    SREチームで新しいバージョンをリリースする。

現状把握

兎にも角にもまずは作業内容を把握する必要があります。
作業ログや過去のアウトプットはしっかり残していただいてましたので、それを読み解いたり、ヒアリングを通じて全体像を理解しました。slackには専用のチャンネルを作成し情報が一箇所に集まるようにしたり、特に初めは必要に応じて頻繁にMTGも開催しました。

有識者がチーム側に引き継ぐという意識ではなく、SREチームが主体となって有識者から引き継ぐ意識があったのが非常に良かったと思います。

トレース作業

ある態度作業内容が見えたところでトレース作業入りますが、作業を複数人で実施するということを考えた場合に大きな課題がありました。

  • カスタマイズ作業が想定以上に複雑
  • カスタマイズ箇所が多くレビューが大変

品質にも大きな影響を与えますので、Google Driveで管理していたリリース資材をGitHubに移行することにしました。このタイミングで既存の作業方法を変更するリスクもありますが、今回はメリットの方が大きいと判断しました。

OEMならではの難しさがここにもあり、branch戦略は十分に検討しました。
OEM側のリリースも定期的に実施されて都度提供いただきますが、こちらで実施しているカスタマイズは含まれません。そのため毎回同じようなカスタマイズ+αをしなければいけないのです。

結果、こんなフローになっています。
image.png

あまり見慣れた形ではないですよね…。

ここまで整理した後、実際にこのフローに基づき過去のバージョンに対して作業をしました。作業を通して、作業標準化のために手順書を作成したり、作業のノウハウを多く貯めることができました。正解があるので、自分たちのやろうとしていることが本当に正しいか確認できるというのはとても大きいです。

いきなり新しいバージョンに対して作業すると正解が分からず暗中模索になってしまったと思いますので、時間はかかりますが必要な工程です。

また、トレース作業からzoomの常設ルームを作成していつでもみんなで相談できる環境にしました。これは非常に効果的で、特に新しい作業を開始する時なんかは非常に有効だと感じます。チーム内の評判も良いので今後も続けていく予定です。

新しいバージョンのリリース

現在作業中ですが、大きな混乱もなく進められています。

最後に

まずは、こんな負担のある作業を長期に渡り属人化させてしまい申し訳ないと反省しました…。当然と言えば当然なのですが、難しく、複雑な作業だからこそ属人化してしまいやすいんですよね。こういう作業こそ、チームや仕組みで取り組んでいくことが重要ですね。

効果は今後計測していきますが、リリース作業の品質向上、安定化への貢献も期待できそうです。作業の標準化ができていること、複数人で基準に則ってレビューできていることで確実に品質は上がっているように思いますし、実際に今まで考慮不足だった箇所が発見できていたりと効果も出てきています。

今後も属人化はリスクであるということを認識し、属人化しない取り組みをしていきたいと思います。

トラストバンクでは一緒に働く仲間を募集しています。
ご興味を持たれた方はぜひ一度ご連絡ください。
属人化はさせません!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?