アプリ概要
背景
私は、交通警備の会社で働いています。
交通警備とは、建築現場や土木工事現場、電気工事現場、ガス工事現場、水道工事現場、雑踏現場などさまざまな場所で、主に車両誘導として警備業務を行います。
他の会社の流れは良く知りませんが、私の会社では、
管制という部署の方が、警備員に対して、明日の現場の指示を出します。
警備員は、それに了解ですと返答する事で、明日の現場が確定します。
管制の指示の仕方は、LINE、SMS、電話などです。
次の日になったら、その現場に行って、警備業務にあたります。
日勤と夜勤があるのですが、
日勤の場合は、
業務の時間がおおむね、8:00〜17:00
なので、
明日の現場指示が、14:00〜18:00
に来ることが多いです。
夜勤の場合は、
出勤時間が、19:00〜3:00
現場指示が、当日の8:00〜15:00に来ます。
これが、一連の流れになるのですが、
会社全体では、1000件を超える現場案件を保有しており、警備員の数は、5000人を超え、管制の数は100人もいません。
私の支社では、
現場案件:250件程度
警備員数:700人程度
管制員数:6〜7名
です。
管制の方は、
これで、日勤と夜勤の現場案件を指示/管理しなければなりません。
相当忙しいです。
なので、そのプロセスの一部を業務アプリに任せることによって、少し業務効率できるのではないか、と思い考えたアプリが、S-Digital-Sub-Coreです。
この名づけの意味は、
私の働いている警備会社(セキュリティコーポレーション)のセキュリティという言葉の頭文字を取り、初めにSという文字、デジタル化するという意味で、Digital、業務に間接的に関与するという意味で、Sub、その中でもコアの機能に絞っているアプリケーションなので、最後に、Coreと付けて、それぞれの文字の間に、-(ハイフン)を挟みました。
読みは、エスデジタルサブコア、です。
管制の人にとっては、業務改善アプリケーションであり、警備の人にとっては、業務外事務処理効率化アプリです。
これが、とりあえず一旦の名称となりますが、
Sの部分を、私の会社の社名に変えたものが、正式名称となり、
◯◯-digital-Sub-Coreとなります。最終的には。
アプリケーションのタイトル名として表示/デプロイする名前は、MoreDigitalにします。
したがって、モアデジタル、がアプリ名となります。
課題
では、具体的にどんな問題があり、それはなぜ問題で、どう解決出来そうなのかを考察した上で、書き出します。
1番大きな問題としては、
管制から警備員に対しての現場指示の情報に誤りがあることです。
現場は、1回きりの現場はほとんど(99.9%)なく、何ヶ月も継続して工事を行います。
その為、同じ案件を、何日にも渡って、警備員に指示することになります。
また、さまざまな警備員が、その現場に入るので、多くの警備員に指示を出すとき、毎度、案件の情報を書き込まなくてはなりません。
そうなると、管制の方も人間なので、ミスをします。
管制の方が、警備員に、明日の現場指示を送るときに、集合時間や集合場所などを間違って送信することにより、
警備員は、誤った指示を受けてしまうことになります。
明日、警備員も、管制員も、共に困ります。
この問題をまずは、解決することです。
その上で、
操作性とUIによって、よりバリューを高めていきたいです。
具体的に、アプリの機能と画面について話していきます。
解決
まず、このアプリケーションを導入することによって、
一度、登録した現場の情報は、二度と再入力する必要を無くします。
管制の誰か1人が、案件を入力したら、あとは、クリックするだけで、案件の選択と送信までできるようにします。
また、案件を隊員に指示するときも、チェックボックスにより、一斉送信を可能にします。
もう本当に、管制の方々は、楽になると思います。
またこのときに、警備員によって、希望している連絡方法が異なる場合がありますので、希望連絡手段を送信画面にて、表示するようにします。
さらに、警備員の明日の現場の指示を受ける画面には、明日の現場の情報と、許諾ボタン、拒否ボタン、拒否の理由欄を設けます。
これにより、1画面で、確認と応答が、楽々、できてしまいます。
アプリの利用方法
なので、流れとしては、
管制の方が、案件をアプリケーションに登録します。
明日に、その現場がある案件は、未確定一覧から、その案件を選択し、隊員を選択し、送信します。
それが反映され、
警備員に通知が行きます。
通知には、大きく2つあって、
・明日の現場指示依頼
と
・明日の現場変更依頼
があります。
どちらも、明日の現場ページで、確認/応答できます。
応答したら、管制に通知が行きます。
最終的に、現場が必要人数が、許諾されたら、管制の方に、確定の通知がいくようになります。
自動で、確定されます。
しかし、確定した現場案件も、隊員を変えたい場合に、再依頼をかけれるようにします。
確定されたら、管制と警備員の両方に通知が行きます。
管制の方は、確定されたら、その案件は、未確定一覧ページには表示されなくなり、確定済み一覧ページに表示されるようになります。
警備員の方には、明日の現場ページに、明日の現場の詳細情報が表示されるようになります。
また、警備員には、過去に、自分が出勤した現場も確認できるように、過去の現場履歴ページもあります。
これが、このアプリのコア機能になります。
ここまでを、目指して、作ります。
要件定義
一言サービスコンセプト
利便性
と時間短縮
を提供します!
もしくは、
今まで5時間かけてやっていたことを2時間にしよう!
もしくは、
たった1つの業務アプリが、我々の人生を変える!
もしくは、
もしこんなアプリあったらいいのに...を叶えるアプリ
もしくは、
簡単に確認できて、楽々依頼できちゃう!案件一元管理アプリ
誰のどんな課題を解決するのか?
我々の会社の従業員の非効率な業務上の事務仕事
なぜそれを解決したいのか?
僕は、競合がいるサービスはやりたくありません。なぜなら、イノベーションじゃないからです。私がやりたいと思うビジネスや作りたいと思うプロダクトは基本的に全て、競合0な隙間市場にあるものOnlyです。今回のアプリも当然競合はいません。なんせ、会社専用アプリなので。
本題からずれましたが、なぜ解決したいのか?
理由は多岐に渡りますが、大きく2つです。
1つ目は、管制の方々は、業務効率アプリケーションが無いことによって、ミスが多発しています。それにより、減給されたり、別支社に飛ばされたりした管制員がいると聞いたことがあります。
2つ目は、警備員は、毎日の別現場への出勤が面倒で嫌になりすぐに辞めちゃうというのが日常茶飯事です。
もちろん、辞めるのはその人自身にも問題あるかもしれませんが、このアプリによって和らげることができると思っております。
どうやって解決するのか?
我々の会社の従業員全員が、同一のデータベースにアクセス可能なアプリケーションから、情報処理操作を行うことで、さまざまな情報の一元管理を可能にします。
機能要件
機能要件とはすなわち、絶対に必須なコア機能のこと:クライアント(アプリユーザー)が絶対に使うアプリ機能のこと
管制の方
- 案件登録
- 案件閲覧
- 案件編集
- 案件送信
- 案件一覧表示
- 案件解除
- 通知
警備の方
- 案件確認
- 案件許諾
- 案件拒否
- 通知
- 過去案件閲覧
非機能要件
セキュリティに興味があるので、セキュリティ
を勉強し、実装できる部分はやってみようと思います。
設計
自分の言葉で、アプリを説明する
管制アカウントでできること
-
全警備員の情報
を警備員一覧ページから確認できる -
既に決まった現場
を個々の警備員ページから現場解除・現場変更ができる -
新規の案件
を案件登録ページから登録できる
このアプリの利用方法
管制アカウント
新規案件を登録したい
- 全案件一覧に行く
- 新規登録ボタンを押す
- 案件登録ページで、案件の情報を入力し、登録ボタンを押す
- 案件登録確認ページで、記入した情報を確認し、確定ボタンを押す
既存案件を編集したい
- 全案件一覧に行く
- 案件をクリックする
- 個々の案件閲覧ページから、編集ボタンを押す
- 案件編集ページから、編集し、登録ボタンを押す
- 案件編集確認ページで確認し、確定ボタンを押す
既存案件を閲覧したい
- 全案件一覧に行く
- 案件をクリックする
案件を依頼したい
- 未確定案件一覧に行く
- 案件をクリックする
- 依頼したい隊員にチェックボックスを入れて、依頼送信ボタンを押す
- 案件依頼送信前確認画面で、内容を確認し、確定ボタンを押す
特定の警備員の明日の現場を変更したい
- 警備員一覧に行く
- 該当の警備員をクリックする
- 警備員のページから、現場変更ボタンを押す
- 現場変更ページから、依頼したい案件を選んで、クリック
- 案件依頼送信前確認画面で、依頼送信を押す
特定の警備員の明日の現場を解除したい
- 警備員一覧に行く
- 該当の警備員をクリックする
- 警備員のページから、現場解除を押す
特定の現場の警備員を解除したい
- 確定済み案件一覧に行く
- 案件をクリックする
- 解除したい警備員をチェックボックスにいれ、解除送信ボタンを押す
特定の警備員の情報を閲覧したい
- 警備員一覧に行く
- 該当の警備員をクリックする
自分の登録情報を閲覧したい
- マイページ(丸型のアイコン)をクリックする
警備アカウント
明日の現場指示を確認したい
- 明日の現場ページに行く/トップページのURLをクリック/リロードする
明日の現場指示に対して、返信したい
- 明日の現場ページに行く/トップページのURLをクリック/リロードする
- 確認して、許諾ボタンを押す/理由を記入して、拒否ボタンを押す
確定した、明日の現場の情報を閲覧したい
- 明日の現場ページに行く/トップページのURLをクリック/リロードする
自分が出勤した、明日の現場の履歴を確認したい
- 過去の案件一覧ページに行く
- 閲覧したい案件をクリックする
自分の登録情報を閲覧したい
- マイページ(丸型のアイコン)をクリックする
ページと機能の関係
管制アカウント
トップページ
- 各種ページに遷移するためのページ
警備アカウント
トップページ
- 各種ページに遷移するためのページ
ページと引っ張ってくるテーブルの連携図
管制
トップページ
- 未確定現場テーブル
全案件一覧
-
案件情報テーブル
-
明日の現場情報テーブル
未確定案件一覧
- 未確定案件テーブル
確定済み案件一覧
- 確定案件テーブル
警備員一覧
-
警備員情報テーブル
-
明日の現場情報テーブル
-
確定隊員テーブル
-
確定隊長テーブル
通知一覧
- 管制員通知テーブル
マイページ
- 管制員情報テーブル
警備員
明日の現場
パターン①
-
明日の現場情報テーブル
-
確定隊長テーブル
-
確定隊員テーブル
パターン②
-
案件情報テーブル
-
確定隊長テーブル
-
確定隊員テーブル
パターン③
- 何テーブルともやりとりしていない
過去の現場履歴
- 過去現場履歴テーブル
通知
- 警備員通知テーブル
マイページ
- 警備員情報テーブル
通知トリガー
管制の通知:どんな時に通知されるか(何が、トリガーになって通知されるか)
- 警備の応答があった時
- 案件が確定した時
警備の通知:どんな時に通知されるか(何が、トリガーになって通知されるか)
- 現場の指示が来た時
- 現場が変更になった時
- 現場が解除された時
- 案件が確定した時
業務フロー
管制
案件登録フロー:登録フォームから、案件を入力する→登録ボタンをクリック→アラートが出てくる→OKを押す→DBに登録される
案件送信フロー:未決定の案件一覧ページから、案件をクリック→個々の案件ページから、依頼ボタンをクリック→まだ明日の現場が決まってない隊員の一覧から、依頼したい隊員にチェックを入れて、送信ボタンをクリック→アラートが表示され、OKを押す→DBに保存される→警備員の明日の現場ページが更新される
警備
案件確認フロー:警備員の明日の現場ページを表示する→リロードボタンを押す→もし、自分の案件データベースが更新されていたら、表示される
案件許諾フロー:明日の現場ページから、許諾ボタンをクリック→アラートをOK→データベースに保存→管制に通知が行く
案件拒否フロー:明日の現場ページから、理由を書いて(バリデーションをつける)、拒否ボタンをクリック→アラート→データベースに保存→完成に通知がいく
確定後の案件確認フロー:明日の現場ページから、明日の現場(明日の天気、現場の最寄駅、電車の通勤経路、現場と自宅から徒歩で駅から・現場と自宅から駅までの通勤経路、現場の集合時間等の情報)を確認できる(ただ開くだけ、リロードするだけ)
画面遷移図
管制
ログインページ → トップページ(未確定現場一覧ページ)
どのページからでも(ヘッダーから) → 全案件一覧ページ
全案件一覧ページ → 個々の案件ページ
個々の案件ページ → 案件編集ページ
案件編集ページ → 案件編集確認ページ
全案件一覧ページ → 案件登録ページ
案件登録ページ → 案件登録確認ページ
どのページからでも(ヘッダーから) → 未確定案件一覧ページ
未確定案件一覧ページ → 未確定案件ページ
未確定案件ページ → 案件依頼送信前確認ページ
どのページからでも(ヘッダーから)→ 確定済み案件一覧ページ
確定済み案件一覧ページ → 確定済み案件ページ
どのページからでも(ヘッダーから)→ 通知一覧ページ
通知ページ → 個々の通知ページ
どのページからでも(ヘッダーから)→ 警備員一覧ページ
警備員一覧ページ → 個々の警備員ページ
個々の警備員ページ → 現場変更ページ
どのページからでも(ヘッダーから)→ マイページ
どのページからでも(ヘッダーから)→ 通知一覧ページ
どのページからでも(ヘッダーから)→ マイページ
その他
サインアップページ → サインアップ確認ページ
ワイヤーフレーム
管制
- 案件登録ページ
- 案件登録確認ページ
- 案件編集ページ
- 案件編集確認ページ
- 全案件一覧ページ
- 個々の案件ページ
- 未確定案件一覧ページ
- 未確定案件ページ
- 確定済み案件一覧ページ
- 確定済み案件ページ
- 案件依頼送信前確認ページ
- 確定済み案件ページ
- 警備員一覧ページ
- 個々の警備員ページ
- 現場変更ページ
- 通知一覧ページ
- 個々の通知ページ
- マイページ
警備
- 明日の現場ページ(3パターンの状態が存在する)
- 過去の現場一覧ページ
- 個々の現場確認ページ
- 通知一覧ページ
- 個々の通知ページ
- マイページ
その他
- サインアップページ
- サインアップ確認ページ
- ログインページ
管制
案件登録ページ
案件登録確認ページ
案件編集ページ
案件編集確認ページ
個々の案件ページ
全案件一覧ページ
未確定案件一覧ページ
確定済み案件一覧ページ
確定済み案件ページ
未確定案件ページ
案件依頼送信前確認ページ
警備員一覧ページ
個々の警備員ページ
現場変更ページ
通知一覧ページ
個々の通知ページ
・警備員からの応答
・現場の確定
マイページ
警備
明日の現場ページ(3パターンの状態が存在する)
・案件待ち画面
・案件応答画面
・案件情報確認画面
過去の現場一覧ページ
個々の現場確認ページ
通知一覧ページ
・現場変更
・現場指示
・現場解除
・現場確定
マイページ
その他
サインアップページ
サインアップ確認ページ
ログインページ
テーブル定義書(もしくは ER 図)
案件情報テーブル
:案件ID
:案件名
:元請け会社
:集合場所
:集合場所住所
:最寄駅
:集合時刻
:開始時刻
:勤務時間
:終了予定時刻
:隊員数
:業務内容
:注意事項
明日の現場情報テーブル
:案件ID
・案件名
:日付
:確定か否か
:天気
確定隊長テーブル
:案件ID
:隊員ID
確定隊員テーブル
:案件ID
:隊員ID
確定案件テーブル
:案件ID
未確定案件テーブル
:案件ID
警備員情報テーブル
:警備員ID
:属性
:苗字
:名前
:誕生年
:誕生月
:誕生日
:住所
:最寄駅
:入社年月日
警備員ログインテーブル
:警備員ID
:パスワード
管制員情報テーブル
:管制ID
:属性
:苗字
:名前
:誕生年
:誕生月
:誕生日
:住所
:支社
:入社年月日
管制員ログインテーブル
:管制員ID
:パスワード
過去現場履歴テーブル
:案件ID
:隊員ID
管制員通知テーブル
:通知ID
:通知属性
:通知タイトル
現場許諾通知テーブル
:通知ID
:案件ID
:隊員ID
:通知タイトル
:通知内容
現場拒否通知テーブル
:通知ID
:案件ID
:隊員ID
:通知タイトル
:通知内容
:理由
現場確定通知テーブル
:通知ID
:案件ID
:通知タイトル
:通知内容
警備員通知テーブル
:通知ID
:通知属性