2012年5月17日木曜日

プログラム

がらっくです。

おおむね開発は滞りなく進んだのですが、全体を通して感じた事柄を書いていこうと思う。

背景から
プログラムを開発する際に、工数という概念があります。
工数は多いほど、複雑なプログラムで構築されています。
工数が多いほど、コストは高額な傾向があります。

高額な商品は、時として顧客には受け入れがたい事になります。
そこで、工数を減らす努力が行われます。

工数を減らす事柄としては、複数の方法が考えられています。

代表的な例は次の通り。

1. 部品化
これまでのプログラム開発で培ったノウハウを部品化する。
似たような事柄であれば、古いノウハウを使用できる場合がありますが、往々にして部品化して工数が減ったと言うことは聞いたことがありません。

2. 開発環境の改善
メーカ側のお話ですが、開発環境を良くすることにより開発工数を減らすといったことも期待できます。

3. 背に腹は代えられない場合
明日運転資金を得るために、背に腹は代えられない状況で受注する事があります。
こういった状況ではプログラマはあまり良い成績を収めることはできません。

まぁあまり感心はしない事柄が多いですね。
上記の理由から、プログラムが良くて評価されることは滅多にありません。
そもそも発想がマイナスからスタートですので。
と大幅なけちをつけても話が始まらないので。。


開発環境から見る開発の一連の流れを見てみることにしてみましょう。

今回開発を行った言語は、C#でした。
ある程度Cを触ったことのある人であれば、理解しやすい言語です。
VisualStudioで簡単にさくさく書くことが可能ですので、非常に工数としては削減されていたと錯覚いたします。
ここで記述した錯覚というのは、あまりにも書きやすいがための例外処理が疎かになるということです。
テストケースを作成しながら書けばいいのではと思うのですが、書いている最中に結果を予測しながらはプログラムを書くことは困難です。
なおさら、初心者になればなるほどそれは困難に近い形です。

何を言いたいかというと、プログラムの初期の工数は削減できるが、簡単に書けるために、エラーを見逃しやすい事が発生しているという事です。
逆に言うと、プログラムの工数は多いが、プログラムは厳密に書かないとエラーが発生しないと言うことです。
上記2つは、同一のことを指していますが、落とし穴でもあります。

工数の観点から見ると、初期の工数が削減できた方が仕事が取りやすい形になります。
要は、初期の工数が減る方が有利だと言うことです。
仕事は、初期の費用を回収すれば終わりですから、運用に関してはあまり金額を払いません。
プログラムのバグがそのまま放置されたまま運用に突入してしまう形になります。
運用時にお金を払う顧客は、滅多にいません。
運用時にトラブルが発生すると、導入業者に連絡することになります。

つまり、プログラムが滞りなく順調に動く事を念頭に考えると、運用においてもある程の費用をもらうことが、プログラムをかくうえで必須な事柄になります。
とここで書いても、顧客側は、お金を払う事は避けたがるので、このギャップを埋める営業がいればプログラマも救われるのですが、なかなかいませんよね(*^O^*)


顧客にとっても、プログラマにとっても不幸なのは、システムが良い方向を向かない原因でもあります。
顧客は、お金を払いたくない。
プログラマは、ただ働き。
そういった動機から、モチベーションは下がっていくのだと思います。

構造的に弱点を持っているために、プログラム開発会社は、初期費用が枯渇すると全滅する性質を持ちます。
逆に言うと、初期費用を調達できる体力があれば、免れるという形ですね。

まぁ、プログラムは全世界共通ですので、日本で優位性が保たれないと、人件費が安い人たちに取って代わられますね(゚_゚;)


0 件のコメント: