システム開発の生産性について考えてみました。
と言っても生産性を数字で表わすとなると結構難しいですね。
何を基準にすればよいのか・・・。
ステップ数じゃないし、機能数でもないし、売上金額も違うし・・・。
と言うわけで具体的な数字は置いとくことにします。
WEB上で色々調べている間に、「
生産性の差」というものが気になり始めました。
優秀な技術者と、駄目な技術者では生産性に
10倍~100倍も差があるそうです。
(私的には場合によっては100倍もありえるのかなと思います。)
これは他業種と比較すると格段に大きいような気がします。
でも賃金の差はよくても2倍ぐらいでしょうか。
人月見積りが足かせとなっていることは明白ですよね。
スキルUPし、生産性を向上させた結果、売上金額(人月)が少なくなるっていうのはありえない話ですよね。
そう言えば、開発支援製品の広告でも
「○○で生産性が25%UP!」
とかよく見かけますよね。
このUP率も個人によって差が出そうですね。
優秀な技術者ほどUP率が高かったりして・・・。
それじゃあ差は開くばかりですねw
また、技術力だけでなく
開発環境でも生産性に差がでるという記事も見かけました。
開発PCのスペックは勿論、デスクスペース、職場の雰囲気、人間関係なども影響するそうです。
それにしても何故こんなにも生産性に差が生じるのでしょうか?
知識、経験の差だけなのでしょうかね?
まあ難しい話は、私には分かりませんが
興味深い記事を見つけました。
この記事によると、
システム開発における開発工程(プログラミング)は、他業種(工業製品開発など)の設計工程に当たると言うのです。
じゃあシステム開発における生産工程は何かと言えばビルド作業だそうです。
う~ん・・・。
何だかそんな気もしてきました。
そう言えば、最近のPGはプログラミングだけでなく設計もやってますよね。汎用機時代だとプログラム仕様書とかがあってPGって言うかコーダーがコーディングして。
最近じゃ詳細設計書どころか基本設計書もないこともしばしば・・・。
やっぱSE、PGっていう職種分け自体が時代に合ってないような。
プログラム仕様書さえあれば、コーディング工程の「生産性の差」はぐっと縮まるのように思えるので復活させてみる?でもそんなものを作成すれば絶対に赤字確実だし・・・。そもそも見積りが通りそうにないし・・・、時代に逆行してるし・・・。
「ソフトウェア産業は歴史が浅いからまだまだなんだよ」
と言われればそれまでのような気もするし・・・。
この辺りは難しいですね。
コンポーネント指向、
オブジェクト指向、
サービス指向とかが出てきても「生産性の差」がなくなるとは思えないですし。って言うか
もっと広がりそうで怖いw
結論としては、今後「
生産性の差」は大きくなるばかりのような気がするので、私のような極一般的な技術者には厳しい時代だと言う事です。
ヽ(ー_ー )ノ マイッタ
「生産性の差」「生産性がxx倍に」という記述が見られますが、何を根拠に「差」や「xx倍」と仰るのでしょうか? これらの言葉は、対象を計測し、数量で表現しないと意味が無い言葉です。
そもそも「生産性」とは何でしょうか? 生産性の定義が見当たりませんが、まず生産性を定義しないと、議論や考察の意味が無いと思います。Wikipediaで「生産技術」を調べると、製造業における生産性についての説明を見ることができます。システム開発は製造業とは違うので参考程度の記事ですが、これをもって、自分なりに数値化できる「生産性」を定義し、それから考察すると良いのではないでしょうか?