# プロジェクト概要
累計導入施設数2000以上の自社サービス(宿泊予約システム)の開発・運用保守
# チーム情報
チーム構成:7名(部長、現行サービス担当4名、後継機サービス担当2名)
※バックエンドエンジニアの1メンバーとして現行サービスに入り、以下を担当してきた。
# 開発・実装内容A
【概要】
自社サービスの操作方法を紹介した動画の統計調査
【どのような機能の開発・実装か】
期間指定と動画指定をして「検索」をクリックすると、
①顧客の詳細情報とどの動画を再生したかが分かる。
②各動画が合計何回再生されたかが分かる。(棒グラフも表示する)
③ボタンをクリックするとCSVファイルをダウンロードできる。(①,②の結果をそれぞれ取得できる)
【課題・問題点】
自社サービスのアプリケーション内に、機能の使い方を紹介する動画を掲載している。
動画は毎回テーマを相談し、月に1度アップロードを行う。
顧客(旅館・ホテル従業員)はマニュアルや動画を見てサービスの操作を行う。
顧客獲得や機能の分かりにくさの解消のため動画を注力することになり、カスタマーチームが動画再生数やどの顧客が見ているか等を集計することになった。
これまでは集計できる機能がなかったが、新規で集計機能を追加することになった。
カスタマーチームからは「こういう機能が欲しい」と要望があったが、「何が必要かは集計をやってからでないとわからない」とも話しており漠然としている印象だった。
主体的に詳細をすり合わせる必要があった。
【打ち手・使用した技術】
以下2点を行った。
①エクセルで図を作ってカスタマーチームに提案した。
イメージをすり合わせたうえで、カスタマーチームと必要な機能を相談した。
②要望に対してそのまま作るのではなく、実際の使用場面を想定して必要な機能のみに絞って使いやすいようにした。
- VBScript:HTMLのformやSQLの埋め込みなど(フレームワーク:なし)
- JavaScript:動画をクリックしたらイベントの発火(フルスクリーンにする、フラグを立てる、idの取得)、動画再生回数のカウント(Ajaxの非同期通信を使用)
- SQLServer:動画をクリックしたらいつ・誰が・どの動画を閲覧したかDBにインサートする
- AWS(EC2):自社サービスに動画をアップする際に保存先として使用
- Subversion:ソースコード管理
- Backlog:タスク管理
【取り組みの成果】
その結果、以下3点の効果があり業務の効率化を図ることができた。
①これまでは開発チームに依頼→集計というフローだったが、
社内の人が閲覧できる管理画面に検索機能を設置することで 各自必要なタイミングで作業ができるようになった。
②期間指定や動画指定など、細かく条件指定ができるようになった。
③グラフ機能をつけたので視覚的にわかりやすくなった。
# 開発・実装内容B
【概要】
自社サービスの操作方法を紹介した動画のアップロード方法
【どのような機能の開発・実装か】
自社の社員のみログイン可能なページに動画をアップロードできるようにする。
①入力画面、確認画面、実行画面を用意し、「実行」ボタンを押すとDBにインサートされる。
(入力画面では、動画タイトル、公開日、動画のURL、サムネイルのURLを入力する。
動画はAWSにアップロードしている。)
②動画一覧画面に①で登録した動画の情報が追加される。
③公開・非公開の切り替えボタンを設置する。
「公開」のときは自社サービスで動画を公開して閲覧可能な状態にする。
【課題・問題点】
・DBで管理しておらず、VBScriptの二次元配列にURLを格納して、HTMLで動画を表示していた。
動画をアップするたびにコードが増えていく仕様となっていた。
・本番環境へのアップ作業は担当者が修正前後のファイルを用意して
上司が行っていたが、担当者と上司それぞれの工数が発生していた。
【打ち手・使用した技術】
以下2点を行った。
①VBScriptの二次元配列への格納からDBで管理するように書き換える。
すでにアップしている動画についてはDBに格納しておく。
該当のデータをSELECTで取得して表示する。
②本番環境へのアップ作業を廃止
AWSへの動画のアップロードと動画タイトル、公開日、動画のURL、サムネイルのURLを登録したら
動画が公開できるようにした。
- VBScript:HTMLのformやSQLの埋め込みなど(フレームワーク:なし)
- JavaScript:動画をクリックしたらイベントの発火(フラグの切り替え、idの取得)、「表示」「非表示」の切り替え(Ajaxの非同期通信を使用)
- SQLServer:動画タイトル、公開日、動画のURL、サムネイルのURLをDBにインサートする
- AWS(EC2):自社サービスに動画をアップする際に保存先として使用
- Subversion:ソースコード管理
- Backlog:タスク管理
【取り組みの成果】
その結果、以下3点の効果があり業務の効率化を図ることができた。
①コードの修正の手間がなくなった。
②担当者の作業量を0.5人日削減することができた。
③仕様変更で動画を非公開としたい場合に、ボタン1つで切り替えができるようになった。