LCLの開発者ブログ2018-04-20自動タイムトラッキングツールのGTMを手動のTogglの結果と比較してみた業務改善フロントエンドエンジニアの岡田です。エンジニアは工数を出す機会が多いと思いますが、みなさんはどのようなツールを使っていますか?私は数年前から、Togglというツールを使って計測しています。仕事を始める前にはボタンをポチッと押し、終わったらポチッと止める。Togglの前に使っていたツールを合わせると5年以上このスタイルで仕事をしているため、今ではすっかり習慣になっています。手動での計測は、以下のデメリットがあります。押し忘れたり、止め忘れることもたまにある突然話しかけられた時など、切り替えるのが面倒そこで自動で計測ができる、GTMというツールを導入し、使い慣れたTogglと結果を比較してみました。良いところ・良くないところToggl良いところ良くないところGTM良いところ良くないところまとめTogglとは作業の前後にボタンを押して計測する、手動のタイムトラッキングツールです。toggl.comブラウザでログインをしてすぐに使えます。Linux)やiOSアプリもあります。デスクトップアプリでは、ポモドーロにも対応しています。Metric)とはGitの履歴と、エディタに入れたプラグインを使って、自動でタイムトラッキングするツールです。準備さえしてしまえば、あとはいつもどおりコーディングするだけで、自動的に時間を計測してくれます。git-time-metricGTM導入方法インストールHomebrewからインストールします。gtmエディタプラグインのインストール以下のエディタに対応しています。AndroidStudioVSCodeTerminalそれぞれのインストール方法は、公式ドキュメントに記載されています。Atomの場合は以下のパッケージを入れます。git-time-metric※インストール後はAtomの再起動が必要です初期化プロジェクトごとに初期化します。init以上で設定は完了です。あとは普段どおりにコードを書くだけです。3/20の1週間で、夜行バス比較なびの各issueにかかった時間を集計しました。TogglWeb上のReports画面で期間を選ぶと、集計されます。集計の単位は、clientとprojectが選べます。現状は、clientには対応するサービスの名称(夜行バス比較なび、格安移動、等)、projectにはissue番号を入れています。GTMコマンドを打って出力します。2018-03-20コミット毎に時間が出力されます。今回は、issueごとに集計する必要があるため、この情報を使います。コミット毎の時間はわかるものの、issueをグルーピングする情報はコミットメッセージにつけた文字情報(issue番号)しかありません。そのため、集計するためには文字列を解析する必要があります。スプレッドシートを駆使して手動で集計しました。今回の集計では使いませんが、以下のコマンドを打つと、タイムライン形式で表示されます。印のついていない時間が多いですが、他のプロジェクトの仕事や開発以外の仕事をしている時間です。集計結果TogglとGTMの計測結果を表にまとめてみました。※小数点以下は切り捨て結果にはかなり開きがあります。GTMでは実際にコードを書いている時間しか計測できないため、以下のような時間が漏れているのだと思います。良いところ・良くないところ結果をふまえて、それぞれのツールの良いところと良くないところをまとめました。Toggl良いところ準備が簡単。アカウントを作ればすぐに始められる計測が正確(ただし押し忘れなければ)コードを書いていない時間も計測できるReportがいろいろな形式で見やすく、集計しやすい良くないところ計測が手動(慣れないとボタンを押し忘れる)GTM良いところ計測が自動(ボタンを押さなくて良い)タイムラインがおもしろい(Togglにもあるのかもしれないが見つけられず)良くないところプロジェクトよりも細かい単位では集計するのが大変。issueごとに集計する場合は、自分で加工が必要コーディング以外の時間が入らないため、短期間で見ると結構ずれがあるまとめ今回は短期間(1週間)かつ細かい単位(issue単位)で比較してしまいましたが、GTMはこのパターンが苦手なようです。長い期間で大きな単位、例えば3ヶ月間でプロジェクトAとプロジェクトBにかけた時間の割合を比較する、といった用途ならGTMでも役に立ちそうです。仕事に慣れるまでの方や、細かく記録したい方はTogglが向いていると思いますので、用途に合わせて使い分けるのが良さそうですね。09:00Tweet関連記事2018-12-28技術ブログを執筆する上で気をつけていることモバイルアプリエンジニアの山下(@yamshta)です。hooksをovercommitで管理して作業効率の底上げを狙うチームで開発を進める上でちょっとした"決まりごと"が存在する...2017-06-28パフォーマンス計測ツール:SpeedCurveの使い方フロントエンドエンジニアの岡田です。今回は、パフォーマンス...2017-04-03ES5からWebpack管理下の関数を呼び出す方法フロントエンドエンジニアの岡田です。1検索はてなブログをはじめよう!lcl-engineerさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。