はじめに
朝いちばんに課題一覧を開いて、上から順に目で追っていく。この作業、地味に時間を持っていかれるんですよね。
期日を過ぎていないか。誰かの作業待ちで止まっていないか。優先度が高いのに放置されていないか。ひとつずつ確認して、あやしいものを見つけたら担当者に「これ、大丈夫そう?」と個別に声をかける。プロジェクトが動いているあいだ、毎朝これをやっていました。ざっと見積もって、1日30分くらいは溶けていた気がします。
しかもこの巡回、けっこう抜けるんです。課題が増えてくると全部は追いきれなくて、気づいたときには期日を数日過ぎていた、みたいなことが起きる。かといって「毎朝ぜんぶチェックしてね」とメンバーに丸投げすると、今度は正常な課題にまで念のための通知が飛んで、だんだん誰も見なくなる。早く気づきたいのに、通知を増やすと逆に鈍くなる。このジレンマ、心当たりのある方も多いんじゃないでしょうか。
この「毎朝の目視巡回」を、人の注意力ではなく仕組みに肩代わりさせられないか。社内でいま試している取り組みを、途中経過として共有します。使うのは、ONES.comの次の2つです。
- ONES Project:課題やバグを登録して、対応状況やワークフローを管理するプロジェクト管理のツールです。
- ONEScript:ONESに組み込まれたスクリプトのレイヤーです。UIのノーコード設定では書ききれない複雑な条件のチェックや処理をコードで書けて、しかも決まった時刻に自動で走らせることもできます。現在は早期プレビュー段階で、今回もその環境で検証しています。
🔁 巡回そのものを、毎朝5分早く動くスクリプトに任せる
やりたいことは、ひとことで言えば「私が毎朝やっていた目視巡回を、そのままスクリプトにする」です。
仕組みはこうです。ONEScriptを毎朝決まった時刻に自動実行して、まず「気にかけるべき課題」だけを検索します。該当した課題には、担当者あてのコメントを課題内に残す。そのうえで、同じ担当者ぶんの通知はひとつのメールにまとめて送る。これで、担当者は自分に関係する遅れだけを、朝いちのメール1通で受け取れます。
「対応が必要な課題 3件」として、高優先度・ブロック状態・期限超過の課題が1通に集約されて届く。それぞれ何が引っかかったのか(高優先度/ブロック状態/期限超過・期限日つき)まで書いてあるので、開いた瞬間に状況がつかめます。
ポイントは、正常な課題には何も通知しないところです。条件に当てはまったものだけを拾うので、いつもの「念のため全員に一斉通知」とは逆で、静かなんですよね。遅れている課題があるときだけ、そっと肩を叩いてくれる感じです。
📋 通知を嫌われないための3つの条件設計
このやり方、スクリプトを書くこと自体よりも、「何を拾って、何を黙って見送るか」の線引きのほうが大事です。ここを雑にすると、せっかく作っても「通知が多すぎる」で無効化されます。私は次の3つを先に決めてから書きました。そのまま真似できると思うので置いておきます。
まず、拾う条件を絞ること。「なんとなく心配」ではなく、はっきり言葉にできるものだけを対象にします。
| 拾う課題(通知する) | 見送る課題(通知しない) |
|---|---|
| 予定終了日を過ぎていて未完了 | 期日内で順調に進んでいる |
| 「ブロック中」など作業待ちで止まっている | 完了・クローズ済み |
| 優先度が高いのに、しばらく更新がない | 優先度が低く、急ぎでない |
次に、担当者ごとにまとめること。課題1件ごとにメールを飛ばすと、朝から受信箱が埋まって、それ自体がノイズになります。「Aさんの遅れは3件まとめて1通」にするだけで、体感がまるで変わります。
最後に、同じ日に二度走っても重複させないこと。手動で再実行したり、時刻設定を見直したりすると、うっかり二重通知が起きがちです。「今日すでに通知した課題は、今日はもう通知しない」という判定を1つ入れておくと安心です。
この判定が効いているかどうかは、ONEScriptの実行ログで確認できます。

同じ日にもう一度走らせたときの実行ログ。「条件該当: 3/コメント投稿: 0/メール通知: 0/重複スキップ: 3」と出ていて、すでに通知した3件はきちんと見送られています。何件拾って、何件を重複として飛ばしたかが1回ごとに残るので、動きがそのまま追えるんですよね。
スクリプトの中身は、この3つを条件として書き下すだけなので、雰囲気としてはこんな並びになります。
// 毎朝、気にかけるべき課題だけを拾って担当者に知らせる
const 気になる課題 = 課題を検索({
条件: ["予定終了日を過ぎて未完了", "ブロック中", "高優先度で停滞"],
除外: ["完了", "本日通知済み"]
});
担当者ごとにまとめる(気になる課題).forEach(件 => {
件.課題にコメントで担当者へ通知();
件.担当者へ集約メールを送る();
});
表示名やステータス名は自社の設定に合わせて変えますが、考え方はこれだけです。
⏱ 何が変わったか
いちばん大きいのは、朝の30分がほぼ消えたことです。今は届いたメールをざっと見て、気になるものだけ担当者と話す。巡回そのものをやらなくてよくなったので、実感として5分もかかっていません。
もうひとつ、拾い漏れが減りました。以前は自分の目に頼っていたので、課題が増えた週ほど見落としが出ていました。条件に当てはまれば機械的に拾ってくれるので、「気づいたら3日過ぎていた」がほとんどなくなったんです。しかも通知は課題のコメントとして残るので、「いつリマインドしたか」も後から追えます。口頭で声をかけていた頃は、ここが記録に残らなかったんですよね。
⚠️ 拾いすぎない、を最優先にする
正直に書いておくと、この手の自動通知はチューニングがすべてです。
最初から条件を広げすぎると、「そんなに急ぎじゃない課題」まで毎朝知らせが来て、結局読み飛ばされます。そうなると本当に危ない遅れも一緒に埋もれてしまう。だから最初は条件を狭く始めて、「これは拾ってほしかった」という抜けが出たら、そのぶんだけ広げる。この順番のほうがうまく回ります。
それから、スクリプトが拾えるのは課題に書いてある情報だけです。期日やステータスをそもそも更新していない課題は、当然ながら遅れとして検知できません。裏を返すと、この仕組みを入れると「ちゃんと課題を最新にしておく」動機がチームに生まれる、という副作用もありました。
なお、ONEScript自体はまだ早期プレビューの段階です。機能はこの記事のとおり動きますが、今は希望されたお客様に個別提供している状況で、通常のサインアップですぐ触れるわけではない点だけ、先にお伝えしておきます。
おわりに
遅れに早く気づくために通知を増やすと、かえって鈍くなる。この矛盾は、「全部に知らせる」から「拾うべきものだけ静かに知らせる」に切り替えると、意外とあっさりほどけます。
まずは自分のチームで、「どんな課題を拾ってほしいか」を3行くらい書き出してみるところからでも景色は変わると思います。毎朝の巡回に時間を取られている方は、ONES.comのスクリプティング機能のページを覗いてみてください。なお、この記事のONEScript(定期実行のスクリプト)はまだ早期プレビューで、希望されたお客様に個別提供している段階です。試してみたい方は、support@ones.com までお問い合わせいただければ個別にご案内します。
