【副業の働き方】最新技術導入のリスクを回避するには?製品のクオリティを担保する開発術――パーソルキャリア・三口聡之介さん
転職サービス「doda」をはじめとした人材サービスを手掛けるパーソルキャリア株式会社。
既存の転職事業とは別に、いくつかの新規サービスの開発を行なっている部署の一つに三口さんが責任者を務めるサービス開発統括部があります。
そのエンジニア組織はユーザー志向であると同時に、技術に対して挑戦的、かつスピーディな開発を目指していました。
新プロダクトのリリースに際しても、先端技術を導入したサービス開発統括部。 リスク回避のためにFLEXYの稼働者がどのように支援したのか、開発の裏側をお伺いしました。
目次
サーバーレスな環境を構築し、ユーザーの体験価値向上にリソースを割く
――三口さんが所属するサービス企画開発本部の持つ役割はなんですか?
三口 聡之介さん(以下、三口):当社は求人広告や人材紹介といった、転職したい人と中途採用したい企業をマッチングするビジネスで成功した会社です。会社のミッションも、「人々に”はたらく”を自分のものにする力を」と定めています。 つまり、働く人たちが自分らしい働き方、生き方を選択できるように支援するということです。
その中で、転職は給与や同僚、仕事をする場所など、”はたらく”に関する重要な要素に影響するわけですが、働きはじめてからも自分の「はたらく」をコントロールできるような状況は作れるはずです。
サービス企画開発本部は、その点を軸にして世の中に新たな”はたらく”のサービスを提供しようとしています。
――では、三口さんが責任者を務める部署の概要について教えてください。
三口:本部メンバーは50名ほどで、「サービス企画統括」と「サービス開発統括」に分かれています。私が見ているのは「サービス開発統括」の方で、現在は24名ほどです。 エンジニア、UXデザイナー、マーケティング、カスタマーサービスの部署をまとめています。 このうち14名がエンジニアなのですが、その9割がフロントエンドエンジニアです。しかも基本的にフルスタック系の人材を採用しているので、多くのメンバーはデータベースもネットワークも扱えます。志向としてはまずターゲットの課題を解決するサービスありきで、どんなサービスを作りたくて、そこにどういう技術を用いるのが良いか、という視点で考えられる人たちが多いですね。
逆にサーバーサイドやバックエンド、インフラの部分については、リソースが限られていることもあるため、Firebeseを利用することでサーバーレス環境を作り、極力最小限の人数に留めようとしています。
トラフィックが多いサービスの裏側で素早くレスポンスを返すための努力を積み重ねたとしても、ユーザーの体験価値に大きな影響はありません。それよりも新機能を開発したり、ユーザー体験を改善できるようなサービス設計をした方が良いのではと思っているんです。 なので、会社としてはユーザー体験をより高める業務に社員の力を割いていきたいと考えています。
5日間で企画、プロトタイピングからユーザーテストを実施
――ビジネスマインドを持ったエンジニアを育てる風土があるということでしょうか?
三口:明確に育てようという意図はありませんが、当社が採用しているのはサービスに対して指摘ができるエンジニアです。企画者が何か提案してきたら、「ここは変えたほうが良い」「ユーザー体験はこっちの方が良い」と当たり前に指摘し合うカルチャーになっています。 育てるというよりは、新しく入ってきたジュニアエンジニアもそれを当然のこととして成長しているのだと思います。
――そのほかに御社の開発環境について特色はありますか?
三口:デザインスプリントを採用しています。5日間で企画からプロトタイピング、ユーザーテストまで行うワークスタイルです。 エンジニアも企画が固まりきらない段階からスプリントに参加していて、最適人数と言われる7名中4~5名はエンジニアです。あとは企画者とUXデザイナーですね。
デザインスプリントを採り入れた背景は、企画書の粒度を揃え、細かすぎる内容は枠を広げて考えなければなりませんし、荒い内容ならもっと詰めていかなければなりません。
そういった企画レベルの調整をデザインスプリントで行うことができると考えたからです。 ユーザーテストまで実施可能なため、企画段階で想定したユーザーやニーズが本当に存在するのかまで確認できるのも大きなメリットですね。
――エンジニアが企画の上流に関わるメリットは何でしょう?
三口:実際に、企画・開発がスタートするとなれば、基本的にデザインスプリントと同じメンバーがアサインされます。企画段階でどういうターゲットにどういう課題やニーズがあり、どのように解決するのかを全員で考えて方向性を共有していますから、開発段階でもエンジニアから改善意見が出やすくなります。
デザインスプリントを行うことで工数はかかってしまうのですが、企画が固まった状態で「これを作ってください」と言われて開発をスタートするよりも結果的に開発スピードは速くなりますし、サービスとしての精度も高くなります。
新プロダクトには開発スピード向上が期待できるFlutterを採用
――12月上旬頃までに新サービスをリリースするそうですね。
三口:「”はたらく”を自分のものにする」という観点で考えたときに、自分の可能性を知る必要があるだろうということで新しいサービスを開発しています。
自分がどう働くのかの選択肢を見つける、学ぶ、といったことを支援します。例えば働く場所一つにしても、東京にこだわらずとも地方でどんどん活躍できる人はいるはずですよね。自分の可能性を限定せず、広い視野を得られるようなサービスにしようとしています。
――新しいサービスの開発に際してはFlutterの導入を検討されているそうですが、どのようなものですか?
三口:Flutterは近年Googleから公開された、オープンソース型のフレームワークです。 特徴と選定理由を簡単にまとめてみます。
Flutterの特徴 1.単一のソースコードでAndroidとiOSアプリを開発できる 2.MaterialやCupertinoなどのWidgetを使用してビジネスアプリ程度であれば簡単に作成可能 3.Hot Reloadにより、書き換えたコードの動きをリアルタイムで確認できる
選定理由 ・特徴1、2のような要素によって、開発スピードの促進を図れる ・バックエンドで利用しているFirebaseと相性が良い ・プログラミング言語のDartで開発できる
もともと新しいサービスは、PWAで開発しようとしていたものの、やはりモバイル開発も必要であることやサービスオーナーからの強い希望もあってネイティブアプリにしようということになりました。
React Nativeが候補として挙がる中で開発のメイン担当から「ぜひFlutterを使ってみたい」という提案があり、挑戦することになったんです。
当社はもともとフロントでVue.jsなどモダンなJSのフレームワークを使っていたのですが、FlutterでもFirebaseはそのまま使えましたし、移行はスムーズでしたね。Firebaseは通知に強いという点も都合が良かったです。
事例も情報も少ない新技術を用いて開発を進めるメリットとリスク
――FLEXYから稼働している方はiOSのエンジニアですが、新しいサービスの開発にどのように関わったのでしょうか?
三口:Flutter自体は最近できたばかりの新しい仕組みで、導入企業も国内ではほとんどありません。
こういった事例も情報も少ないフレームワークでサービス開発を進めると、予期せぬトラブルが起きる可能性があるんです。また、通常のフローどおりiOS単体のネイティブアプリを開発するのとFlutterで開発するのとでは、どれほど性能差が出るのかもわかりませんでした。
見た目や性能、操作感が同じなら効率の良いFlutterを採用すべきなのですが、もし性能に差が出るのであれば、iOSのネイティブアプリの方がユーザー体験は良くなります。 そこで、新規サービスの開発に際しては「Flutterでの開発」と「Swiftでの開発」とチームを2つに分けました。
FLEXY経由で開発に入っているiOSエンジニアの方にお願いしたのは、後者のチームです。
――予期せぬトラブルが起きる可能性は、先端技術を利用する上では大きなハードルなんですね。
三口:サービス開発統括部は複数の新規サービスの立ち上げを行なっている部署ですから、開発にはスピードが求められます。 前述したとおりFlutterはその特徴としてAndroidとiOSを1つのソースで動かすことができますから、運用に成功すれば今後別のプロダクトでも開発スピードの短縮が期待できます。
一方で新技術であるため、実験的に採用した結果として全く機能せずにリリースが数ヶ月遅くなる、最悪の場合トラブルが起きて解決の見込みも立たないといった事態が起こり得ます。そうなってしまうとスピード開発どころではありませんから、本末転倒ですよね。つまり、環境的には新しい技術に挑戦しづらいんです。
スピードを求めるためにチャレンジをしたいが、チャレンジをするとスピードが遅くなるかもしれない。 相反するミッションを持つからこそ、もしFlutterが機能しなくてもリリースは問題なくできるよう、Swiftでの開発も同時に進めました。 人的リソースも限られている中で、FLEXYさんにはかゆいところに手が届く支援をしていただいて、大変助かっています。
――そのほかにFLEXYからご紹介しているiOSの方はどのような支援を行なっているのでしょうか?
三口:昔からゲーム開発をされている方で、Unreal Engineなどプラットフォームを使った作品も高い評価を受けています。 現在はさまざまな分野を手掛けていて非常に豊富な知見をお持ちなので、社内勉強会なども開いてもらいました。