ベトナムに戻ります

日本に帰ってきたのが、12月15日。早いものであれから1ヶ月経ってしまった。1月20日ベトナムサイゴンに戻る予定である。

去年の年末は、体調を崩して思ったように活動できなかったが、それでも何人かの友人と楽しいときを持つことができた。今年に入っては、あるお客さんの下で、CakePHP を使った開発に携わった。CakePHP は慣れるにつれ、よく手になじむ道具になってくれた。なかなかよいフレームワークである。この仕事にも一区切りがついた。

本当は、この案件をベトナムにオフショア開発に持ち込みたかったのだが、顧客とのきわめて密接なコミュニケーションが必要だと考えられる部分があり、オフショア向きではないと判断した。オフショア開発の場合、発注元(オンサイト)と発注先(オフショア)がソフトウェア設計上の用語でいう「疎結合」でないとうまくいかない。つまり、遠隔地間のコミュニケーションはコストが高いので、そのコミュニケーションが最小になるような形で仕事を分割する必要があるのだ。さっそく、壁にぶち当たった格好だが、めげずに次を考えることにしよう。

私は、平均以上の技術力を持つ技術者であるという自負はあるが、同時に技術それ自体より、よりよいシステムを作りたいという気持ちが強い。プログラミングの技術はソフトウェア開発上、非常に重要である。だが、業務システムの場合、まず企業戦略がきちんと立てられ、それに沿った形でシステムが設計されていなければならない。この部分で間違えると、いくらプログラミングでがんばっても、よいシステムを作るのは難しい。いくら戦術に長けていても、戦略自体が間違っていたら、戦争には勝てないのである。

そう考えれば、理論上、私は最上流工程を担当すべきだろう。つまり、企業の経営者と話し合って、システムのあるべき姿を定義する仕事である。これさえしっかりしていれば、プログラミング部分が多少つたなくても、非常に有用なシステムを作ることができる。世の中の多くのシステムは、「使えるが、やや使いずらい」のではなく、「まったく役に立たない」のである。それは、要件定義の段階で失敗しているからだ。

しかしなあ・・・。くだらない話、もし私が最上流工程を担当するとなったら、スーツを着て、東京で堅苦しい生活を送らなければならないだろう・・・とほほ(苦笑)。それが私のボヘミアン(放浪者)な部分とうまく整合しないのである。このジレンマにはこの10年間悩まされてきた。そろそろケリをつけるべきときだろうが、どうしたらものやら。