こんにちは!横断本部わり算グループのしげるです。
9日目は @kentaro_suzuki さんで 最近読んだGo言語の本の紹介:100 Go Mistakes and How to Avoid Them でした。明日で、アドベントカレンダーも最後ですね。
趣味で、社内の自動化をいくつかお手伝いしています。
4日目に、 Google Apps Script(GAS)を使い倒して、アンケート作成を自動化した話 もあげているので、興味があれば、読んでください。
今回は自動化の案件を元に、普段意識していること、自動化案件が成功するための秘訣について共有できればと思います。
先に端的に 3行で、伝えたいことをまとめると次の3行になります。
- 自動化した後に、運用するメンバー(カスタマーサポートのTさん)を巻き込む
- 定期的に時間を確保する
- やりたいことの本質を考える
案件
今回紹介するのは、luccafort さんとの自動化案件の話が落ち着いた頃に、カスタマーサポートのTさんに自動化案件のヒアリングから始まったプロジェクトです。
マネーフォワード クラウドには20以上のサービスがあります。
マネーフォワード クラウドガイド を提供して、それぞれのサービスの使い方についてサポートしています。クラウドガイドに投稿されている記事は数千を超えています。
数千の記事を公開していると、サービス側のURL変更や、参考として掲載した外部サイトの掲載終了など、様々な要因でリンク切れが発生します。
リンク切れが発生すると、ユーザーに対して求める情報に辿り着けない不便が発生します。
以前は、人力で全ページ確認するなどの涙ぐましい作業も実施されていましたが、数千ページを人力で全て確認するのはとても大変そうでした。
進め方
自分とカスタマーサポートのTさんと一緒に小さく始めました。
一番最初に二人で kick off をして、ゴール・解決方法・進め方をまとめました。
朝のリフレッシュしている時間帯の1時間。頻度は、1週間に一度。難しそうであれば、 skip する方針で進めました。
少しの雑談から始まり、前回の内容を Google ドキュメント から思い出し、TODOの整理、会ごとにペアプロを回していきます。1時間しか時間をとっていないので、少しずつですが、試行錯誤しながら、前に進めることができました。
5月に kick off をはじめ、 11月末にプロジェクトとして完了。途中空白の期間も挟みつつ細く長くのプロジェクトでした。結果として、多くのリンク切れページが発見できることができました。
方針について
5月から11月の中で右往左往しつつ最終的には、muffet(Go製のリンク切れ検出ツール)、 Github Actions を利用して完成させました。その中で、 AWS Lambda なども検討したりしています。
- step1. local で muffet の使い方を調査
- step2. muffet on Docker の使い方を調査
- step3. AWS Lambda で muffet on Docker を調査
- 週1では AWS を使いこなせず詰まる / 断念
- step4. Github Action で muffet on Docker を調査
- 動き感動に包まれる
- step5 Github Action で 定期自動実行 & 手動実行の調査
- step6 ドキュメントをまとめて Tさんにお渡し
プロジェクトを完走して
コロナ禍に入って、他部署の方とコミュニケーションが減った中で、定期的に話せる環境はとてもよかったです。始業前に手と頭を動かすことで、業務にもリフレッシュして取り組めるようになりました。
自動化を進める上で、何をゴールにしたいのか。CSVに出力にしたいのか。Slackに通知が飛ぶようにしたいのか。自動化したいMVP(Minimum Viable Product) はどこなのか、一番工数が掛かっている点に着目し、有志の範囲で挑戦したいとに絞るトレーニングになりました。
途中で挫折した AWS Lambda も含め普段業務で使わない技術に挑戦もできました。
Zoomですべての作業画面を録画していたので、非エンジニアのカスタマーサポート Tさんがコードやクエリの学習にも役立てることができました。オンライン時代ならではのメリットだと思います。
最後に
開発完了後、チーム内で運用できる形でサポートチームに仕組みをお渡ししました。
サポートチームでは、まずは現在残っているリンク切れをすべて無くせるよう確認を進めています。
現在あるリンク切れを無くしたあと、定期実行によりリンク切れを自動で通知できる仕組みを整える予定です。
自動化にあたっては、どこまで手動でして、自動化させるかが大切になります。
周りの人を巻き込むことで、1人では続かないことでも続けられ、新しい発見、感動を共有することができます。
技術に自信のない人でも、一歩踏み出して少しずつ積み重ねることで成長することができます。
ぜひチャレンジしていきましょう!!