見出し画像

Asanaで工数管理ができないか(道半ば)

こちらはAsana Ambassadors(Japan)主催、Asanaコミュニティ Advent Calendar 2023の12/19のエントリーです。今年初めて参加させていただきました。お手柔らかに…。


はじめに

Asana Ambassadors

Asana Ambassadorsは、Asanaユーザーが集まるコミュニティで、Asanaを自社内に広めたい、Asanaをもっと知りたい頑張る人たちの集まりです。Slackには世界のambassadorsがいらっしゃいますが、Japanチャンネルだけでも、Asanaの中の方やAsanaのベテランユーザーさん(?)も参加されていて、非常に勉強になります(長橋さん(@akiko_n)、みなさん、いつもありがとうございます!)。
Asanaユーザーならどなたでもご参加いただけますので(たぶん)、こちらから是非どうぞ!

自己紹介(いつもの)

初めてご覧くださる方もいらっしゃるかもなので、軽く自己紹介しておきます。某ソフトウェア関連の企業で法務と情シスを担当しています、なかじょーと申します(ローマ字表記はNakajohの「h」がポイントです。その他、少し詳しい自己紹介はこちらにございます。物好きな方はどうぞ。)。

テーマについて

当初、Slackの投稿からAsanaのタスクを自動作成(しかもスレッドでの返信もコメントに入っちゃうやつ)について書こうと思っていたんですが、つい先日、「Asanaで工数管理できたらよさそうだよなー」と思って色々調べてみたところ、現時点では実例やまとまった情報が見当たらなかったので、こちらを書くことにしました(Slackの投稿から~の方はSlack JCNのアドベントカレンダーのエントリーにしました。)。

ただ、タイトルにもあるように、僕も実際に活用し始めたわけでもなければ、具体的な解決方法が見つかったわけでもない、実に中途半端な状況でこれを書いています。
なので、「へぇ~、もしかしたらうまいことできるかも…?」くらいな感じで気軽にお読みいただければと思います。

理想の(?)工数管理を探す旅

現状と問題点

僕の勤め先では、現状、エンジニアのみ某工数管理SaaSを使っていて、プロジェクトごとの工数を記録し、原価に反映させています。
ただ週次でざっくり入れているだけなので、それでいいのかという問題もありますし、エンジニアからも、もうちょっとちゃんと記録したい(でも簡単に)みたいな声が聞こえてきています。
これを現在利用しているSaaSでやろうとすると、UIがあまりよろしくなくて負荷が爆上がりなのですが、他方で、Salesforceやkickflow、勤怠関連SaaSといくらか連携させてしまっているので、工数管理の仕組みを変えるのであれば、その辺りも考慮しなければいけません…。

要件

実はまだ全部の要件を確認できていないのですが、主なものは以下のとおりです(3以外は一般的にもこんな感じですかね。)。

  1. どのプロジェクトに、誰が、いつ(最低日ごと)、どれだけ時間を使ったかが記録できる

  2. 1の時間と勤務時間との整合性をチェックできる

  3. Salesforceの情報か、それを利用したkickflowの情報(プロジェクト名・コードなど)を取り込める

  4. 1~3の負荷が現状より大きく上がらない

1がスプレッドシート(CSV?将来的にはデータレイク上のテーブル?)の形に出力できれば、後は(2とか、予実を見るとか)どうにでもなりそうな気はします。
3は別ですが、SalesforceとAsanaを連携させると、Salesforceで商談が開始したらAsanaのプロジェクトが作られる、ということができるので(Asana for Salesforce)、それを使えばよさそうな気もしなくもないです。

選択肢

最近って、色んなSaaSがあって、それぞれ日々進化するから、情報を集めて整理するだけでも大変ですよね。
でもそんなことばかり言っていられないので、現状を前提にすると、大体以下の3つのどれかがよさそうかなと思っています。

  1. 一般的な工数管理SaaSを使う

  2. Asanaのカスタムフィールドの「推定時間」と「実際の時間」を利用する

  3. 一般的な工数管理SaaSと、Asanaを組み合わせる

