ページ

2010年10月8日

プログラマの二つの世界なんてあるんだろうか?

プログラマが直面する二つの世界」は とっても面白いんだけど、それ以上にとっても違和感を覚えました。あんまり状況がわかっていないし、僕の働いている環境が特殊なのか、そういう対立するような世界には直面したことがありません。どんなにがんばっても現実的な予算と時間でその要求を実装することがそもそも無理というのはありますが・・・。

さて、二つの世界の住人がいるとしたら、僕はプログラムの設計・実装を重視する方です。そして、必然的に会社としても設計・実装を重視する文化です。でも、それらを重視するとして、顧客の要求も追求しないで一体何を作ろうとしているのか、目的がわかりません。まあ、Chandlerのように何を作ろうしているのかわからないまま、コードをこねくり回していたオープンソースのプログラムもありましたが、そんなのは例外でしょう。 

コードをきれいにすることは、顧客の要求とは違うと言う立場のようです。社内にもそういう風に誤解している人もいます。僕は受託開発の経験がなく、パッケージソフトの開発しか知らないです。パッケージソフトなので、一度限りのコードはほとんどなく、常にメンテナンスのことを考えなければなりません。一度書いたコードは製品がある限りメンテナンスし続けなければなりません。顧客の要求を満たすことは、ある一定のコスト内です。そのコスト内でメンテナンスし続けなければならないです。 メンテナンスが大変なコードはその後のメンテナンスコストの増大につながり、それがその後の価格などに響いてきます。品質とか、機能拡張とかの話にもなりますが、結局、顧客にとってメリットをもたらします。

なので、二つの世界は二律背反なのではなく、リリース期間までを考えたバランスの世界だと思います。 

でも、お客さんがエンジニアを理解してくれないって? そんなことはないんじゃないかな。僕の働いている会社のエンジニアたちは割とお客に理解してもらえているつもりです。



0 件のコメント: