プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

ソフトウェアを作るには、お金がかかるのです

先日「東京トイボックス」というドラマを見た。

http://www.tv-tokyo.co.jp/tokyo_toybox/

ゲームの開発現場は知らないので、これがどの程度現実味のある話なのかは分からないけど、同じソフトウェア業界ということで「そうそう、そうなんだよね」って思う部分が多かったな。

その中で、特に印象深かったのは納期と仕様変更ってやつ。

とある

秋葉原にあるゲーム制作会社。納期を明日に控えた朝、主人公である社長の天川が

「仕様を変更するぞ!」

と叫ぶ。そこへ経営コンサルタント会社から派遣されてきた月山が

「納期を伸ばすと、どれだけお金がかかると思ってるの!」

と噛み付いて…というのが物語の始まり。

まあドラマなので、だいぶ表現は誇張されてるけど、ソフトウェア企業で働いている/働いていた人であれば、誰しも経験のあることだよね。今もどこかで同じことが起こってる :)

天川は言う

「オレは自分が納得するゲームを作りたいんだ!これだけは変えねえぞ!」と。

理由や背景はどうあれ、仕様を変更するのはソフトウェアをよくしたいと思う気持ちであって、それ自体は悪いことじゃない。問題は、ソフトウェア開発者の多くが「ソフトウェアを作るのにお金はかからない」って思ってることじゃないのかな。

例えば

DVDプレイヤーを作っている会社が「内蔵しているHDDを1TBから2TBにしよう」と考えたとする。当然原価が上がるので、価格をいくらにしよう、って話になるよね。内部の小さな部品一つだって大量生産すれば大きなコストになる。

ソフトウェアはどうだろう。DVDメディアの原価は、ハードウェア製品に比べれば遥かに低い。今はネットの配信コストぐらいしかかからないかな。製品規模なんて、誤差のレベルだ。

ソフトウェア製品において最もコストがかかるのは製造工程。デザインから実装・テストには人件費という多大なコストがかかる。それはみんな知っているけれど、機能追加や仕様変更にはなぜかお金がかからない、ってことになってるんだな。不思議だね :)

仕様を変更すればデザインをやり直し、実装してテストをするわけで、コストがかかる。人を増やせば、さらにコストは跳ね上がる。それを繰り返していれば、やがてプロジェクトは火を噴くわけで、いわゆる「デスマーチ」に陥るのは明白だよね。

大昔、ソフトウェアはハードウェアの「おまけ」だったんだって。さすがに今はそう思ってる人はいないと思うけど、ソフトウェアの製造コストって、未だに軽視されてることが多いように感じる。

大切なのは

こういったコスト意識を開発に関わる人全員が共有することだと思う。

仕様変更をするな、って言ってるわけじゃない。それがどのくらい時間と人件費を必要とするかをみんなが意識しない限り、残業が慢性的につづいている、ソフトウェア開発者の待遇は改善しないんじゃないのかな、って思う。

はい。「これはこうした方がいいな」って、ちょこちょこ修正しちゃってます。「ここは仕様を変えましょう」って言ってます。自戒を込めて^^;