イノベーション・テストとソフトウェア開発のための5つの習慣
講師: 小野和俊株式会社アプレッソ 代表取締役副社長・CTO
報告: 砂田薫


日本のIT業界は本当に元気がないのか?

 近年「日本のIT業界は元気がない」「ソフトウェア産業は国際競争力が低い」という声をよく耳にする.しかし,小野和俊氏は「元気がないのは伝統的な企業情報システムの分野だけではないか.例えば,まつもとゆきひろさんが開発した Rubyは今や世界的に名の知れた言語になったし,Perl のCPANには日本人のプログラマーが数多くのライブラリをコミットしている.また,はてな,ミクシィ,グリーといった会社はみんな元気がいい」と3月15日に開催されたIECPセミナーにて語った.

 1976年生まれの小野氏がCTO(最高技術責任者)をつとめるアプレッソもまた元気がいい会社だ.米国サン・マイクロシステムズでの勤務経験を活かして「シリコンバレーの良さと日本の良さを併せ持ったベンチャーをつくってみたい」と考え,2000年に同社の経営に転じた.主力製品のデータ連携ミドルウェア「DataSpider」が2002年にSOFTICソフトウェア・プロダクト・オブ・ザ・イヤーを受賞するなど,パッケージソフト専門ベンダーとして順調に成長を続けてきた.また,個人的な活動として,2004年度未踏ソフトウェア創造事業で仲間と協力してミーティングツール「Galapagos」の開発にも取り組んでいる.

 セミナーでは,はじめに小野氏が「ソフトウェア開発のための5つの習慣」と「イノベーション・テスト」の2つのトピックについて講演した後,フリーディスカッションが行われた.小野氏のようなITベンチャー系と,伝統的な大手IT企業の双方から参加があり,両者が率直に意見を交換させる場となった.

「5つの習慣」でソフトウェア業界の体質改善を

 「アメリカのソフト開発の強みはダイナミックな発想にある.一方,日本は品質とユーザービリティにすぐれている.日本には優秀な技術者がたくさんいる.それでもソフトウェアの輸入大国になっているのは習慣の問題が大きい」と小野氏は指摘する.そして,ソフトウェア開発のために5つの習慣を身に付けようと提案した.

 第一はひらめきを可視化することだ.たとえば,あるソフトウェアを開発したとき,市場の競合製品と機能や能力を比較する.比較すべきポイントを整理したうえで,強み(山)と弱み(谷)を明確にして可視化する.ここまでは一般的なSWOT分析でも行われているので,それほど新味はない.重要なのは「谷を気にせず山があるかどうかを気にする」ことだという.その山がまったく新しい製品やサービスになるかもしれないからだ.山を活かす戦略は二つある.一つは,一つの山に注力して谷となったポイントは最低限まで埋める努力をしたうえで製品化する.もう一つは,山だけをプラグイン製品として提供し他のポイントは他社製品を利用する.いずれにしても,強みを徹底的に活かせという考え方だ.  第二はユーザービリティを追求することだ.日本の得意分野であるソフトウェアの操作性をさらに伸ばしていくことを提案している.ユーザーははじめて使うソフトウェアに対して,今までの経験から理解している操作ルール(たとえばテキスト画面でマウスを右クリックしたら「切り取り」「コピー」といったメニューが出てくるはず……)に照らしあわせながら新しいツールを理解する.ペルソナ・シナリオ法(仮想的なユーザーの詳細なプロフィールを定義して誰のために開発するソフトウェアなのかを明確にする)などを用いて,対象となるユーザーがストレスを感じずに操作することができるように設計されたソフトウェアは手触りの良いソフトウェアであると言える.そういう「手触りの良さ」を重視せよと小野氏は主張する.

 第三は現役プログラマーであり続けることだ.日本では,プログラマーよりSE(システムエンジニア)が上級職とみなされている.そのため,日本のソフトウェア会社では,プログラマーとして何年かの経験を積むとSEに「昇格」させるという人事がまかり通っている.また,ソフトウェア開発の上流工程を担当するほど上級であるという認識が広まっている.そのため,プログラマーは下流職種として扱われがちとなり,それが大問題だというわけだ.小野氏は「プログラマーの地位向上が不可欠」として,プログラマーのタイプを4種類に分類し(図1参照),どのタイプも必要とされ,プログラマーのキャリアパスとして「火のスーパープログラマー」や「風のフェロー」をめざす方向も考えられると提案する.

 第四は,徹夜をしない,させないことだ.ソフトウェア業界では長時間労働で徹夜が当たり前という風潮がある.これは,ソフトウェア会社のマネジメントの問題であると同時に,業界体質を変えていこうという主張である.

 そして,第五は,責めないで攻めることだ.これは小野氏が米国勤務時代に出会った有能な上司から学んだマネジメントのコツである.たとえ能力が不足している人であっても責めるな,その人の良い点を探せという教えだ.その理由は,責めるチームではひらめきが摘み取られやすいためだという.

図1:風林火山によるプログラマーの分類

風のプログラマー迅速な設計/実装によってチームを加速させる風のプログラマー.風のプログラマーがいない開発チームでは,他に先駆けて新製品やサービスをリリースすることが困難になる.
林のプログラマー突発的なトラブルが発生しても冷静に対処し,チームに乱れぬペースを提供する林のプログラマー.林のプログラマーがいない開発チームはトラブル発生時に何をすべきかの正確な判断を行えず,混乱に陥りやすい.
火のプログラマー新しい技術/方法/ツールの積極的な導入によってチームやその成果物の競争力を高める火のプログラマー.火のプログラマーがいない開発チームは同じやり方を繰り返すことはできるが,進歩する機会が少ない.
山のプログラマー厳密なエラーチェックと堅牢なプログラミングによって成果物の安定性を高める山のプログラマー.山のプログラマーがいない開発チームは常に品質の低さからくる不安にさいなまれる.

……つづきは智場110号で