2006年5月23日火曜日

ウェブ開発手法-OPTIMA(完全分業への第一歩)-NO1

僕がインターネットに興味を持ち始めたのは、
Linuxがまだ世の中に今ほど普及するずっと以前だった。
インターネットに初めて触れた時の感動は今でも忘れられない。
ある意味、どこでもドアを手に入れた様なそんな気持ちになっていた。

ウェブ開発を始めた頃は楽しい事ばかりだったのだが、
新しい技術が出てインターネットの利用方法が多様化すればするほど、
ウェブ開発はどんどん難しくなって、
システム会社はその開発方法に頭を悩ますこととなっていった。

開発には苦労が絶えない・・・。
デスマーチ・・・。

ウェブ開発で一番苦労するのは、
業務システムではあまり考える必要がなかった「デザイン」というものだった。
ウェブ開発でデザインが重視され始めた時に苦労したのが、
僕があまり利用したことのなかったフォトショップやイラストレータといった、
デザイナの必須ツールであるソフトウェアを使っての作業だった。
また僕はどう考えてもデザインセンスがあるように思えませんので・・・。

次にその動作環境にも悩まされた・・・。
デザイナはマックがいい!と言うし、
開発者はWindowsやLinuxが動くいわゆる「DOS/V機」がいいと言う。
その当時はMK-Linuxというマックで動くLinuxも検討したこともあった。

でも環境よりも何より、
今まであまり協業することのなかったデザイナとプログラマが
一緒に作業をするとなると、
僕だけかもしれませんが、この2つの職種はどうも相性が悪く、
作業がうまく進みませんでした。
特にデザイナの方々にシステムのことを理解してもらうというのは、
本当に苦労しました。
当時のウェブ開発はPerlやC言語で開発をしていましたが、
ウェブ開発が劇的に変化を遂げるのはPHP3が出た頃からではないかと思います。
1999年頃から試行錯誤し始め、
BWでは2000年にメディアデザイン事業部というウェブ制作やデザインを担当する事業部を設けました。
結果的には他社に先駆けてウェブ制作専門の事業部を設けたBWは色んなお仕事を受注できるようになりましたが、
それでもやはりシステム部分とデザイン部分の協業は難しく、
社内での協業であっても作業効率が上がらないのと同時に、
運用時のランニングコストがシステム側の費用とデザイン側の費用と掛かるので、
割高になってしまうという問題が残りました。
色んな開発手法やツールが世の中に出てきて、
どのウェブ開発会社もシステム開発とデザインの分業を追求するようになりました。
いわゆるMVCモデルの追求です。
MVCとはソフトウェアの設計モデルのことで、
下記の頭文字をとったものです。

Model:処理の中核部分

View:表示・入出力

Controller:ModelとViewの制御

ではMVCモデルに従うことで開発会社にはどのようなメリットが出るのでしょうか。
まず考えられるのは作業範囲が明確になり、
専門分野の担当者が自分の作業にのみ専念できることです。
これにより作業効率は劇的に上がります。

次に各業務が明確に分かれることにより、
互いの依存性が希薄になるため、
他の業務での変更が発生したとしても、
その影響をお互いが受けにくい形になるため、
あるプログラムの変更や画面変更が発生したとしても、
それが原因で多くのスタッフがその作業に駆り出されるというような事態を避けることができ、
開発効率、メンテナンス効率が上がり、
システム保守をし易くなります。

なんか手法解説のような感じになりましたが、
とにかくMVCモデルを実現できれば、
開発会社にとってもクライアントにとっても非常に多くのメリットがあるため、
BWでもMVCモデルでの開発を模索してきましたが、
完全に各作業の分離を実現できるところまでには至っていませんでした。

次回へ続く・・・