【作業ログ管理】TogglとData Portalを連携したら可視化と分析が捗った話【続・可視化はロマン】
「自分は仕事中、何にどれだけ時間を費やしているのか?」
今回のテックブログは、可視化好きの市野さんによる「作業ログの把握」のお話です。4月から兼務がついて急に忙しくなった、複数のプロジェクトにアサインされた、など「効率的な時間の使い方」について考えたい方は要チェックです!
はじめに
こんにちは。
メディアラボの市野です。4月付でデジタル・イノベーション本部(現・朝デジ事業本部)からメディアラボに異動しました。新規事業関連を担当しています。相変わらず本業とは別に、業務改善や可視化を趣味に生きています。
以前、業務ログの可視化ネタを投稿させていただきました。あれから、「もっと手軽にやりたい」「スケジュールデータがない」、、、みたいなレスポンスはなかったのですが、そんなニーズが私にはあったので、システムを改善してみました。
この記事では、TogglとGoogle Data Portalを利用した作業ログの管理と可視化について解説します。
これまでの課題
以前のシステムではデータはOutlook、Google Calendarから取得していました。これらはいわゆる予定表アプリであり、「このプロジェクトのこの作業」みたいな細かい作業ログを入力することに特化したUIではありません。
そのため、作業ログの入力負荷が課題になっていました。タイトルを「<プロジェクト名>: <作業名>」みたいに工夫して予定表データに情報を詰め込もうとしますが、プロジェクト名の統一ができないことが多々ありました。あれ、あの案件のプロジェクト名ってXXXって入力してたっけ?みたいな感じです。
つくってみた改善システム
OutlookとGoogle Calendarのデータ連携に関しては前回と同じです。Google App Script(以下、GAS)を利用して、Google SpreadSheetに記載。それをデータソースとしています。
今回のポイントは、TogglとData Portal連携のためのToggl Connectorです。詳細は後ほど記載しますが、Connectorを経由してData Portalから直接Togglのデータにアクセスすることが可能です。そのため、SpreadSheetが不要になり、GASを使ったTogglとSpreadSheetの同期処理を実装しなくてもよくなります。この開発が手間だったのでとてもハッピーです。
Toggl(Track) について
Togglはエストニアのタリンに本拠を置くTogglOÜが開発するタイムトラッキングアプリ 。タスクタイマーまたは手動入力で作業時間の記録とタスクとプロジェクトに基づいたレポートをすることができる。ウェブアプリ・デスクトップアプリ・モバイルアプリが用意されている。
https://ja.wikipedia.org/wiki/Toggl_Track
タイムトラッキング用のサービスです。無料でも個人利用する分には十分な機能が提供されています。今回の要件である、細かい作業の記録には最適なサービスです。動画内で紹介があるように、プロジェクトやタグの管理ができます。UIが洗練されていて、クロスプラットフォームなのもポイントです。詳細は以下の動画をご覧ください。
お察しの通り、このTogglだけで記録のみならず可視化までできちゃいます。レポートをカスタマイズしたい、他サービスの情報と統合したい、みたいな要件がなければ、基本的な作業の可視化・分析はこれ1つで十分です。
Togglですべてを記録しよう
少し話が逸れますが、私の場合は24時間の行動すべてをTogglで記録しています。休日や仕事の時間の使い方がひと目で分かるので非常におすすめです。
24時間のタイムテーブル
プロジェクト一覧
プロジェクト毎に色分けや関わる組織が指定できて便利です。
Toggl connectorについて
Data PortalはデータをAPIで取得するといったニーズのためにConnectorという仕組みを提供しています。
Connectorは文字通り、Data PortalとAPIを繋ぐ役割を担います。例えば、Data Portalで表示するデータの日付を指定した際に、Connectorはその日付情報をもとにAPIでデータを取得。そのデータをData Portalのデータソースとして提供するものです。
前述のTogglとData PortalのConnectorがGASで実装されたものです。今回はこれを利用しました。Togglでは作業のプロジェクトなど各種メタ情報を管理していますが、それらもData Portal側に読み込まれます。
使い方はこちらを参照してください。
https://github.com/joshuatz/gds-toggl-connector#installation-process-for-users
2021/05/17時点では、タグ情報には対応していないようです。
上で紹介したConnectorを使ってみた様子がこちら。Data PortalのデータソースとしてTogglの22項目の情報が取得できました。
表示したいグラフに応じて、可視化する項目を関数を利用して作成しています。例えば、仕事とプライベートの割合を可視化するために、「Client Name」という要素に応じて出力を変換する以下のようなロジックを用意しました。
CASE
WHEN REGEXP_MATCH(Client Name,"朝日.*") THEN "朝日新聞"
WHEN REGEXP_MATCH(Client Name,"フリーランス.*") THEN "フリーランス"
ELSE "プライベート"
END
結果
Data Portal自体は前回の内容とほぼ同じです。先週の時間の使い方を自分自身で把握するために、このレポートを週に一度メールで定期配信するようにしています。
感想
既存の業務可視化システムにTogglを連携することで、より手軽に効率よく作業ログを記録・可視化することができました。
今回の取り組みで気になったのは以下の2点。
- 積み上げグラフの表示ができない
- データ読み込みが不安定
一番気になったのはこちら。Connector経由のデータでは積み上げグラフの表示ができません (恐らく)。各スプリントでそのプロジェクトがどの割合で時間を使っているのか、時系列で表したいと思っていました。が、どうにもグラフの表示に失敗します。どうやらTogglのデータ保存形式、そして現状のConnectorでは、積み上げグラフを表示するための期間ごとの集計には対応していないようです。
時々データの読み込みに失敗することがあります。Data Portalのページが読み込まれるに伴い、Connector経由でTogglのデータを取得するはずなのですが、時々ダッシュボード上でエラーが表示されます。ページを再読み込みすると適切に表示されることがほとんどです。
少し問題はあったものの、Togglと連携できたことで可視化データをより充実することができました。今回も作って満足だけじゃもったいないと思いつつも、作るだけでも十分楽しいのが可視化の魅力。可視化の道は続くよどこまでも。
可視化はロマン。
(メディアラボ・市野晴之)