LCL Engineers' Blog

バス比較なび・格安移動・バスとりっぷを運営する LCLの開発者ブログです。

1日のスケジュールを可視化してタスク消化率の最適化を図る

1日のスケジュールを可視化してタスク消化率の最適化を図る

モバイルアプリエンジニアの山下です。
今年からGoogleカレンダーにその日のタスクを予定として登録しています。

f:id:lcl-engineer:20180605130225p:plain

これにより、以下のメリットがあります。

  • 日毎に消化したタスクを後から見返せる
  • イベント・MTGや勤怠管理と一緒に予定を管理できる
  • 他の人にスケジュールを共有できる

加えて、LCLでは始業の際に朝会で行うようなスケジュールの共有をチャット上で行っており、スケジュール内容をフォーマットに沿って投稿するようにGASを使って自動化しています。

techblog.lclco.com

これらのメリットから始めた当初は満足していたのですが、運用から5ヶ月を経ちいくつかの問題が出てきました。

  • タスク消化時間を集計しづらい
  • 同じタスクを分割して登録する必要がある
  • 予定と作業時間の差分がみえなくなる
  • 作業ノイズがわからない

より詳しく落とし込みんでみます。

現状の問題

タスク消化時間を集計しづらい

社内メンバーへの共有やGASでの操作を兼ねているため、Googleカレンダーの予定はすべて個人に紐づくカレンダーで管理しています。そのため、予定をプロジェクトやIssue別などでの分類ができず、集計する際は目grepで手動で分類して合算する必要がありました。上記でメリットとして挙げたイベント・MTGなどと一緒に管理できることも仇となっていました。

同じタスクを分割して登録する必要がある

以下の際に同じタスク(=予定)を分割して登録する手間がありました。

  • 着手日が日を跨ぐ
  • 昼休みやMTGを挟む
  • ポモドーロ風に短時間で区切る

分割しない手段も考えましたが、作業時間とのマージンが発生することや着手した時間が明確に判断できない場合があることは防ぎたかったので都度分割する運用を選びました。

予定と作業時間の差分がみえなくなる

良くも悪くもスケジュール通りにタスクが終了することは殆どありませんでした。
あくまでも振り返り用の記録なので、予定の時間がズレた際は実作業時間に合わせて時間を変更していました。 これにより予め設定した時間が上書きされてしまうため、見積もりミスが不透明のままでした。

作業ノイズがわからない

スケジュール通りに終わらない主な原因は作業中に発生するノイズでした。
ノイズとは、以下のことを示しています。

  • チャットを確認する時間
  • 緊急でないチャットに返信する時間
  • タスクに関係ない考え事をしてしまう時間

"緊急でない"、"タスクに関係のない"ことをしているのが問題です。
LCLではチャット文化が浸透しており非同期なやりとりができる環境であるため、大抵のことは後回しでよいにもかかわらず、つい反応をしてしまいます。

これを解決するには、チャットの確認や考え事をすることに対しても別に時間を設け、その時間でまとめて消化することで集中する時間が確保できると思いました。

以上のことから、タスクをスケジュールとして登録したものの振り返りや問題を洗い出す手段には活用できておらず、直近の行動にも殆ど良い影響を与えてないことが判明しました。

このままでは意味のない取り組みになってしまっているため改善することにしました。

理想

改善をする前にどのように運用をしたいかの理想を挙げることにします。

  • 簡単に記録したい
  • 柔軟に記録したい
  • 作業中以外(ノイズ)の時間も記録したい
  • 簡単に集計したい
  • 同じタスクを散らばらせたくない
  • 運用コストを掛けたくない
  • 短時間で集中する意識を持ちたい

その上で、現状のメリットを維持したいと思います。

  • 日毎に消化したタスクを後から見返せる
  • イベント・MTGや勤怠管理と一緒に予定を管理できる
  • 他の人にスケジュールを共有できる

検討

短時間で集中する意識を持つには、ポモドーロを活用するのがよさそうでした。LCLには元々ポモドーロを活用しているエンジニアがいましたが、先日のがんばるタイムの試行を経て他のメンバーもいつでも短期集中を図るためにこの働き方を採用していました。

techblog.lclco.com

ポモドーロで有効なツールといえば『Toggl』ですが数年前に利用した際はあまり機能が豊富でなかった記憶があったため、今時のイケてるツールがないか探しました。

いくつかの候補から『Timely』と『Hours』がよさそうだと思い、数日使ってみました。

現状のメリットに対しては、いい機能がない限りは既存の運用を続ける方向で考えました。

検証

手間がかかりますが2つのツールを同時に利用することにしました。 それぞれのメリデメと感想を共有したいと思います。

Timely

Timelyはtogglの様なタイマー主軸のツールサービスではなく、プロジェクトとそれに紐づく予定(≒タスク)を定義しておき後からタイマーや自動トラッキングで作業を記録する利用方法となっています。

現状の運用方法に似ていることから、導入しやすそうだったのが採択理由です。

UI

f:id:lcl-engineer:20180605130336p:plain

GoogleカレンダーやGitHubと連携でき、カレンダーの予定やコミット内容が右側のタイムラインに表示されます。 このキャプチャには載ってませんが、PCに専用のアプリを入れることでもっと細かな自動トラッキングができます。

これだけでも十分そうですが、しっかりとスケジュールを管理する機能もあります。
キャプチャ内の黄色い箇所が手動で追加したスケジュールです。

f:id:lcl-engineer:20180605130348p:plain

基本的にはこの部分を事前に追加して、着手する際にタイマーをスタートさせ計測します。
スケジュールは右側に表示された外部連携の内容を丸々採用することもできます。

登録したスケジュールよりも多く記録された場合は、左側のカード内が格子柄で表示され差分がわかりやすくなっています。

