HRBrainでは今年もアドベントカレンダーをやっており、この記事はその16日目になります。
はじめに
こんにちは。HRBrainでテックリードをしている鈴木(善)と申します。
弊社はGoogle Cloud上でサービスを提供しています。今回ご縁があり2023年12月6日〜12月7日の2日間でGoogle Cloud社(以下、Google Cloud)主催のTech Acceleration Program(以下、TAP)に参加させていただきました。
本記事では次の2点について紹介したいと思います。
- 私たちが行った2日間の流れ
- 参加する上でおさえておくと良さそうなポイント
本記事がTAPに興味を持たれた方の参考になれば幸いです。
【注意】プログラムの具体的な内容は参加企業の状況でカスタマイズされます。そのため本記事と必ず同じ流れになるとは限りません。 興味のある方は、本記事最後に貼ったTAPお問い合わせフォームからご確認ください。
Tech Acceleration Program(TAP)とは
TAPとは、数日間で行われる内製化を支援するためのアジャイル型ワークショップです。
テーマに適したGoogle Cloudのエンジニアやスペシャリストの方と一緒に、アーキテクチャの検討やプロトタイピングを行います。 テーマは参加企業によって異なり、新規プロダクトのアーキテクチャ検討やDXの改善、DBマイグレーションなど様々だそうです。
私たちの場合はすでに内製で開発していることもあり、開発体験の向上やプロダクトの改善といったテーマを2日間で行いました。プログラム自体は2日間でしたが実際は準備もあったので、そのあたりも含めて紹介していきます。
当日までの準備
TAP当日までは以下のような流れで進みました。
- テーマや参加者の選定
- 事前ミーティング(1回目)
- テーマ説明資料の準備
- 事前ミーティング(2回目)
- Google Cloudのサービスのキャッチアップ
それぞれ紹介します。
テーマや参加者の選定
TAPの話をいただいたときにその流れの概要を伺っていたので、まずTAPで議論したいテーマを決めていきました。
限られた時間で成果をしっかり出すために、「解くべき課題が比較的はっきり見えていて」かつ「Google Cloudの力を借りることで改善の可能性が高い」テーマを2つ選びました。(詳細は後述)
- 【テーマ1】開発環境の改善
- 【テーマ2】利用ユーザーの増加に伴い負荷の高まってきた機能の負荷分散
私たちの場合は、「新規の構想」ではなく「課題の解消」寄りのテーマを選びましたが、前者を選んでいた場合はまた違ったプログラム構成になるのかもしれません。
テーマが複数になったため、どちらをどれぐらいのウェイトで話したいかを予め決めていきました。結果的にこれは良かったと思います。当日の議論のペースが順調なのかそうでないのか、参加者の目線があった状態で話せました。今回はテーマ1に重点を起きたかったので7:3ぐらいの割合としました。
参加は次の4名としました。
- VPoE
- CTO
- Google Cloudを実際運用するプラットフォームチームのメンバー
- テーマに強く絡むプロダクトのテックリード(私)
事前ミーティング(1回目)
開催2ヶ月前に1時間ほどオンラインミーティングを実施しました。
内容は以下のとおりです。
- 顔合わせ。
- TAPの説明(Google Cloud)。
- こちらが考えているテーマの方向性の共有(HRBrain)。
- 実施時期とそこまでの準備内容の決定。
テーマ説明資料の準備
選定した2つのテーマに対して、事前ミーティングで説明するための資料を用意しました。
このあたりはドキュメントがすでにあるならスキップできるかと思います。
事前ミーティング(2回目)
開催1週間前に1時間ほどオンラインミーティングを実施しました。
内容は以下のとおりです。
- アーキテクチャの概要の共有(HRBrain)。
- 各テーマの説明(HRBrain)。
- 現状とそこから生まれている課題の概要説明。
- 目星をつけているサービスがある場合はその共有。
- 当日各テーマをどういうペース感で話していくかの認識合わせ。
私たちの場合は、ここのディスカッションで「時間が余れば話したいテーマ(詳細後述テーマ3)」が生まれたりもしました。
Google Cloudのサービスのキャッチアップ
時間が許せばですが、もともと目星を付けていたGoogle Cloudのサービスや、事前ミーティングで紹介されたサービスがあれば、それのキャッチアップをしておくのがおすすめです。具体的な議論から始められて当日の貴重な時間を有効に使えます。
私たちの場合はCloud Workstationsを用いることで開発環境の改善ができないかと考えていたので、手元で動かしつつ数日間キャッチアップして当日に望みました。
会場
私たちの場合は六本木にあるGoogleのオフィスで行われました。場合によっては渋谷のオフィスで行われることもあるそうです。
六本木側にはTAP専用のフロアがあります。TAP関連のグッズもありとてもワクワクする素敵な空間でした。
1日目
1日目は、顔合わせなどのオリエンテーションから始まり、テーマ1についてディスカッションやプロトタイピングを行いました。
当日は、弊社の運用を支援していただいているG-gen社の方も3名参加され、Google Cloud、G-gen、HRBrainの3社のメンバーで進めていきました。
オリエンテーション
まず、参加者が1人ずつ自己紹介してのアイスブレイクです。
そして、建設的なディスカッションをするために大切にすることや、議事メモや画面共有の仕方を共有していよいよディスカッションに入っていきます!
ディスカッション
ディスカッションではどのテーマに対しても概ね以下の流れで進んでいきました。
- テーマに関する仕様(概要)やアーキテクチャの共有。
- 実現したい要件や(すでに見えている場合は)解きたい具体的な課題の共有。
- 実現や解決に向けたアーキテクチャ検討やプロトタイピング。
「テーマ1:開発環境の改善」の内容に少しだけ触れると、弊社では2年ほど前にTiltというツールをベースとしたローカル開発環境を構築し、開発の際に必要なサービスがコマンド1つで立ち上がる開発環境を運用してきました。
(Tiltベースの開発環境についてはブログやスライドにまとめているので、興味ある方は見てみてください!)
しかし、事業拡大に伴いマイクロサービス間の連携が増えたことで、開発時に立ち上げるサービスも増え、開発者のPCリソースを圧迫するという課題がありました。このリソース圧迫問題を緩和するアプローチの一つとして、開発環境をCloud Workstationsへ載せ替える実現可能性をテーマとしました。
ディスカッションでは、実際に載せ替えて動かし、そこで発生する技術的な問題に対してGoogle Cloudのカスタマーエンジニアやスペシャリストの方にアドバイスをいただきながら、技術的な見通しの立つところまでもっていくことができました。
ランチを挟みつつ後半は、実際にCloud Workstationsを使っていくとなった場合のコストやセキュリティ面、またCI/CDとの接続など運用上の懸念点を詰めていき、1日目が終了しました。
2日目
2日目も流れは1日目と同じです。その日の流れやテーマをまず確認してからディスカッションを始めていきます。
ディスカッション
もともとの予定では1つ目のテーマを1.5日程度かけて行うつもりでした。しかし実際に進めてみると1日目でほぼ終えることができたため、2日目はテーマ2を最初から取り組んでいきました。
具体性の高いテーマを含めるケースでは予定よりも早く終わる場合もあるので、予備のテーマも用意しておくのがよさそうです。
「テーマ2:利用ユーザーの増加に伴い負荷の高まってきた機能の負荷分散」の議論では、まず負荷の高まっている該当機能とその現行アーキテクチャを共有し、Google Cloudのサービスを活用しながら分散させる構成を検討していきました。
良かったのは、理想的なアーキテクチャだけでなく、そこに至るための中間ステップとなるアーキテクチャも含めて考えられたことです。段階的に進化可能な実行性の高いアプトプットを短い時間で得ることができました。このあたりはGoogle Cloudのスペシャリストを交えて集中して議論するメリットだと思います。
最後にやや時間が余ったため、事前ミーティング中に生まれた3つ目のテーマである「”数年先に実現したいとある価値提供”に向け、Google Cloudをどのように活用できそうか、また、そのためには今どのようなアーキテクチャであればよいか」についてディスカッションしました。(ややぼかした書き方になっております。ご了承ください🙏)
ただ、そもそもまだ要件の定まっていないことも多かったため、こちらのやりたいことを丁寧にヒアリングしていただいたものの、仮説に仮説を重ねる議論になりやすく短時間で扱うテーマとしては難しかったです。新規構想に関するテーマの場合は少なくともビジネス要件までは決めておく必要がありそうだと感じました。
ラップアップ
最後に参加者全員で振り返りをし、2日間のプログラムを終えました。
振り返りで出たポイントとしては、以下などがありました。
- 日々の業務と切り離してまとまった時間をしっかり取ることでテーマに集中できた。
- 時間をしっかりとって技術的なディスカッションができるのは素直に楽しい。
- Google Cloudの(TAPで取り上げるサービスの)事前検証がされていたので、2日間という時間を有意義に使うことができた。
- 実際に管理・運用していくときの観点も聞くことができてよかった。
私たちの場合は2日間を通じ、最終的に大小合わせて3つのテーマに取り組む結果となりました。
当日までの準備や数日間集中してディスカッションする大変さはあるものの、Google Cloudのスペシャリストを交えて課題解決に取り組めるのは非常に有意義な時間でした!
ランチやお土産
ランチはTAP参加メンバー全員で、テーマとはまた違う話でワイワイ盛り上がる美味しく楽しい時間でした!
そしてさらにお土産もいただきご満悦な弊社VPoE。
まとめ
本記事では、弊社が参加させていただいたTech Acceleration Program(TAP)の様子を事例として紹介しました。
テーマ1のCloud Workstationsを活用した新しい開発環境については、パイロット運用に向けて進んでいます。
本記事を読んでTAPが気になった方は、ぜひ次のリンクから問い合わせてみてください! inthecloud.withgoogle.com
HRBrainは、今回のような機会も活用しつつ技術的な課題に向き合い、さらに並行して新しいサービスもどんどん開発する面白いフェーズにいます。少しでも気になった方はぜひ一度カジュアル面談でお話ししましょう! www.hrbrain.co.jp