ダブリンの風(58) 「教 室 の 隅」
高根 宏士:2月号
「重箱の隅を突く」とか「重箱の隅をほじくる」という言葉がある。どうでもよい小さなこと、つまらないことに干渉したり、詮索したりすることをいう。これは日常生活でも、ビジネスや仕事の世界でもよく見られる。
例えばプロジェクトの進捗状況について、それほど遅れてもいないし、フロート(余裕期間)も充分あるアクテビティについて、遅れた原因や経緯について、根掘り葉掘りヒアリングし、挙句の果てはプロジェクトの進展に対しては効果のない小言と説教で、無駄な時間ばかりをつぶしているプロジェクトマネジャやその母体部門長のような例はどこでも見られる現象である。
今回は小さいことではあるが、本質的と思われることについて述べてみたい。私の小学校時代は終戦直後であった。そのため先生も満足にいない時代であった。三年生の時は学期毎に担任の先生が替わり落ち着かなかった。三学期には先生がいなくなってしまい、ついに校長先生が自ら担任になった。厳しかったことだけは印象に残っているが、教えてもらったことは現在ほとんど記憶に残っていない。唯一つだけ今でも覚えていることがある。授業が終わって帰る前には教室を掃除することが通例であった。箒で掃き、その後雑巾掛けをすることが決められていた。校長先生は率先して、一緒に掃除をしてくれた。そのときに「掃くときも拭くときも隅を徹底してきれいにするつもりでやれ」ということであった。「重箱の隅」ではなく「教室の隅」である。これはすばらしい教えであった。隅をきれいにしていると真ん中は自然ときれいになる。それは隅がきれいで真ん中がきれいになっていないときはすぐにそれが明瞭にわかるからである。真ん中だけを適当にやってお茶を濁していると、その場はごまかせるが、その後教室はどんどん汚くなってくる。
「隅をきれいにする」ということは仕事において基本ではないかと思われる。例えば、1から10まではAルートを通り、それ以外ではBルートを取るような仕様のプログラムがあったとする。これをテストするとき、境界をテストすればよい。すなわち0、1、10、11を流してみればこのプログラムが大丈夫かどうかはわかる。真ん中の5や15を流して正しく動いても、境界で動くかどうかは保証されない。
またソフトウエアには異常処理が付きものであるが、異常処理のテストが完璧にできれば、正常処理はほとんど問題なく動かせると見てよい。異常処理はシステムから見れば「隅」である。30年以上前にシステム開発のプロジェクトでどうしても納期に間に合わない時があった。しかしながらユーザからはどうしても納期通りに動かしたいという強い要望が出された。そこで次のような提案をした。
「テスト期間が短すぎる。全てのケースをテストすることは不可能である。したがってテストは異常処理のケースだけにしたい。もし異常処理に虫があった場合、相当の期間(場合により何年も後に)発覚せず、発覚した時にはプロジェクトが解散しており、対応ができなくなる可能性がある。正常処理に問題がある場合は運用してからすぐに発覚するから対応も容易であり、システムの収束が早くなるから」
さすがにこの提案は乱暴であり、ユーザからスコープの縮小の提案がされ、半分以上の機能の稼働を延期してもらった。しかしこのときの考えは隅をきちんとするという校長先生の教えであった。
プロジェクトにおける隅とは何であろうか。それは各作業(ワークパッケージやアクテビティ)の開始と終了である。計画において開始と終了条件を明確にし、実施においてこの条件をクリアしているかどうかを厳密にチェックすることがプロジェクトの進捗管理の基本である。プロジェクト崩れを起こしたプロジェクトではほとんどこれができていない。
困難なプロジェクトで、「大体終わりました」とか、何の根拠もなしに「50%終わりました」というような進捗管理をしていて成功したプロジェクトを寡聞にして聞いたことがない。
|