LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog

快適なオフィスライフを支えるLINE社内システム開発の裏側

2021年11月10日・11日の2日間にわたり、LINEのオンライン技術カンファレンス「LINE DEVELOPER DAY 2021」が開催されました。特別連載企画「DEVDAY21 +Interview」では、登壇者たちに発表内容をさらに深堀り、発表では触れられなかった関連の内容や裏話などについてインタビューします。今回の対象セッションは「COVID-19と共に変化する社内システム対応事例 - 出社自動判定システム 」です。

新型コロナウイルスの感染拡大により、LINEでは多くの従業員がリモートワークを行っています。こうした働き方の変化に伴って制度の見直しも進められており、その1つとして通勤費の実費精算がありました。こうした制度変更に伴って従業員の手間が増えるのは避けたいとの考えから、新たに開発されたのが出社自動判定システムです。

ただ制度が変更されるのは2カ月先で、それまでにシステムを開発することが求められていました。このハードルをどのように乗り越え、出社自動判定システムを開発したのかについて、LINE Growth Technologyの寺田崇寿が語ります。

オフィスへの出社を自動判定し、通勤費の清算を大幅に省力化

――まず、コロナ対応のために開発したシステムの概要を教えてください。

寺田:オフィスごとに社員の出社人数を集計するための「Office Attendance Count」と、各社員のオフィスへの出社状況を記録する「Office Attendance」という2つのシステムを開発しました。

LINEでは朝食の無償提供や昼食のお弁当販売といったオフィスサービスがあり、これを適切な形で提供を続けるために、日々の出社人数を把握し、需要を見積もる必要がありました。また働き方の変化に合わせたオフィスファシリティの準備や、働き方にかかわる会社の方針決定においても、出社人数の情報は重要でした。これらの要望に応えるために開発したのがOffice Attendance Countです。

このシステムを使って継続的に出社率を見ると、平均25%で多くの社員がリモートワークに移行していたことから、制度的な対応についての検討が始まりました。その中で通勤費の実費化が浮上し、それを受けて開発したのが2つ目のOffice Attendanceです。これは出社したことを自動的に記録し、その内容を月末に確認すると、記録に基づいて通勤費が自動的に支払われるシステムです。

このシステムでは、とにかく機能もワークフローもシンプルに作ることをスローガンにしました。また出社を何らかの要素で判定する必要があるため、100%の精度は難しいとしても、9割くらいの社員は何もしなくても、このフローで清算できることを目標に掲げました。

毎日の朝ミーティングでコミュニケーションを活発化

――システムの開発は、東京と福岡、札幌のそれぞれの拠点で行われたとのことですが、プロジェクトを進める上で工夫したことはありますか。

寺田:LINE Growth Technologyに入社する前は札幌で仕事を行っており、リモートで開発することが多かったため、どのようにコミュニケーションすれば円滑にプロジェクトを進められるかについてのノウハウはありました。一方で異なる拠点で連携して開発することになれていないメンバーもいたので、その人たちをどう巻き込んでいくかがポイントになりました。

実際にメンバーに促したこととしては、Slackでこまめに発信することがあります。「今こんなことをやっている」、あるいは「こんなことに困っている」など、ちょっとしたことでも構わないので積極的に発信してもらいました。またコミュニケーションの頻度を上げるために、開発担当の札幌と福岡のメンバー間では、15分程度の朝ミーティングをオンラインで毎日行いました。

チャットのほかには、 Wikiやオンラインホワイトボードのmiroなどを使って情報共有を行っています。これらのサービスやチャットなどを使ってコミュニケーションすると、その内容が履歴として残るため認識の齟齬を減らせることはメリットでした。

――開発スケジュールやコストに関しては、どのように考えられていたのでしょうか。

10月から通勤費の実費化が始まると決まったのが8月だったため、システム開発に費やせる期間は約2カ月しかありませんでした。ただ10月の締めに間に合えば10月分から清算することができるため、10月半ばまではリリースを待てるのではないかなど、バッファや遅延のリスク回避は事前にステークホルダーとなるメンバーと認識を擦り合わせています。

コストに関しては、システムをリリースすること、つまりデリバリーが最優先事項であり、明確な制約はありませんでした。ただ、それでもスケジュールが厳しいことには変わりありません。さらに技術的な課題の発生による遅延がプロジェクトのリスクとして予想されたので、能力のあるメンバーを専任でアサインしてもらえるように調整しました。

周りの協力もあってスケジュールどおりにプロジェクトを完遂

――プロジェクトを進める中で苦労したことを教えてください。

寺田:まず大変だったのは、このシステムの利用者を明確にすることです。正社員や契約社員、アルバイト、あるいは準社員などさまざまな雇用形態があり、グループ会社によって対象となる雇用形態は異なります。また対象とするオフィスとそうでないオフィスがあるなど、ビジネス要件を整理するのは大変でした。ただ人事メンバーに積極的に協力してもらい、私たちが求めているものをすばやく把握して必要なアウトプットを出してもらえたことで、想定よりも早くビジネス要件を整理することができました。

もちろん、スケジュールを死守することも苦労した点です。要件がすべて固まったのは、プロジェクトが始まってから1カ月以上経ってからで、要件定義と開発を同時並行で走らせていました。

なので、最初は本当に大丈夫だろうかと心配でした。モノができあがってくると安心できるのですが、何もない状態のときは本当にシステムを具体化できるのかといった不安がつきまとっていました。

最終的にスケジュールどおり2カ月でシステムを形にすることができたのは、プロジェクトにかかわったみんなが前向きに取り組んだからだと思います。

――システムが判定した出社状況を変更する際、上長の承認は不要にしたという話がセッションの中でありました。一般的には承認が必要になるケースだと思いますが、この判断はスムーズに進んだのでしょうか。

寺田:担当者レベルで承認を不要にしたいという意思をまとめた上で、各担当から関係する役員に説明し、了解してもらいました。この背景には、社内IT担当役員が「業務としてシンプルに組み立てたい」という方針を打ち出したことがあり、そのため業務フローを検討した後に迷わず調整に動き出すことができました。

正直なところ、この判断は難航する可能性もあるなと感じていました。ただ基本的には社員を信用する、それでみんなの手間が削減できればそれがベストだという考えでまとめることができました。このあたりの判断は非常にLINEらしいなと感じるところです。

データの2次利用も視野に入れてインフラを整備

――今回のシステムで利用するインフラの設計において、意識したことを教えてください。

寺田:Office Attendanceでは、ネットワーク情報へのアクセス情報と、アクセスしたPC資産の情報、そして社員情報やオフィス情報などをElasticsearch上に統合し、出社判定を行っています。

このElasticsearchには、LINEのプライベートクラウド上で提供されている「VES」と呼ばれるマネージドサービスを利用しました。社全体のログを集める基盤になり、相当量のボリュームがあるほか、安定性も求められます。そのため、マネージドサービスとして提供されている環境を選択することで、インフラ面の設計事項やリスクを極力減らしたいと考えたためです。

また、ここで集約したデータを別の用途で利用することも意識していました。たとえば出退勤の時間は毎日入力しなければならないのですが、自宅で作業していると入れるのが面倒になってしまうんですよね。Office Attendanceで収集したデータは、出退勤の時間を自動判定するといった用途でも利用することが可能です。このように、社内のさまざまなシステムからアクセスし、データを再利用できるようにすることも意識したことの1つです。

――VDI端末を用いてネットワークに接続するユーザーの情報については、別のElasticsearchにいったん保管することになっていますが、これはなぜでしょうか。

寺田:通常のPCが利用されている場合の出社判定に必要な情報は、API経由で必要な情報だけを取る形式であり、さらに機密性の高い情報は取得できないようになっています。一方、VDI端末を用いた場合の出社判定に用いるVDIのアクセス情報は、ActiveDirectoryの生ログであり、出社判定に関係がない機微な情報まで含まれていました。

今回のシステムでは、必要な情報以外は保管せず全く触ることができない状態を担保したいと考え、いったん別のElasticsearchに取り込み、出社判定に必要な項目だけに絞り込む処理を行っているほか、適切なアクセスコントロールなども行っています。

今回のプロジェクトでは、メンバー全員のセキュリティ意識が高く、守るべきポイントについての共通認識もあったため、それほど議論になることもなく、こうした仕様をすんなりと固められました。

メンバーの意見を取り入れながらプロジェクトの進め方をアップデート

――プロジェクトが成功した要因はどういった部分にあったのでしょうか。

寺田:システムの目的やユースケース、アクセスする頻度など、開発チーム内でも自問自答しながら要件を詰め、それによって要件定義の精度を高められたことがポイントの1つです。

またプロジェクトのメンバーも積極的に意見を出してくれたことも、品質を高められた大きな要因です。実際にUIのモックを作った際には、ラベルやボタンの色、あるいはUIにある文言の内容など、細かい所まで意見を相互に出し合って議論しました。また、今回のシステムは英語表示で利用するメンバーもいるため英語版のUIも作成しているのですが、社内の外国の方にチェックしていただき、違和感がないかなどを確認しています。

デイリーで積極的に課題を共有したり、マネジメントに課題が生じた際には積極的にやり方を変えるなど、細かな改善をクイックに積み重ねられたことも、プロジェクトが成功した要因だと感じています。

今回のプロジェクトのメンバーは新しく集まった人たちだったので、最初は私の普段のやり方でスタートしたのですが、チャットでちょっとした雑談を書くようにしてコミュニケーションを深めるなど、さまざまな改善を行いながらプロジェクトを進めました。また、PMを務めたnakoさんのアイデアで課題管理をGitHub Issueに切り替えるなど、みんなの意見を取り入れながらプロジェクトを進められたこともよかった部分だと感じています。

――最後に、社内向けITとして今後開発したいと考えているものを教えてください。

寺田:社内IT領域で取り組んでいるものに、オフィス内のZoomミーティング用の個室の利用状況可視化があります。

リモートワークが主流になり、大きな会議室に集まって会議、ではなく、出社時においてもデスクから個人でミーティングに参加する機会が増えました。

この状況に対し、プライベート・セキュリティの保護のため、LINEのオフィスにはミーティング用の個室をファシリティとして設置しています。 折角良い設備があっても、使いたい時に使えないとなるとその価値は半減してしまいます。 個室にIoTデバイスを設置し、データを収集し利用状況を可視化するシステムを提供することで、利用者に負荷なく、オフィスファシリティの価値最大化に寄与していけるのではないかと考えています。

このように業務を効率的に進めることにつながり、なおかつオフィスライフが充実するための取り組みをこれからも積極的に進めていきます。

採用情報

LINE株式会社およびLINE Growth Technologyでは一緒に働くエンジニアを募集しています!今回のインタビューと関連する募集ポジションはこちらです。