開発プロジェクトではコードを書く
前回、開発プロジェクトではなく構築プロジェクトの方がなじむというような話をしましたが、ここではまだ開発プロジェクトという言い方にしますが、そうしたプロジェクトでは、ウォーターフォール型であろうが、アジャイルであろうが、みな一生懸命コードを書きます。前者のスタイルでは大勢のプログラマーを抱えて、せっせとコーディングをします。
おそらく、この瞬間でも世界中で言語は違えど同じコードをかきまくっていることでしょう。これはどう考えてもおかしいと思いませんか。なぜこんなことがおきているのだろうか。
ひとつには、ITベンダー側の事情がある。人月でこなすビジネスが染みついているため、そしてそのための多くのプログラマーを抱えてしまっていることがあって、それをプロジェクトではコードを書かないでいいですよとなったら大混乱になるからである。もしわかったとしてもできないのだ。
しかし、これはユーザからみたら困ったもので、本来なら短納期、低コストでできるシステム開発がベンダー側の事情でユーザに負担を強いている構図となっている。ユーザも薄々はわかっていると思うのだが、ITは専門的なものだからしかたないとあきらめている面がある。
前回も家を建てることを引合いに出したが(クルマの生産と比肩するより、家の建築の方が類似していると思う)、家の建築現場では普通そこで柱や窓枠を作っているわけでもないし、部屋の位置や大きさを変えることはしない。設計どおりなるように調整はするが、その程度である。
それと同じように、システム開発も設計ができたら、原則コードを書かない、もちろん多少のコーディングは要るが、それは例えば現場あわせのインターフェースのところだけとかにすべきである。そのために、モジュール化やコンポーネント化、各種フレームワークの活用などで対処できるようにすべきなのである。
そんなもの、ユーザによってシステムの中味が千差万別だから絶対無理だという人がいます。しかし、その千差をコードで書く必要がありますか、万別というがよくよく見ると共通的なものになってやしないですか。
ぜひ、開発プロジェクトではできるだけコードを書かないようにするためにはどうしたらいいのかをよく考えてもらいたいのです。コードを書くから開発に時間がかかるし、テストが大変だし、バグも出るし、変更に手間取るしというふうにいいことは何もないのである。