集計

集計は自動で行われ、様々なレポートのテンプレートがあります。
又、ユーザ単位だけではなくプロジェクト単位でも集計できます。

メリット
  • タイムライン上に行動が表示されてわかりやすい
  • 他のサービスやアプリと連携できる
  • 自動トラッキング機能がある
  • スケジュールを事前に組める
  • スケジュールと実作業の差分がみえる
デメリット
  • ポモドーロしやすさを感じない
  • 計測までのアクセスが悪い
  • 運用コストが高い
  • タスクの同一判定ができない
  • 日本語入力に不具合がある
使用感

採択した理由は既存の運用に似ているからでしたが、これでは集計がラクになっただけで意識の面では違いが生まれなかったのであまり効果がありませんでした。また既存のメリットを維持するためには、Googleカレンダーの運用は継続する必要があるため、役割が被ってしまいます。

単体で使う分にはとてもいいサービスだと思いましたが、今回求める使い方では運用コストが高くついてしまいしょうなので断念しました。

Hours

Hoursはtogglに似たタイマー主導のサービスです。 横軸のタイムラインがあり、これを埋めていくシンプルなUIとなっています。

UI

f:id:lcl-engineer:20180605130404p:plain

計測する際は右側のタイマーアイコンをタップします。 又、タイムラインの横軸をタップすることで後から修正が可能です。

f:id:lcl-engineer:20180605130414p:plain

タスクはアーカイブするまで一覧に表示し続けます。
タスクの同一判定自体はできないものの、継続して計測するので実質タスクがバラけてしまう問題は解決しています。

集計

こちらも集計はユーザやプロジェクト毎に行うことが可能です。
レポートも必要最低限のものが揃っています。

メリット
  • UIがシンプルでわかりやすい
  • 操作が単純で使いやすい
  • ポモドーロしやすい
  • タスクを同一にまとめられる
デメリット
  • 他のサービスやアプリと連携できない
  • 自動トラッキングがない
  • スケジュールを事前に組めない
  • スケジュールと実作業の差分はみえない
使用感

Timelyとは違うタイプのサービスで、やはりこちらが今足りないものではないかと感じました。
Timelyは高機能ゆえに操作やUI自体に軽快さを欠けていましたが、こちらはシンプルなUIで毎日使っても苦のない感じでした。ただ、やはり運用のサポート面では少し不十分に感じます。例えば、経過時間やリマインダー等の通知が受け取れないので計測漏れが発生してしまうことも多かったです。また、自動トラッキング機能もないため記録していない部分は完全な空白の時間になってしまいました。

試行を経て

2つのサービスはそれぞれいい印象を持ちましたが、共通して課題点がありました。

  • PCアプリ、拡張機能が無いためタブを常に開いている必要がある
  • 通知が受け取れない(モバイルアプリはありますが作業の前後で都度スマホを開くのは面倒)
  • ポモドーロのサポート機能がない

一番最後のポモドーロのサポート機能がないことについては、元々自分で区切りをつけて運用するつもりだったため必須ではなかったものの、それ以外は不足していると個人的に継続することが難しいと思いました。

そこで今一度、Togglを使ってみることにしました。

Toggl

言わずとしれたタイムトラッキングツールで、タイマータイプのHoursのようなサービスの多くがTogglにインスパイアされたものです。

PCアプリ・モバイルアプリ・Chrome拡張機能などアプリケーションがしっかり揃ってるため、どこからでも操作が可能です。

ポモドーロをサポートしているため、設定した時間間隔で自動的にタスクが終了し休憩モードに入るように設定できます。 このおかげできっぱりと手を止めれるため、だらだらと作業することを防げます。

f:id:lcl-engineer:20180605130456p:plain

UI

f:id:lcl-engineer:20180605130506p:plain

作業する際にタスクを追加するか、既存のタスクを続けるかで操作します。 既存タスクを使い回すことで同じタスクは実質同一判定ができます。

f:id:lcl-engineer:20180605130520p:plain

自動トラッキング機能も備わっており、トラッキング内容が15分毎に表示されます。
アプリケーションごとに内容も細かく表示されるため、例えばChromeであれば何のページをどれくらい見ていたかも把握できます。

集計

ユーザ、プロジェクト、タグごとの集計が可能です。

メリット
  • タイムラインで活動量(≠作業量)が把握できる
  • 他のサービスやアプリと連携できる(網羅数が多い)
  • 自動トラッキング機能がある
  • ポモドーロがサポートされている
  • 計測までのアクセスが良い
  • UIがシンプルでわかりやすい
  • 操作が単純で使いやすい
  • タスクを同一にまとめられる
デメリット
  • スケジュールを事前に組めない
  • スケジュールと実作業の差分はみえない

まとめ

- Timely Hours Toggl
簡単に記録したい
柔軟に記録したい
作業中以外(ノイズ)の時間を記録したい
簡単に集計したい
同じタスクを散らばらせたくない
運用コストを掛けたくない
短時間で集中する意識を持ちたい

3つのサービスを使用してみましたがTogglが機能とサポート面で頭一つ抜けていました。
また料金面でも上の2つが課金必須のところTogglは無料で使える上にほとんど制限もありません。

この働き方を始めて短期集中の意識が高まりチャットを見る時間も減りました。
そして以下のメリットがありました。

  • 1Issueごとの実作業時間が可視化された
  • 実作業時間と見積もりの誤差が明確にわかるようになった
  • 日や週ごとでどれだけ作業時間が削られるかの傾向がわかった

これにより優先度重視で大雑把にスケジュールを組んでていたものを、日々の傾向を元にしたタスクの回しやすさで組むようになったため、タスク消化率が最適化されました。