住居入手と比較する“システム構築の特殊性”“街づくり”で理解するシステム構築入門(2)(2/3 ページ)

» 2005年06月02日 12時00分 公開
[鈴木 雄介,@IT]

家を変えるか、ライフスタイルを変えるか

 まずは、パッケージ製品を購入し、カスタマイズする場合を考えてみよう。そもそも、パッケージ製品は、業界における一般的な業務を前提として作成されている。家に例えれば、平均的な家族のライフスタイルを想定したうえで間取りや家具がそろっている状態だ。

 とはいえすべての面で平均的な家族など存在するわけがない。当然、“改築”したくなるだろう。 しかし、ありとあらゆる部分に手を入れたのでは建売住宅を選択した意味がない。その意味では「ある程度」の範囲で改築を行うというのが現実的だ。結果として、建売住宅の価格に加えてかなりの金額を改築に費やしたにもかかわらず、完全に自分のライフスタイルに合う家になる可能性は高いとはいえない。

 また、下手に改築してしまい、家の柱や間取り──すなわち“構造”にまで手を入れてしまって、その結果、家の安全・安定性が失われる結果になることすらある。

 そのため、パッケージ製品ベンダやITコンサルタントの中には、「パッケージ製品を使う場合は、業務をそれに合わせるべきだ」と主張する向きもある。しかし、これは、家に合わせてライフスタイルを変えろといわれているようなもので、譲れる点もあるだろうが、当然譲れない点もあるはずだ。

 最近では、カスタイズ機能を強化した(あるいはそもそもカスタマイズすることを前提とした)パッケージ製品も登場している。それでもパッケージ製品を選択する場合には、もともとパッケージ製品にどのような機能があるのかをきちんと調査し、不足する部分をカスタマイズで補うのか、業務変更で補うのか、その分担をよく検討する必要性がある(フィットギャップ分析という)。

図面だけでは決められない

 では、開発を行う場合はどうだろうか。一般的な注文建築の場合、まずは3〜4カ月かけて、図面や模型を使い、綿密に打ち合わせを行うことだろう。そして建築が始まったら、後は完成日を楽しみに待つことになる。

 しかし、企業アプリケーションの場合は、前述のように家具や備品がすべて作り付けになるという問題がある。つまり家具や備品に至るまで、すべてを最初に決定しなくてはいけないのだ。例えば食器棚の中の皿の数や置き場まで図面上で決定しなければならないとしたらどうだろう。こうしたことまで図面や模型だけで決定するとしたら、誰でも躊躇(ちゅうちょ)するはずだ。こういった細かいレベルでは、図面の段階では最適な方法や手段が分からず、「あ、やっぱりこうだった」ということが頻発する。しかも“業務”は抽象的な存在なので、家や部屋のような具体的なイメージがわきにくいのである。

 この場合、階数や柱の材質などの構造にかかわるような基本設計は図面で決めるが、後は家を建てている最中に現場を訪れて細かい部分(例えば食器棚の中)を決定した方が安心できるのではないだろうか。実物を見ながら色やサイズや配置を選択できれば、それだけ的確な判断ができるはずだ。さらに、計画や予算も柔軟に組み替えられるだろう。家を建築している間にもライフスタイルや価値観は変化する。重要だと思われていた棚が、実は要らないことに気付くかもしれない。あるいは、作ってしまったベッドがどうしても気に入らないなら、ほかの部分の予算を削ることで作り直すことが可能になるかもしれない。

コンピュータ利用の環境変化

 ソフトウェアの開発方法において、前者は「ウォーターフォール」、後者は「アジャイル」あるいは「イテレーティブ」と呼ばれている。

※イテレーティブは必ずしもアジャイルとは同じものではないが、ここではアジャイルという言葉に代表させて、説明する。

 先ほどのメタファから考えればアジャイルが望ましいように感じるだろう。ところが、昔からウォーターフォールが支持されており、いまだに多くの案件で採用されている。これは、なぜだろうか。

 それは、ウォーターフォールの方が安心できるという認識が根強いからだ。

 そもそもウォーターフォール・モデルは、コンピュータが圧倒的に高価であった時代に生まれた開発手法だ。その当時、「試しに作ったプログラムを実際にちょっと動かしてみる」といったことは許されなかった。建築模型やモデルハウスを作ることができない状態だったといえる。

 また、その昔は企業におけるコンピュータの利用領域は限られていて、一定のルールに従って単純な作業を大量に行うといった事務処理の機械化が対象だった(EDP:エレクトリックデータ・プロセッシングなどといった)。逆にいえばコンピュータに向いた仕事を選んで、システム化を行っていたのだ。

 こうしたルーチンワークであれば仕様変更は少ないので、成果物を明確にして事前に何を作るかをはっきりさせ、開発期間やコストが予想しやすいウォーターフォールが安心だといえる。

 しかし、コンピュータが劇的に安くなり、使われる領域が広がるにつれ、ウォーターフォールが適合しないプロジェクトが増えてきた。しかも、昨今のビジネスは状況や環境の変化が速く、システム開発中にニーズや要求が変更になることも多い。こうした状況を受けて登場したのが、アジャイル開発なのだ。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