2010年4月2日金曜日

IT業界にプロは存在しないのか? モバイル開発編

今回は、PDAやポケットPCといったモバイル端末で動作させる営業支援システムの開発を受注したときのことを紹介します。クライアントの抱える営業部員たちが、それぞれの顧客先へ出向き、注文を取るプロセスを効率化するためのものでした。手書きで注文を取るのではなく、モバイル端末で商品情報も照会しつつ注文を登録し、サーバーへそのまま送信してしまうシステムを開発することになったのです。


エキスパートが見つからない


ただしモバイル端末は、通常のPCとはOS(アプリケーションを動作させるための基本ソフト。Windows XPやVISTAなど)が違う上、モバイル特有の制約がいろいろとあります。いくら技術が進んだとはいえ、コンパクトに作られたモバイル端末では、搭載できるメモリも少なく、CPUも非力です。ハード的なパフォーマンスとして期待できるのは、10〜15年前のPC程度なのです。そうした制約の中、数十万レコードという大量データを扱うことが求められていたため、それなりに苦労することを考慮し、システムのメイン部分の開発はモバイル端末のシステム開発を専門にしてきた“プロ”に外注することにしました。


ところがそもそもモバイル用システムの開発はニッチな分野ですので、なかなかエキスパートが見つかりません。日系の業者も多少は当たってみたのですが、やはりニッチなだけに経験を積むチャンスはさらに乏しいようで、適切な業者がいません。日系に限界を感じ、層が厚い米系も当たったのですが、LAエリア一体を見渡しても、やはりこれといった人が見つかりません。何人かは面接し簡単なテストもしたのですが、正直こちらの期待からは程遠いレベルでした。


そこで、技術者レベルがもう少し高いと予想されるサンフランシスコ・エリアで探したところ、ようやく、その道15年、大手の某モバイルメーカー専属でやってきたというプログラマーが見つかりました。SFまで行って面接し、とりあえずまともそうだったので、最初の開発を依頼してみることにしたのですが……。


やはりプログラマーでは難しいのか


まずはシステムの核になる機能を、テスト的に開発してもらうことにしました。しかし、いざ始めてみたら、簡単な課題でもとにかく時間が掛かりすぎるのです。予定より何カ月も遅れてようやく納品されてきたものは、とても使えた代物ではありませんでした。


例えば、単純な情報照会のプログラムですら、画面を開く度に無駄に全データを取得しようとするため、とても大量レコードには耐えられません。モバイル端末はPCと違って画面も小さく、ボタン操作も楽ではないため、特に操作性には神経を使う必要があります。そのあたりを追及するためのテスト開発でもあったのですが、彼はそれ以前の問題でした。自分が過去に覚えた、ただ一つの手法を何も考えず使ってきただけなのがよく分かったのです。以前4月20日号(第4回)で、成長することができないダメ開発者の話を取り上げましたが、正に同じようなパターンでした。


彼が納品してきたものには、あるパターンで画面を切り替えていくと必ずメモリ不足のエラーが起きるという不具合もありました。もちろん、本当のプロでもケアレスミスはします。しかし、エラーが起きた時に、瞬時に何が原因なのかを推測し、修正できないといけません。医者が患者の症状を見て、すぐに対処法を思い浮かべるのに似ています。これは、一流と呼ばれる開発者にも共通しているスキルだと思います。私も一瞬で問題箇所の予想がついたのですが、残念ながら彼にはそれができなかったばかりか、言い訳に走ってしまったのです。これからもっと難易度の高い、複雑な開発に入らなければならない上、納期までの時間が残り少なくなっていたこともあり、彼への外注を断念するしかありませんでした。


結局私は数日かけて、モバイル端末と通常のPCとの相違点のうち問題になりそうなものを徹底的に調べ上げ、数週間に及ぶ徹夜の開発を行って、無事に納品することができたのです。幸いシステムの出来に関しては、クライアントから高評価を頂けたので良かったのですが、外注しようとしていた彼のために費やした数カ月は一体何だったのだろうと思ってしまいます。それにしても彼はそれまで、どんなものを開発して、この道で15年も食べてこられたのか、本当に不思議でした。

0 件のコメント:

コメントを投稿