作業環境を改善せよ さもなくば日本のエンジニアは壊滅する!






 米グーグルでは食事がタダに。米マイクロソフトではソフトドリンクが飲み放題。そのほか、米国のIT企業の多くでソフトウェア開発者は全員、個室を与えられている――こんなこと、日本の企業であるだろうか?



●驚愕!? 海外企業における個室の作業スペース

 米国のみならず先進諸国においては、ソフトウェアエンジニアの労働環境は総じていい。世界一巨大なソフトウェア会社のマイクロソフト、欧州最大のソフト開発会社として有名なSAPで働いた経験から、そう感じる。どちらの会社も、さまざまな側面において一部から厳しく評されることもあるが、そんな評判とは裏腹に、エンジニアの労働環境は良かった。

 ご存知かもしれないが、米マイクロソフト本社のオフィススペースは筆者が勤めていた当時、完全な個室型になっていた。一人ひとりに6畳ほどの大きさに仕切られたスペースを与え、自由に使わせていたのだ。例えば、みんなお気に入りのソファーや家具を置いていた。ソニーの「プレイステーション」などではなく、街中のゲームセンターに置かれている、あの大きなゲーム機を持ち込んでいる社員もいた。さらに、犬を連れてきたり赤ちゃんを抱きかかえて出社する社員もいた。まさに、「自由の国アメリカ」を感じさせるものだった。

 そうした海外企業の事情を日本企業の経営者に紹介すると、決まって「日本は土地代が高くオフィスを保有するコストがかさむため、そんなことはできない」という答えが返ってくる。だが、現時点ではベイエリア(米カリフォルニア州北部。サンフランシスコ、シリコンバレー周辺)の方が家賃は高いはずだ。英ロンドンなんて、もっと高い。


 残念ながら、日本の企業はソフトウェアエンジニアに快適な環境を与えることに積極的ではない。海外では、生産性を向上させる投資と考えられているのにもかかわらず、だ。ある日本企業で管理職を務めるO氏にそのような話をしたところ、「個室なんか与えたら、会社に来ているかどうか分からないじゃないか。出社しているからといって、仕事をしているかどうかも分からない」という答えが返ってきた。

●オフィス効率を上げ、有能な人材の少数精鋭で

 確かに、社員に個室など与えると、会社に来なくなるかもしれない。筆者も米マイクロソフト時代、出社せずに自宅で料理などしていた(そう、実は料理が趣味である…)。金曜日だと、昼食後すぐにカナダに向かい、釣りざんまいの週末を過ごしたりもした(そう、アウトドアも趣味である…)。マネジャーは、週一回のグループミーティング以外、部下たちが出社しているかどうかなんて知る由もない。

 だからといって、仕事をサボっていたわけではない。働くときは働いた。なんせ、マイクロソフトでは自分の策定したスケジュール通りにコーディングが進まないと、「即クビ」になりかねない。マネジャーも、部下のアウトプットは適切にチェックしていた。

 日本企業の営業担当者は、会社にいないことが多い。営業の管理職は、部下の売上高だけを見ているといった具合だ。では、日本のソフトウェア会社の開発部門の管理職はどうだろうか。部下の書いているソースコードの進ちょくはチェックせず、スケジュール管理もしない。挙句の果てには、ムダな会議にばかり出ている。部下からそう思われてはいないだろうか。

 部下のアウトプットや生産性のチェックに真剣になれなければ、エンジニア一人ひとりに個室を割り当てたり、うまいメシを食わせて効率よく仕事をしてもらおうなどという発想には、なかなか行きつかないものである。

 「ピープルウエア」(日経BP社)の著者、トム・デマルコ氏は「適切な作業環境(電話を転送したり、あるいは電話の呼び出し音を消したり、作業スペースの個室のドアを閉めることができ、不要な“割り込み”をシャットアウトできる環境)で働くプログラマーの生産性は、普通のオフィス環境下にあるプログラマーより2.6倍も高い」と言う。

 ソフトウェアエンジニアの生産性の良しあしというのは、ほかの業種のそれに比べると大きな差がある。マイクロソフト会長のビル・ゲイツ氏は、優秀なエンジニアは普通のエンジニアの100倍の生産性を誇ると言っていたという。ほかにも、デマルコ氏を含め、米国の多くの著名なソフトウェア工学者が、優秀なエンジニアの生産性は「(通常の)10倍以上になる」と言っている。

 このような考えから判断すると、高い生産性を誇る人を採用し高稼働率で働かせることは、ソフトウェア企業にとって大きなメリットになる。逆に、生産性の低いエンジニアを抱えることは著しいデメリットになる。

 「ビル・ゲイツの面接試験―富士山をどう動かしますか?」(青土社)には、「間違った不採用はよくないが、それが直接、会社にとって損失になるかというとそうではない。だが、間違った採用は会社にダメージを与えることになり、そこから回復するにはかなりの時間がかかる」と書かれている。もっともなことではないだろうか。

