見出し画像

Googleカレンダーを制すものは帳票を制す

普段はSalesforce関係が多いのですが、今日はGoogleカレンダーについてのお話です。
弊社リバネスではスケジュール管理はGoogleカレンダーを使っており、すべてのスケジュール調整がそこでなされています。どんなに面倒くさがりな人でもGoogleカレンダーには予定を入力します。その日どんな事をやる予定なのかを自分で把握することにも使いますが、他の人からも予定が分かることによってコラボレーションが進みます。
さて、今日はそんなGoogleカレンダーの弊社的な使い方を紹介します。

Googleカレンダーを帳票に利用する

弊社では様々な事業を行っていますが、その中で特に条件が厳しいものでは稼働状況を日報にして提出するというものがあります。年間プロジェクトで工数見積を出しているようなものに対して、実績はどうだったのか?を出す必要があるもので、それが複数プロジェクト走るという状態になっています。一つだけだったら適当にやってても帳尻が合えば良いのかもしれませんが、複数のプロジェクトが走っているとなると正確に時間を把握する必要が出てきます。同じ人が別々のプロジェクトの同じ時間に作業していたらそれは詐欺ですからね。そんな訳で日報を作り始める訳なんですけど、手作業でやってると本当に大変…。それこそ整合性取れてるのか?という状態が発生する訳で、現場はヒヤヒヤしながら作っていたように思います。
そこである日気付きました。Googleカレンダーの情報を使えば重複しないじゃないかと。
各スタッフには自分のカレンダー開いてもらって、ダブルブッキングをなくしてもらいます。加えて、特定のプロジェクトに関する予定にはプロジェクトIDを必ず入力してもらうことにしました。こうすることによって、特定のプロジェクトに関するスケジュールをすべて抜き出すことが出来るようになるのです。

GoogleCalenderAPIを利用して情報を抜き出すとこんな感じになります。

GoogleCalendarの情報を抽出して出力

誰が何月に何時間稼働したのかがぱっと分かるようになりました。
この表の下部には、各月の何日の何時から何時までに稼働したのかがわかるような表がくっついています。

工数削減効果は莫大

これを作ったのが2019年なのでかれこれ19,20,21年度と3年度が経過したのですが、年度末の報告書作成時の工数削減時間は圧倒的です。何しろデータの確認は各人がカレンダーでダブルブッキングが無いかと、招待された予定の出欠がきちんと登録されているかどうかを見るだけです。一年間は52週しかありませんのでぱぱぱっと確認することができます。非常に便利ですね。

ただ一点、注意点があるとすれば、退職等で削除済みになったユーザのデータは消えてしまうので弊社では年度末の締めが終わるまでは退職者のGoogleアカウントを維持する必要があるという点でしょうか。若干の出費にはなりますが、工数を考えれば圧倒的安さだと言えます。

実装方法

あまり詳しくは書きませんが、GoogleのPythonSDKを使って認証周り(OAuth)を実装。表示用のHTMLも報告書なのでシンプルなHTMLで構成されていますので、Pythonで簡単に作成しています。

ということで、以上がリバネスにおけるGoogleカレンダーの少し特殊な使い方の紹介でした。

noteにはこれまでの経験を綴っていこうかと思います。サポートによって思い出すモチベーションが上がるかもしれない。いや、上がるはずです。