先日から、プロジェクトチーム数十名分のPCやインストールアプリの管理に使っているAccessファイルを、Webページ上で見られるようにしてみよう、というのを空いた時間でやってみた。結果、見るだけなら、IIS+ASP.NETで非常に簡単に実現できることがよく分かった。確かにそうであろうということは数年前から思ってはいたが、2003年にちょっとASPとウェブサービスに触れた以外、実際にやってみる機会は無かったので良かったと思う。
やってみて気づいたことだが、こういう仕事を依頼されたとしたときに、その担当技術者のスキルや知識、経験でものすごく大きな作業コストのズレがでると思う。たとえば、今の会社の大半の人はWeb系知識について疎い。そういう状況だと、ASPと言われてもWebサーバーの話から考えないといけない。そうかとおもえば、HTMLによるWebサイト管理とかもやった人なら、マスターページを作って更新を楽にするとか、デザインチームとのうまい分業とか、最短コースで開発を完了させる事も可能だとおもう。どういうメンバーを揃えるか、そしてなにより、どういうメンバーが必要かをリーダー以上の人が理解していないと、たぶん「世間では簡単と言われているから、簡単なんだろう」で見積もってひどい目にあうのだろう。
しかし、社内で「自分は末端の開発者じゃないのだから、そこまで細かいことは知る必要がない」と、全く新しいものに触れようとしない人たちは、この先登場する新案件の見積もり作成や開発のレビューをどのように行っていくのだろう? ASP.NETは会社としてたぶんやることは無いだろうが、新しい言語やプラットフォーム、ハードウェアや考え方など、この先いろいろと流れ込んでくる(というかすでに来ているが気づいていない)のに対し、古いやり方で対応して、本来であれば「大きい見積もりに対して小さいコスト」で実現できる目標を、素直に「大きいコスト or オーバーしたコスト」をかけて利益をなくす。そんなことやってたら会社はいつになっても本来とれる利益を得られない。結果、業績というカタチで自分たちにはマイナスのフィードバックが返ってくる。
マネージャが実際の作業を行う必要は全く無いが、末端の人間がやっている作業の土台となっている方針や手法が妥当かどうか、ということくらいは判断できる知識は常に揃えていかないと、正しい見積もりや進捗の管理なんて出来るはずが無い。まぁこれだけ作業が多岐にわたっている現在、マネージャクラスが単独で全掌握は無理、というならば、各チームのリーダーは少なくとも技術的な観点から状況を把握しておかないと、部下が暴走しても誰も気づかない、止められない。結果、「あんなに新しい開発環境や開発方針、ルールを決めたのに、なんでこんな事に」とかいったお間抜け発言をする羽目になる(実話。決めたから結果が出るのではなく、ルールを守っていく努力をしないとダメ。それが管理じゃないかと。ルールを決めるだけなら新人でも出来る)。
正直ほかの人はどうなってもいいや、というのが最近の素直な意見。自分がいかに巻き込まれないように防御していけるか、ということを考えるので手一杯ですわ。そのためには、会社は最低限のレベルは維持してもらわないと困る。自分はそのためにはがんばろうと思う。自分の生活を支えるためにもね。社員すべてが理想型になるのは期待してない。