慣れていないフローや知らないフローが重なると想定外に時間がかかる。通常フローの業務であれば4時間で処理できるフローの場合、フローが2つあると8時間、3つになると12時間・・・
y=総フローの処理時間
a=1フローあたりの本人のキャパ(処理時間)
x=通常業務のフロー数
とすればy=axになる。Perlの対話式では、
print"1フローあたりの本人のキャパ(処理時間)";
$a = <ARGV>;
print"通常業務のフロー数";
$x = <ARGV>;
$y = $a * $x;
print"総フローの処理時間は$y時間";
これはわかる。しかし、時にまったく知らない業務に遭遇すると4時間の処理が、2つで16時間、3つで64時間・・・巨大な先送りの壁。あたかも指数関数的増加するかのごとく。y=axでは、
print"1フローあたりの本人のキャパ(処理時間)";
$a = <ARGV>;
print"通常業務のフロー数";
$x = <ARGV>;
$y = 1;
while($x > 0){
$y = $y * $a;
$x --;
}
print"総フローの処理時間は$y時間";
文字通りフローxが崩壊している。Perlのべき乗計算は**演算子で$y = $a ** $x;とすることで簡単に行える。しかしシンプルな**の内部には、少々複雑な構造が隠れている・・・というのはもちろん、感覚ベースの"与太話"だが、気軽に頼んだり頼まれたりするタスクはフローの細部がどうなっているか?に気を配らないと崩壊する。1日目に米1粒の褒美を、2日目に2粒、3日目に4粒と指数関数的に増加させていく曽呂利新左衛門と豊臣秀吉の有名な逸話ではないが、最終的には3つのフローと3乗のフローは全く別物である。先の話は、最終的に双方の合意があった100日目に至る前に破綻している。中身を精査せずに行う安易な合意は、極論すればこのようなことになる。
フローは細かい作業やプロセスの集合体だ。しかし、知らないフローは全体像が掴めていない。まずは、入り口を探さなければならない。Webサイトであれイントラネットであれ文字通り"検索"であることが多いのだが、これがなかなかたどり着かない。