LUUPアプリ開発エンジニアの「+α」な活動を紹介します!
はじめに
はじめまして!今年からLuupにJoinした井上です。バックエンドエンジニアとしてLUUPアプリの開発に携わっています。
今回Developersブログ記事を書くにあたり、なにか発信するのによい技術トピックがあるかな…と最近の開発を振り返っていたのですが、
LUUPアプリの開発チーム体制や、私が特徴的だなと感じている日々の取り組みについて意外と過去記事では触れられていないことに気づきました。
そこで今回は、私の所属する「Productチーム」とそこに所属するエンジニアの"+α"な活動をご紹介いたします。
Productチームとは
メンバー構成
Productチーム体制図
LUUPアプリのソフトウェアエンジニアは、部門としてはソフトウェア開発部(Software Development部)に属しつつ、一方でLUUPアプリの開発を行う部門横断の「Productチーム」にも所属しています。
(これ以外に、サービス運営の屋台骨である管理システム開発に携わっているエンジニアチームもあります)
Productチームには上の図にあるように、企画・開発・運用を行うための様々な領域のプロフェッショナルが集まり、Luupのサービスを成長させるための取り組みを行っています。
上図の「Server」には私を含め数名のバックエンドエンジニアが所属しています。
開発のサイクル
開発は2週間をスプリント単位として進んでいき、私達エンジニアは以下のようなサイクルでLUUPアプリを形作っていきます。
- 前のスプリントまでに定まった要求仕様を読み込み(時には要求仕様をPMと一緒に検討し)、
- スプリントを回していくためのアサイン計画を立て、
- アプリ/サーバー間のI/F定義を擦り合わせ、
- 要求仕様を形にするコードを書き、
- Pull Requestを出してチームメンバーのレビューを受け、
- QA結果がOKになったらマージ!
この間に週次の各チームミーティングやリファインメントも行われます。技術負債解消や内部改善などエンジニア発の取り組みも織り交ぜつつ進みます。
これらはソフトウェア開発の流れとして特に意外なところはなく、ごく一般的なプロセス・スタイルに沿っているかと思いますが……
一方で以下にご紹介するように、その枠にとどまらない活動も行われています。
(ここから本題です!)
コードを書く「だけじゃない」LUUPアプリのエンジニア
技術で課題を解決する。
ソフトウェアエンジニアであれば形は色々あれど、技術的な知識・スキルを駆使してプロダクト開発や運用に貢献していると思います。
しかしLuupにおけるソフトウェアエンジニアはそれだけにとどまらず、ミッション実現に向けてプロダクトをより良くするための様々な活動に参加します。
以下に一例を紹介します。
ビルド触る会
ある程度の規模の機能アップデートをリリースする前、ほぼ形が出来てきた段階で「ビルド触る会」が定期的に開催されます。
Productチーム全員でデモ版アプリを触り、狙い通りの体験になっているところ、もう少し検討した方がいいところなど議論します。
普段私達はリモート主体で開発に取り組んでいますが、こういった取り組みの際には基本的に出社し、顔を合わせてディスカッションを行います。
最近ですとオートスキャンをこの活動を通じてブラッシュアップしていました。
私たちエンジニアも技術的な観点を持ちつつ、いちユーザーとしての視点でUXを確認しながら機能を触ります。
ここでのフィードバックから調整を行ったものが先日6月下旬にリリースされ、現在多くの方に一つ進歩したライドを体験していただいております。
また、直近リリースのバージョンではマップ画面のアクセシビリティ改善を行いましたが、この際もデザイナーが調整したカラースキームを全員で囲みつつ感想・意見出しをしました。
PM・モバイルエンジニアだけでなく、私達バックエンドエンジニアもQAエンジニアも同等に細かな点までコメントします。
その結果を取り込んで、ライトモード・ダークモードともに細部までこだわった視認性向上バージョンがリリースされています。
オートスキャン評価中のNotionコメントたち。こういった声を元にUXを修正し、仕上げていきます
Interview Insights
Luupではより良いサービス提供のためにリサーチャー・デザイナー・PMが主導して、ご協力いただけるユーザーへのインタビューを定期的に行っています。
そういったインタビュー結果の一部については、Productチーム全員でディスカッションする場「Interview Insights」にてメンバーに共有されます。
プロトタイプを触っていただいて仮説検証をするようなインタビューでは、
「なるほどここの操作が迷いやすいのか!」「やっぱりここのUIこうしたいね」など活発に意見や議論が交わされます。
もう少し大きな枠で、サービス設計に関するようなインタビューでも同様です。
私たちバックエンドエンジニアも、バックエンドに絡む話題だけでなくUIやライド体験の導線などにもどんどん意見します。
この取り組みはエンジニアも含めたチーム全員から改善のための意見やアイデアを吸い上げる場として機能しているのはもちろんですが、
エンジニアの視点からするとPMやデザイナーの見ている世界をより理解できる場、特に私にとってはバックエンドから少し距離のある生のユーザーを強く意識できる場ともなっています。
ちなみに私は入社間もない頃、「まだ中の人になって日が浅いのでうってつけ」ということで本番実施前の仮想インタビュイー役に任命されたりもしました(笑)
オンボーディングも兼ねつつでなかなか貴重な体験をしたなぁという思い出です。
こんな感じで真剣な眼差しを向けつつワイワイやっています
おわりに
以上、Luupのエンジニアはコードを書く以外にもプロダクトづくりの色々な活動に絡むことができて面白いですよ!というご紹介でした。
今回は私の担当領域であるバックエンド開発の技術スタックやシステム構成について触れませんでしたが、それらについては以下の記事をご覧いただければと思います!
また、もっとじっくり詳しく聞きたい!という方はぜひカジュアル面談にもお気軽にご応募ください!
Discussion