世界の主要国と比較すると生産性が低いと言われる日本、生産性の話は耳が痛いという声も聞かれそうだが、経営者は眉をひそめる話かもしれない。米国の調査ではあるが、生産性が低い人は就業時間の約8割が使途不明の時間という。この調査は、電子メールをはじめとした業務アプリケーションの使用を測定し、機械学習やAIを利用して従業員の生産性を指標化する米Prodoscoreが行ったもの。2020年1月から2021年4月までの期間、2170万のデータポイントから、米国を拠点とする140社3000人の従業員の生産性を測定した。

Prodoscore

Prodoscore公式サイト

生産性を低、中、高と3段階に分けると、低いに分類された人は全体の11.7%、中位は72.7%、そして高いは16.1%だった。1日8時間労働とした場合、生産性が低い人は約90分(1時間半)しか貢献していないという。20%程度が実質的に貢献している時間で、残り約80%は不明の時間となる。もし年間の給与が6万ドルならば、4万8000ドルが不明の時間に対して払われていると手厳しい。生産性が高い/中位の人は、8時間の勤務時間中、実質約4時間働いている。不明の時間の比率は58.5%となる。不明の時間は1つの作業から次の作業に移るまでの時間、あるタスクに入るまでの準備時間と考えられるが、どこで発生しているのか?

調査によると、最も不明の時間が集中するのは1日の始まりーー午前中だという。実際、生産性が低い人と比べると高/中位の人は、早く作業に取り掛かり、遅く終わる傾向があることがわかった。生産性が低い人はスタートが遅く、高い/中位の人より1時間遅くスタートしているのだ。1時間の作業に占める不明の時間も、中位/高い人は10分に収まっているところが、生産性が低い人は15分と長いことがわかった。

具体的に作業のスピードを見てみよう。まずは仕事に不可欠な電子メール。生産性が高い人は平均すると1時間に30.5通のメールを送信しているのに対し、低い人は10分の1近くの3.9通。中位の人は13.6通だった。メッセージやチャットはどうか? これも生産性が高い人は1日13.6件のスピードで送信しているが、低い人は1日3.4件。中位の人は8.6件となっている。

スケジュール管理にも違いが見られた。生産性が低い人は1日54.6分をスケジュールしているが、生産性が高い人は1日82.4分となった。高い人と中位の人は、低い人よりも1.4倍スケジュールが入っていることになる。CRMツールの利用も差が出ている。生産性が低い人は1日5.9回しかCRMアクティビティがないが、高い人は倍の11.3回、中位の人は7.5回だった。ドキュメントを使った作業については、生産性が高い人は1日3.6件のドキュメントを扱っているのに対し、低い人は半分以下の1.6件と報告している。

もちろん、特にナレッジワークでは条件が完全に一致することは稀で、全ての因子を測定しているわけではない。あくまでツールの利用状況との因果関係を探っているに過ぎない。だが、メールの処理速度など同一条件でのツールの使い方やテクニックなど参考にできる点は取り入れ、改善していく姿勢は大切にしたいものだ。高生産に分類される層は、"事前の準備に長けている"と推察できる。メールの処理などは特に分類設定の手法が大きく人により異なる。1日に大量のメールが降り注ぐ昨今、分類や雛形、ショートカットキーのマスターなどメール周辺のカスタマイズや日々の改善などは効果的だろう。

CRMやCMSなどの業務ツールも同様に、カスタマイズできる点を見つけ出し備えておくのが良さそうだ。筆者はCMSに入力する際のマークダウンやHTMLで複数の画像やテーブルを記述するのに大変時間が掛かっていた。これを改善するためにプログラミング言語Perlで簡単なスクリプトを作成した。これが大いに時間削減に役立った。必要に応じて継ぎ接ぎで加えたもので自身のPCのなかで動けばよく、格好は良くないが数十もあるテーブルをコピペしながら記述するのとでは比較にならないほど短縮できた。やはりツールは重要だと思った次第だ。

  • 画像(imgタグ)の横長かテーブルを選択し、個数を入力

    画像(imgタグ)の横長かテーブルを選択し、個数を入力

  • gazou.txtにテーブル出力

    gazou.txtに出力

print"通常形式複数個なら「y」を。colspanなら「x」を。テーブルなら「t」を:";
$y = <ARGV>;
if($y=~/y/){
    print"全個数を入力:";
    $x = <ARGV>;
    open OUT, "> gazou.txt";
    $z=($x+1);
    for ($a = 1; $z > $a; $a++) {
        if ($a < 10) {
            print OUT "|photo_center\n";
            print OUT "|I\@00$a.jpg,▲▲▲|\n\n";
                }
        if ($a >= 10) {
            print OUT "|photo_center\n";
            print OUT "|I\@0$a.jpg,▲▲▲|\n\n";
                }
                    }   
    close OUT;

}elsif($y=~/x/){
    print"横の個数を入力:";
    $x = <ARGV>;
    open OUT, "> gazou.txt";
    print OUT "|photo_center\n";
        if ($x==1) { 
            print OUT "|I\@001.jpg,▲▲▲|";
            }
        unless ($x == 1){
                for($a = 0; $x > $a; $a++) {
                    print OUT "|I\@00$a.jpg";
                    }
    print OUT "|\n|M@▲▲▲|";
                }
    close OUT;

}elsif($y=~/t/){
    print"縦の個数を入力:";
    $y = <ARGV>;
    print"横の個数を入力:";
    $x =<ARGV>;
    open OUT, "> table.txt";
    print OUT "<div><table class=\"Table1\" border=\"0\" cellPadding=\"0\" cellSpacing=\"1\" >\n";
        for ($a = 0; $y > $a; $a++) {
            print OUT "<tr>\n<th>data</th>";
                for ($b = 1; $x > $b; $b++) {
                    print OUT "<td>";
                    print OUT "data";
                    print OUT "</td>\n";
                            }
            print OUT "</tr>\n";
                    }
    print OUT "</table></div>\n";
    close OUT;
}else{
    print OUT"end";
        }