あるプログラマの日記

プログラマのメモ、出来事、考えたこと、勉強とかの雑記

プログラマーの残業はなぜなくならない

きょうも残業か、とつぶやくプログラマーがほとんど
なのでしょうか?


私は残業がソフトウエア開発の生産性を下げる。と思ってます。
なぜ残業しなければならない状況になったのか?


お客さんの都合、ユーザの都合なのか?
とりあえず時間がないから、残業して少しでも前倒しで作業を進めて
みたいな話しがマネージャからあったから?


いずれにしろ、ソフトウエア開発の効率の悪さはどこから
くるのか、ちょっと考えてみました。





日本的な開発スタイルというのは、仕様がちゃんとしてなくても
納期が決まっていて、ソフトウエア開発はダラダラと始まってしまいます。


デバッグ単体テスト結合テスト、綜合テストで仕様の抜けや
修正などが多発して後戻り(再コーディング)で作り直し
が発生、なにやらシステムが不安定だということになります。


こういう状況になると、
プログラマーからすれば仕様を決めてまとめているのが
だれなのかよくわからない状況になっていることが多いです。

プロジェクトの終了時期もよくわからない。
いつ終わるんだろうか? という不安が出てきたりする。

単純なプログラミングのミスなんかではなく
どのように動作することが正しいのかが明記されていない、
テスト仕様を書けない状況であることが多いのです。


なぜだと思いますか?








ソフトウエアの設計力の不足? それもあるかもしれません。







プログラマーのスキル不足? それもあるかもしれません。









決定的な原因は仕様を確定する技術力が仕様確定者に不足しているためです。
しかし、それを当の本人が認めないので同じようなこと(トラブル)を
何度も繰り返しているのです。



なぜ認めないのか? 


















仕様を確定するのがだれなのかが明確になっていないから。

ソフトウエアの開発を依頼するお客さんが確定するのか、
ソフトウエアの開発を請け負う側が確定するのか。

基本的にはソフトウエア開発を請け負う側が要求仕様を作成して
仕様を確定しなければならないと思うのですが
みなさんはどう思いますか?