Microsoft Office Project Server 2007の重大なバグ(1)

先日も書いたが、仕事の関係でMicrosoft Office Project Server 2007と、Microsoft Office Project Web Access 2007、Microsoft Office Project Professional 2007の組み合わせを評価しているのだが、致命的な不具合が見つかり、本番適用できないおそれが出てきた。
果たしてMicrosoft Office Project 2007製品群を、正しく使いこなせている企業は存在するのだろうか。ネットをいろいろ検索しても「重大な不具合がある」という評価が全く見つからず、とても不思議だ。
僕が発見した致命的な不具合とは、以下のようなものである。
例えば、プロジェクト管理者の田中さんが、Project Professional 2007を使って、Project Server 2007に接続し、次のようなタスクAを鈴木さんに割り当て、発行したとする。
「タスクA」
2009/04/20(月) 標準作業時間 8時間
2009/04/21(火) 標準作業時間 8時間
2009/04/22(水) 標準作業時間 8時間
2009/04/23(木) 標準作業時間 8時間
ここから、いくつかのケースを考えてみる。
【ケース1】
割り当てをうけた鈴木さんは、他のタスクが予想以上に早く終わったので、タスクAに予定より一日早く着手できた、とする。
そこで、Project Web Access 2007の「自分のタスク」からタスクAの「割り当ての詳細」画面を開き、タスクの開始日よりも実働1日早い、2009/04/17(金)に実績作業時間として8時間を入力して「保存」したとする。
まだタスク割当者である田中さんへの「提出」は行っていない。
ところが「保存」しただけで、タスクAの開始日が勝手に2009/04/17(金)に、終了日が2009/04/22(水)に書き換わってしまうのだ。
しかも田中さんが設定した標準作業時間までが、
2009/04/17(金) 標準作業時間 8時間
2009/04/20(月) 標準作業時間 8時間
2009/04/21(火) 標準作業時間 8時間
2009/04/22(水) 標準作業時間 8時間
このように勝手に前へスライドされてしまったではないか。
これはおかしいということで、鈴木さんはタスク割当者の田中さんに依頼して、同じタスクをもう一度「発行」し直してもらったとする。
「発行」し直してもらった後(設定によっては自動でメールが届く)、鈴木さんは、まず、Project Web Access 2007の「プロジェクトセンタ」画面から、当該プロジェクトのタスクAの実績作業時間が0時間になっており、開始日が2009/04/20、終了日が2009/04/23に戻っていることを確認する。
ところが「自分のタスク」画面からタスクAの「割り当ての詳細」画面を開くと、依然として自分がさっき入力した結果のままになっているのだ。
つまり、2009/04/17(金)に実績作業時間として8時間が入力されており、タスクの開始日は2009/04/17、終了日は2009/04/22に書き換わったままになっている。
これが僕の見つけた不具合の発生ケース1である。
※注釈
その後、マイクロソフトによれば、これは不具合ではなく、タスクが初期状態の「弱い制約」になっている場合の、既定の動作であるとのことだ。
ただ、タスクが「弱い制約」になっており、かつ、チームメンバーがタスクの開始日を直接変更した場合に、自動的に終了日がスライドするというなら分かる。
しかし、チームメンバーが単に開始日以前の日付に実績作業時間を入力しただけであり、かつ、「保存」しただけの状態(=まだプロジェクト管理者に「提出」していない状態)であるのに、タスクの開始日と標準作業時間が連動してスライドするのは、明らかにプロジェクト管理の業務フローとしておかしい。
これでは、プロジェクト管理者のあずかり知らないところで、チームメンバーが勝手にタスクの開始日・終了日を変更できてしまうことになるからだ。
しかも、チームメンバーが、タスクの開始日を変更する意図は全くなく、単に実績作業時間を入力する日付を間違えただけだとしたらどうか。単なる入力ミスで、タスクの開始日が自動的にスライドするという仕様は不合理である。
プロジェクト管理者の知らない間にタスクの開始日・終了日が勝手に変更されないよう、少なくともプロジェクト管理者が「承諾」「発行」して始めて、タスクの開始日が自動的にスライドするという仕様にすべきだ。
以下のケースについても全く同じことが言える。
【ケース2】
割り当てをうけた鈴木さんは、他のタスクが予想以上に遅くなったので、タスクAに2009/04/24(金)になってようやく着手できたとする。
そこで、Project Web Access 2007の「自分のタスク」からタスクAの「割り当ての詳細」画面を開き、タスクの終了日よりも1日遅い、2009/04/24(金)に実績作業時間として8時間を入力して「保存」したとする。
まだタスク割当者である田中さんへの「提出」は行っていない。
ところが「保存」しただけで、タスクAの開始日が勝手に2009/04/24(金)に、終了日が2009/04/30(木)に書き換わってしまうのだ。(2009/04/29は祝日のため実働日数にカウントされなかった)
しかも田中さんが設定した標準作業時間までが、
2009/04/24(金) 標準作業時間 8時間
2009/04/27(月) 標準作業時間 8時間
2009/04/28(火) 標準作業時間 8時間
2009/04/30(木) 標準作業時間 8時間
このように勝手に後ろへスライドされてしまったではないか。
これはおかしいということで、鈴木さんはタスク割当者の田中さんに依頼して、同じタスクをもう一度「発行」し直してもらったとする。
...以下は「ケース1」をまったく同じことが起こる。
これが僕の見つけた不具合の発生ケース2である。
【ケース3】
割り当てをうけた鈴木さんは、割り当てされたとおり、タスクAに2009/04/20(月)に着手できたとする。ただ、2009/04/20(月)には4時間しか作業できなかった。
そこで、Project Web Access 2007の「自分のタスク」からタスクAの「割り当ての詳細」画面を開き、2009/04/20(金)に実績作業時間として2時間を入力して「保存」したとする。
まだタスク割当者である田中さんへの「提出」は行っていない。
ところが「保存」しただけで、田中さんが設定した標準作業時間が、以下のように勝手に書き換わってしまったではないか。
2009/04/20(月) 標準作業時間 2時間
2009/04/21(火) 標準作業時間 10時間
2009/04/22(水) 標準作業時間 10時間
2009/04/23(木) 標準作業時間 10時間
要するに、足りなかった6時間分が、後続の3日間に対し自動的に平準化され、勝手に標準作業時間が書き換わってしまったのだ。
鈴木さんは自分の実績作業時間を入力しただけなのに、本来、割当者である田中さんが管理すべき標準作業時間まで、勝手に書き換わってしまうのである。
これはおかしいということで、鈴木さんはタスク割当者の田中さんに依頼して、同じタスクをもう一度「発行」し直してもらったとする。
...以下は「ケース1」をまったく同じことが起こる。
これが僕の見つけた不具合の発生ケース3である。
以上のMicrosoft Office Project Server 2007の不具合には、2つの重大な問題がある。
【問題1】プロジェクト管理者の管理外でのプロジェクト計画の変更
まず、プロジェクト管理者(=通常はタスク割当者と同一人物)のあずかり知らないところで、タスクの標準作業時間の配分が、どんどん勝手に書き換わっていってしまうこと。
つまり、チームメンバーは、Project Web Access 2007から実績作業時間を入力しただけなのに、そのタスクの開始日・終了日・標準作業時間の配分までが、勝手に書き換わってしまうことである。
チームメンバーが特定の日の実績作業時間を0時間にもどすと、標準作業時間も0時間にもどる。極端な話、あるタスクの実績作業時間を、Project Web Access 2007から、全日について「0時間」と入力すると、そのタスクの標準作業時間がすべて「0時間」になり、そのタスクは「やらなくていい」ことになってしまうのだ。(※このバグについては後日詳述する)
【問題2】Project Professional 2007からの発行がProject Web Access 2007に完全に反映されない
次に、プロジェクト管理者(タスク割当者)がProject Professional 2007を使ってProject Server 2007に接続し、発行したはずのタスク情報が、Project Web Access 2007上では、「プロジェクトセンタ」画面では正しく反映されているにもかかわらず、「自分のタスク」画面では全く反映されない、ということが起こるのだ。
正確に言えば、あるタスクについて、チームメンバーが進捗を入力してプロジェクト管理者に「提出」し、かつ、プロジェクト管理者が「承諾」かつ「発行」を実行しない限り、そのタスクについて、プロジェクト管理者が「発行」した割り当て更新が「自分のタスク」画面に反映されない仕様になっている。(この件についても後日詳述する)
こうなると、Project Web Access 2007だけを使って、自分のタスクの進捗管理や報告をしているチームメンバーとしては、「自分のタスク」画面と「プロジェクトセンタ」画面の、どちらを信用したらいいのか分からなくなる。
より正確に言えば、「自分のタスク」画面の情報には、プロジェクト管理者が発行したタスクの更新情報は反映されないので、「自分のタスク」画面はまったく信用できないと考えるしかない。
しかし、チームメンバーが進捗報告できるのは、唯一「自分のタスク」画面からだけなので、「いったいどうすればいいの?」ということになる。
以上のように、Microsoft Office Project Server 2007関連製品群には、2009/04/21時点で最新の修正プログラムを適用しても、深刻な不具合がある。
他のMicrosoft Office Project Server 2007の企業ユーザーは、なぜこの深刻な不具合に気付いていないのだろうか?
考えられる唯一の理由は、他の企業ユーザーが、タスクの進捗管理を、各タスクの合計の標準作業時間で、ざっくりとしか管理しておらず、日別にきっちり標準作業時間を配分するという管理をしていないことだ。
日別に標準作業時間をきっちり配分する管理をしていない場合は、実際には上記の不具合がデータベース内部で発生しているのに、表面に出てこないため、それに気付かないままOffice Project Server 2007を使い続けていることになる。
おそらく日経など大手メディアは、マイクロソフトの広告料を重要な収入としているので、この手のネガティブ情報を公開できないと思うので、あえてここで公開してみた。
他の企業ユーザーの皆さんも、あらためてProject Web Access 2007の「自分のタスク」画面からの進捗報告が、正しい数字になっているかどうか、確認されるよう強くおすすめする。