share facebook facebook facebook x x sun moon menu hatena pocket slack copy check toc clock

KDDIアイレット株式会社

「会議室の予約は埋まっているのに、誰もいない」をなくす。新卒中心のチームがつくった会議室予約システム

技術要件
Google Cloud

今回ご紹介するのは、KDDIアイレットが自社のオフィスを対象に取り組んだ社内プロジェクト。本社オフィスの会議室10室を対象に、会議室のドア前に設置した iPad から利用状況の確認・その場での予約・入退室ができるシステムを開発しました。

要件定義から設計・実装、インフラ構築、監視運用までを担当したのは、新卒社員を中心とした社内のプロジェクトチームです。AI 駆動開発を前提に、Google Cloud のサーバーレス構成で構築しました。プロジェクト責任者が社内の利用者を代表する「顧客役」を務め、要件のヒアリングからレビューまでを社内で完結させています。

会議室の予約 SaaS は数多くありますが、あえて内製開発を選んだ理由と、その過程で見えてきたものをご紹介します。

プロジェクトのポイント Project Highlights

  1. POINT 01

    ドアの前の iPad で、空き状況の確認から予約・入退室までが完結

  2. POINT 02

    本番運用データの分析により、これまで測れなかった会議室の利用実態を数値化

  3. POINT 03

    要件定義から監視運用まで社内チームが一気通貫で担当し、ランニングコストは市販 SaaS 比1/40以下

オフィス移転を機に、限られた会議室をどう活かすかを考える

きっかけは、本社オフィスの移転でした。移転にあわせて会議室は10室になりましたが、社員数に対して余裕のある数とは言えません。限られた会議室をどう最大限に活かすかが、検討のスタート地点でした。

M さん

プロジェクト責任者

移転前から「会議室が足りない」という声はありました。移転後も十分な数を確保できる訳ではないので「だったら10室を有効活用できるようにしよう」と。「それならシステムを入れよう」「いやシステムなら自分たちで作れば良いじゃないか」、そういう流れで始まったプロジェクトです。

市販の会議室予約 SaaS の導入も検討しましたが、継続的に発生するランニングコストが判断のポイントになりました。また、優秀なエンジニアが沢山いる SIer の会社だからこそ、自分たちで作りたいという思いもありました。そこで、自社のエンジニアを育てるという目的から、エンジニアが要件定義から運用までを一気通貫で経験する機会となるように、社内開発を選びました。

説明書なしで使える。ドアの前で完結する画面設計

会議室の予約には、以前から全社で Google カレンダーを使っています。この運用は今後も継続することが前提でした。そこで、既存の仕組みを置き換えるシステムではなく、Google カレンダーと併存しながら双方向にリアルタイムで同期する仕組みを採用しました。

会議室のドア前に常設した iPad から利用状況の確認・その場での予約・入退室の操作ができるシステムで、iPad は Google カレンダーの状態を映し出し、iPad 側での操作も Google カレンダーへ反映されます。

C さん

設計・開発担当

今回の会議室予約システムの導入では、既存の業務フローを壊さないことを意識しています。事前の予約は今まで通り Google カレンダーから行ない、iPad はその業務フローの上で使うものという位置づけにして、新しい運用ルールを覚える必要がないようにしました。

設計としては、利用者個人のカレンダーには一切触れないことを意識しています。予約はすべて会議室そのもののカレンダーに書き込む方式にしており、自分の予定が勝手に書き換わることは起こりません。

会議が予定より早く終わった際は、チェックアウトの操作で残り時間がその場で他の社員に開放されます。予約開始から10分が過ぎてもチェックインがない場合は主催者へ Slack で通知し、15分後には予約を自動的にキャンセル。抑えられたままの時間が、他の社員が使える状態に戻ります。

こだわったのは、説明書なしですぐ使えることでした。ドアの前を通っただけで状態が分かるように、空室は緑色、予約済みは青色、使用中は紫色の表示に。スクロールが発生しない1画面設計にしているのも同じ理由です。

【空室】画面イメージ
【空室】画面イメージ
【予約済み】画面イメージ
【予約済み】画面イメージ
【使用中】画面イメージ
【使用中】画面イメージ

C さん

設計・開発担当

また、文字入力は一切排除しました。その場で使いたい時は、時間を選んで「今すぐ利用」を押すだけの2タップ。次の予約と重なってしまう選択肢は、そもそも選べないようにしています。入退室はスライド操作にして、チェックインは左から右へ、チェックアウトは右から左へ。方向が逆なので、誤タップも防げますし、操作の意味も直感的に区別できます。

M さん

画面設計担当

普段の業務では主に実装・テストを担当しているので、利用者と会話しながらシステムをつくることも、画面をどう使うかというところまで考えることもあまりありません。利用者側に立ってシステムを設計するという観点は、大きな学びになりました。

「1分以内のラグは許容する」。要件の見極めが、ランニングコストを SaaS 比1/40以下にした

システムは Google Cloud 上に、サーバーレスで構築しました。Google カレンダーの予約情報は1分ごとに取りに行き、iPad の画面に反映します。

また、インフラの構築から監視までを内製で組み上げています。ランニングコストは、市販の会議室予約 SaaS を導入した場合と比べて1/40以下に収まっています。

C さん

設計・開発担当

予約が入った瞬間に通知を受け取る方式も検討しました。ただ、この方法では速い反面、通知が確実に届く保証はありません。今回の要件は「1分以内のラグは許容する」だったので、1分ごとにデータを取りに行く方式を選びました。それでも画面の体感はほぼリアルタイムで更新されます。

とはいえ、会議室の前で最長1分でも待たされるのは避けたいという思いもあって。そこで、画面に更新ボタンを置いて、その場ですぐ最新の状態にできるようにしました。

また、コストを意識して、更新は平日の日中だけに絞り、夜間と休日は動かないようにしました。使っていない時間に費用がかからない構成なので、動かさない時間をつくることがそのままコストを抑えることにつながります。

要望をそのままつくらず、「本当の目的」から機能を絞る

このプロジェクトでは、プロジェクト責任者が社内の利用者を代表する「顧客役」を務めました。要件をヒアリングし、設計に落とし込み、レビューを受けるという流れを、社内で完結させています。

M さん

画面設計担当

コミュニケーションがスムーズにいった要因は、画面ありきで話を進められたことだと思います。最初の会議で要件を伝えていただいて、その次の週には画面イメージを作って持っていきました。会話の内容をすぐに反映していく進め方はしていましたね。

I さん

バックエンド開発担当

要望を全部つくろうとすると、間に合わないなと感じました。メンバーは他の案件と兼務なので、このプロジェクトに使える時間は限られています。その上で、この機能は削っても当初の目的は達成できるはずだと判断して、責任者と調整しました。

大事だったのは、「こうしたい」という要望をそのまま受け取るのではなく、その裏側にある本当の目的を聞き出すことです。時間をかけて詰めていくと、より良いシステムができていく感覚がありました。上流工程を経験したくて今回のプロジェクトに参加したのですが、そこはすごく学べたと思います。

N さん

開発担当

進め方でうまくいったのは、領域ごとにメイン担当を1人立てたことだと思っています。インフラならインフラ、デザインならデザイン、バックエンドならバックエンドで担当を決めて、その領域はその人が主導して進める。ただしレビューにはできるだけ全員に参加してもらう。この形にしたことで、役割分担もスケジュール管理もメンバー間で回るようになりました。

これまで見えなかった会議室の利用率を可視化

本番運用を開始したのち、蓄積された利用実績データを分析しました。予約4,378件に対して、チェックインは3,089件。チェックイン率は70.6%で、予約された枠のうち約3割は、実際には使われていなかったということです。

「使われていない会議室があるのではないか」という声は、以前からありました。それを数値で確かめられるようになったのは、本プロジェクトの成果の一つです。

M さん

プロジェクト責任者

そもそも、これまでチェックインという行為自体がなかったので、言ってしまえば0%からのスタートです。システムを作ってもらった結果として7割という数字が出てきた、というのが正確なところですね。

もちろん80%、90%に上げていきたいとは思っています。ただ、ここから先はシステムの問題ではなく、社内への啓蒙の話だとも感じています。本格的な運用開始からまだ日が浅いので、もう少し様子を見て、時間が経ってもチェックイン率が上がらないようなら別のアプローチを考えるつもりです。

次は、集めたデータを使う段階へ

利用実績データを可視化するダッシュボードは、現在は開発環境で試作している段階です。日々どの会議室がどれだけ使われているかを見られるところまで作っており、本番環境での整備はこれから進めていきます。データはすでに蓄積されているため、可視化の幅を広げること自体は難しくありません。

【Data Studio で可視化したダッシュボード】 8/11(火)は祝日のため、定例で入っていた会議が全て自動キャンセルされ、稼働率が0になっていることが分かる
【Data Studio で可視化したダッシュボード】
8/11(火)は祝日のため、定例で入っていた会議が全て自動キャンセルされ、稼働率が0になっていることが分かる

システムそのものについても、市販システムを超える品質と、KDDI グループ内での横展開を視野に入れた設計にしています。

C さん

設計・開発担当

このプロジェクトで一番の気づきは、エンジニアだけの用語や考え方では相手に伝わらない、ということでした。普段は周りもエンジニアばかりなので、コードの話で通じてしまうんです。要件定義から上流工程に関わって、エンジニアではない方と話す機会があったからこそ気づけました。今のプロジェクトでも、相手が分かるような説明の仕方を意識しています。

N さん

開発担当

要件定義から基本設計、詳細設計、開発、テスト、そしてリリースまで。プロジェクトの最初から最後までを半年ほどかけて全部経験できたのは、これまでのプロジェクトではできなかったことです。普段の業務では開発の工程から関わることがほとんどなので、プロジェクト全体の進め方を改めて学ぶ良い機会になりました。

J さん

開発担当

最初は、新卒入社でエンジニアとしての経験も浅かったので、自分の知識では役に立てないかもしれないという不安もありました。ただ、中途入社の方や自分より経験のある方、インフラエンジニアの方もいらっしゃったので、それぞれが持っている知識や意見を聞いて理解する、という進め方ができました。何かあれば聞ける関係性ができたことも、参加して良かったと思うところです。

本プロジェクトを通して、要件定義から設計、開発、リリース、そして運用まで、一連の流れを経験したメンバーそれぞれが普段の業務では得られない学びを持ち帰っています。KDDIアイレットは、こうした機会を通じて今後もエンジニアの成長を後押しし、得た知見をお客様の課題解決に還元してまいります。