●プロジェクトは小さい方がうまくいく!?

 ここで、個室を割り当てずにオフィスコストを抑え、採用と開発の担当マネジャーに無頓着な人材を配置しているA社と、エンジニアの能力を最大限引き出せるようにオフィスを設計し、有能な担当マネジャーをそろえているB社で、アウトプットを計算して比較してみたい。

 デマルコ氏の生産性を単純に換算すると、A社における一人当たりの生産性を1とした場合、B社のそれは、

2.6(オフィス効率、前述参照)×10(優秀なエンジニアの能率、前述参照)=26

となる。

 これを100万行のコードから成るソフトウェアの開発で例えてみる。A社のエンジニアが年間5万行しか書けないと仮定すると、1年の開発期間で製品を出荷する場合、開発人員は20人必要になる。

 一方、B社の場合、1人のエンジニアだけで

5万行(A社における1人の生産能力)×26=130万行

のコードを書けることになる。つまり計算上、B社で同じソフトウェアを開発するのに必要な要員はわずか1人ということになる。

 もちろん、これはあくまでも数字上の合理性であり、実際に作業はそううまくは進まないだろう。しかし、経験豊富なソフトウェア開発のマネジャーであれば、それはあながち間違いではないと考えるのではないだろうか。なぜなら、チームの人数が少なければ少ないほど、ソフトウェア開発が効率的に進むことを知っているからである。

 プロジェクトのサイズを大きくすることの弊害は、ソフトウェア工学の第一人者であるスティーブ・マクコーネル氏の「Code Complete」(日経BPソフトプレス)を参照してもらいたい。同氏は、プロジェクトサイズが大きくなるにつれコミュニケーションのパスが多くなり、ミスコミュニケーションによる問題が増えると指摘している。

 もちろんそのミスがバグを生み、結果的により時間とお金のかかるプロジェクトにしてしまうことは自明だろう。「初めて学ぶソフトウェアメトリクス」(日経BP社)には、「多人数プロジェクトは少人数プロジェクトに比べ、平均して7倍の工数がかかる」と書かれている。

●油断すると、日本のエンジニアは失職する!?

 優秀な人材を採用して高待遇で会社により長く引き留めるというのが、世界で一流といわれるソフトウェア会社のスタンダードになりつつある。今後は、中国やインドの企業もそのスタンダードを採用するだろう。

 そのような世界で勝ち残るためには、日本の企業もエンジニアの採用を考え、生産効率を高められる環境を与えるように努力しなければならなくなるはずだ。もちろん、エンジニア自身も十把ひとからげ的な効率向上を目指すのではなく、他人の10倍、20倍もの成果を挙げられるスキルを身に付けるべきである。そうでなければ、数年後には、低賃金でありながらも高い能力を発揮する新興国のエンジニアに職を奪われかねないのだ。
(2007.9.5/ITmediaエンタープライズ)
[PR]

by fbitnews2006-6 | 2007-09-05 19:29 | インターネット総合  

<< MS、Flash対抗「Silv... 中高生の4人に1人「携帯でショ... >>