開発合宿@箱根湯本

f:id:jxpress:20191008062416j:plain

はじめに

こんにちは!CTOの柳です。今回のブログでは、9月某日に行われたJX通信社恒例の開発合宿について紹介したいと思います。

これまで、JX通信社では年1回のペースで開発合宿を実施してきました。

tech.jxpress.net

www.wantedly.com

合宿のテーマ

毎年、弊社の開発合宿では、さまざまなテーマに取り組んできました。社内環境・ツールの整備、CI/CDの導入、去年はビジネスサイドのメンバーを巻き込んだデータ分析講習会や普段できない業務改善について取り組みました。

今年はCTOである私が幹事を引き受けたので、職権乱用メンバーを説得し、より尖ったテーマに取り組みました。ずばり「rebuild」です!

組織とプロダクトが大きくなっていく中、普段の業務では慣れた技術スタックばかり使うようになってしまいます。世の中に面白い技術が続々と登場しても、中々触れる機会がありません。

そこで、合宿では「新しい技術スタックで、既存プロダクト1つを0から作り直すこと」(= rebuild)にチャレンジしました。

合宿までの準備

実りのある合宿にするために、準備は怠りません。

合宿参加者を開発領域(フロントエンド、バックエンド、アプリ、etc..)ごとにチームを分け、それぞれの領域の技術選定や設計をしてもらいました。

また、定期的に、合宿参加者が全員集まり、

  • 目指すべきMVP(Minimum Viable Product)はどういったものか

  • 合宿中に取り組むPBI(Product Backlog Item)は何か

について話し、意識のすり合わせを行いました。

箱根温泉「ホテルおかだ」

今年は箱根湯本にある「ホテルおかだ」さんにお邪魔しました。宿を決めるにあたり、株式会社Loco Partnersさんと株式会社FiNCさんのブログを参考にしました!この場を借りて御礼申し上げます。

relux 開発合宿 in 箱根湯本 - wootan's diary

FiNC 開発合宿 in 箱根! | FiNC Developers Blog

合宿の様子

f:id:jxpress:20191008062706j:plain

ロマンスカーに乗っていざ出発。

f:id:jxpress:20191008063003j:plain f:id:jxpress:20191008063015j:plain f:id:jxpress:20191008063027j:plain

宿到着。

f:id:jxpress:20191008063158j:plain

到着後、インフラチームから、デプロイ方法について説明を受けました。

弊社では、コード管理にGitLab、デプロイにGitLab CIを、普段は使っていますが、今回はGitHub Teamと、発表されたばかりのGitHub Actionsを使って、CI/CDのパイプラインを組んでみました。

f:id:jxpress:20191008145143j:plain

開発中。

f:id:jxpress:20191008063721j:plain

開発中。

f:id:jxpress:20191008145154j:plain

開発中。

f:id:jxpress:20191008063744j:plain

開発中。

f:id:jxpress:20191008063800j:plain

開発中。

f:id:jxpress:20191008145131j:plain

開発中。

f:id:jxpress:20191008063908j:plain

夕食・朝食は共にバイキング。種類豊富でした。

f:id:jxpress:20191008064133j:plain

ご飯から戻ってまた開発。深夜遅くまで続きました。

f:id:jxpress:20191008064148j:plain

開発中。

f:id:jxpress:20191008064212j:plain

そろそろ限界。

f:id:jxpress:20191008064313j:plain

合宿最終日は会議室を借りて、成果発表会を開きました。

f:id:jxpress:20191008145121j:plain

合宿の成果

最終日ギリギリまで粘ってなんとか、バックエンドからWebフロント・アプリまで疎通でき、3泊4日の日程内にプロダクトのrebuildができました!

WebフロントエンドはTypeScriptを、アプリはFlutterを使い、BFFとしてGraphQLのAPIを作りました。 バックエンドは、普段使ってるAWSではなくGCPを採用し、GCPの各種サービス(GAE、Cloud Functions、Cloud Pub/Sub)やKubernetes / Knativeにチャレンジしました。

まとめ

今回の合宿では、新しい技術にガッツリ取り組めました。また、3泊4日という期限内に、全員で1つのプロダクトの0→1開発に取り組めたことは、チームとして得難い経験になったと思います。

最後に、我々を快く受け入れてくれた「ホテルおかだ」さんに感謝!

www.hotel-okada.co.jp