検討

1. 一般的な工数管理SaaSを使う

まずこれですが、いくつか話を聞いてみたものの、基本的にきっちり記録するのが前提かつ一定の手間がかかる(少なくとも現状より手間が増える)ものが多く、どれもピンとこない感じでした。

2. Asanaのカスタムフィールドの「実際の時間」を利用する

せっかくAsanaを使っているので、これができたらいいなーと思って、色々調べてみました。
まず、「実際の時間」について、APIで

  • 誰が

  • どのタスク(サブタスク)に

  • 何年何月何日何時何分何秒に

  • 何年何月何日の分として

  • 何分間と

記録したかが取得できることはわかりました。
具体的には、Get time tracking entries for a taskでtime tracking entries(「実際の時間」の記録概要)を取得して、Get a time tracking entryでその詳細が取得できそうです。
「実際の時間」は、Asanaのタスクのストップウォッチでも測れますし、手入力することもできるので、なんかよさそうな感じがします。

ただ、
 i. やることが「すべて」Asanaのタスクになっている必要がある
 ii. APIで情報を取ってくるのに、開発をする必要がありそう
というハードルがありますね…。
iiは、頑張ればZapierでうまくできそうな気もしなくもないんですが、Asanaのタスクの取得からやる必要があるので、やたらとZapierのタスク数を消費しそうだし、すべてのやることをAsanaに入れろというのも(i)ちょっと難しそうな気がしています。汎用的なタスクを作ればよさそうな気もしますが、まだ具体的なイメージ・解決方法に至っていません。

3. 一般的な工数管理SaaSと、Asanaを組み合わせる

ClockifyTimeCrowdのようなSaaSのChrome拡張機能を使うと、Asana(ブラウザ版)のタスクからそれらのタイマーを動かすことができます(画像)。2つ目の画像の赤っぽい文字の「テスト:タイマーサンプル」はプロジェクト名で(顧客も入れられます)、Asanaと工数管理SaaSの両方に同じプロジェクト名で作っておけば、Asanaのプロジェクト名から自動で記録される、みたいなSaaSもあります(両方に登録する必要はなく、Asanaのプロジェクトと同期させられたりします。)。

Clockifyの場合その1
Clockifyの場合その2

そこで、

  • Asanaのタスクになっているものは、これを使ってAsanaから工数管理SaaSに記録する

  • 記録されていないところは、工数管理SaaSで直接記録する(Googleカレンダーと同期して、その情報を利用することも可)

という方法が考えられます。

この場合、最終的に工数管理SaaSにすべて記録されるので、頑張ってAsanaのAPIを叩く必要なく、記録された工数が利用できます(メンテの問題もありますしね。)。工数管理SaaSの利用料はかかるものの、記録の正確性と手間とのバランスは(8割以上Asanaから記録することができれば)よさそうな気がします。2(全部Asana)でも、集計にZapierなどを使うとZapierのタスクがかなりの数消費されて、それなりの費用がかかる気がしますし。

理想(?)

ということで、

3. 一般的な工数管理SaaSと、Asanaを組み合わせる

が(へーしゃには)理想的なのかなと考えるに至っています。
ただこうしている間にも各SaaSは進化しますし、工数管理の仕組みは(そろそろ手をつけたいものの)急いで変えなければならないものでもないので、さらに調査を進めて、いざというときに決められるようにしておけばよいのかなという状況ではあります。

おわりに

ちょっと煮え切らない、中途半端な記事ではありますが、Asana活用の一つの可能性として、いくらかは参考にしていただける部分もあったかもしれないと思うようにします…結局実例でもまとまった情報でもないし、ほぼ自分用のメモですねコレw(そして公開直前に気付きましたが、図とか少なくてわかりにくいですね)

お読みいただきありがとうございました~。

この記事が気に入ったらサポートをしてみませんか?