eXtreme Programming

ITJapan Co.,Ltd. CEO Tadanobu Kinoshita

2004/03/12 00:50 - www.itj.jp

eXtremeProgramming(エクストリーム・プログラミング)という言葉を聞いた事があるだろうか。ソフトウェア開発者の皆様はもちろんご存じだと思うが、やはり一般のサラリーマンの方々にはなかなかなじみの薄い言葉に違いない。私なりの解釈で言わせて頂くなら、このXP(WindowsXPと略称が同じでまぎらわしい)こそが、今世の中の会社のシステムを構築する上にあたって最も基本となる考え方で、『必要なものを必要な分だけ』というトヨタ自動車のカンバン方式に通じるもののプログラム版だ。

その中のひとつを説明しよう。至って簡単だ。まずこの世の物事にはどんな事でも「例外」がある。そしてシステムを作る時には、「例外」はほとんど全て思い切って捨ててしまう事だ。これだけだ。
筆者が得意としているシステムに、売上販売管理システムがある。売上があがれば商品とともに納品書を送り、必要とあれば同時に請求書を出すか、後日請求する…ここまでは問題ない。ほぼどんな品物の取引でも起こりうる事だ。 けれどもある日ユーザーからこんな電話がかかってきた。
「請求書をお客さんが間違って破いてしまったので再発行しなければならない。 たまたま請求した商品名と金額にも間違いがあった。こういう事はたまにある。システム上でパっと出せるようにして欲しい」
もちろん開発対価の上乗せさえすればやってやれない事はない。だが、一口に請求書の再発行と言っても、思いつくだけで「再発行日の管理」「金額の変動の管理」「商品 名の変動の管理」「月次締めとの兼ね合い」等、システムの色々な所にかかわってくる。当然バグが出る可能性もある。それをしてまでやる必要のあるシステムなのか。そこは請求書を月5,000枚ほど発行する所だったので、私は聞いてみた。
「毎月、どれぐらい出し直します?」
「う~ん…月にもよるけど多い時で5~6枚かなぁ」
しばらく考えた後、答えは決まった。それぐらいなら手書きで処理して、システム上は次月もしくは当月に、赤伝もしくは黒伝を入れましょうという事になった。そして本売上データの備考欄に、手書き請求書の控え番号を記入しておく。これだけで運営上は何の問題もないのだ。お金をかけ、システムを複雑に広げ、使い勝手を変化させるのはもったいない。
デジタルな世界の出来事の例外はアナログで対処するのが賢い。こうする事でシステムは使い勝手が良くなる。これをxEtremeProgrammingと言う。

ただ残念なのは、この考え方は、システム開発経験がそこそこにあるか、または感性の鋭い経営者クラスの人間でないと理解できないのだ。
大抵、制作会議・ミーティングの名の下に、どんな例外にも対応できるようなシステム構築を前提に話が進められていって、出来上がったらもう知らない、後は使う事務員さん達が苦労する、というのが現在の大半のシステム開発の実情だ。
おそらく、中小企業で良い社内システムを構築できるのは、感性の鋭い人間が強権を持っている場合のみだ。そしてこれはITに関する事だけにとどまらず、会社経営全般に言える事だろう。
これからの企業は、感性の鋭い人間が何人強権を持つポストに就いているかで企業としての力に益々差がついていくだろう。注意深く世の中の企業を観察していれば、どの企業がそういう人事を行っているかは大体見当がつく。

エクストリームプログラミングは企業経営全体に関わる重要な考え方だ。 また別の機会にもう少し突っ込んで論じてみたいテーマだ。