当たり前のことですが、プログラマーは手戻りを嫌います。
プログラマー以外もそうかもしれません。
設計書を書いて、レビューを繰り返し、コーディングしてテスト。
ようやく出来上がった時点でお客さんからの仕様変更。
影響範囲を調べた上でプロセスを最初からやり直します。
日の目を見ることがなかったコメントアウトされるコード。
追加機能と実装済みの機能に矛盾が生じて青ざめます。
お客さんに相談するも
「そんなのそっちで考えてよ。」
「そんなの作り方次第でしょ?」
「XXXと言う機能に▲▲▲のフラグをたててうまいことやればイケるでしょう」
と、話になりません。
ただただ、プロジェクトは遅れます。
忙殺される人生
何故、ソフトウェア開発は追い詰められるのでしょう。
「見積もりが甘い」
「要件定義能力が足りない」
「マネジメント能力が足りない」
「人が足りない」
「プロジェクトのスタートが遅い」
「メンバーのやる気が足りない」
原因などのんびり分析している暇もなく、
ただ「能力の問題」と「やる気の問題」に落ち着きます。
自分とか能力を責めれば時間稼ぎできますが何の解決にもなりません。
ここらで一つシンプルな質問をしてみたいと思います。
なぜ、納期があるんですか?
納期
どっかの匿名の書き込みで書いてありましたが、オリジナルは失念。
内容もうろ覚え。
「これいつまでにできる?」→「頑張ります!!」
「頑張るのはわかったから出来上がるのはいつ?」→「今すぐやります!!」
あぁ、これあるわー。
と思っていたのですが、今の職場ではなかなか巧みな返しも多いです。
「これいつまでにできる?」→「〇〇までに回答します(返事来~ず)」
「これいつまでにできる?」→「いつまでにやればいいですか?」→「じゃあ、今週中」→「今、忙しくて・・・」→「じゃあ今月中」→「隙間をぬってやることになるんでちょっと約束は・・・」
大企業病?意味の無いやりとりに辟易します。
納期が強制的に決まるソフトウェア開発プロジェクトからは考えられません。
最近、このぬるさにそまりつつあるのですが、ふと思うのです。
零細ITベンダーには厳守すべき納期があって、今の職場には納期がないのか。
納期の重み
答えは「稼ぎ方の違い」にあると考えています。
成果物を提供してお金と交換する人は、成果物を受け渡す日を決めなければなりません。それが納期です。
一方で今の僕はお金のために働いていません。僕がいくら働いても一円にもならないので。
ぶっちゃけ居ない方が給料払わなくて良い分、会社のためになるという不思議な状況です。
今の仕事は稼ぎを「効果」というかなり抽象的なもので表します。
効果はでなくてもゼロのままですが、お金はもらえないと損失です。
なので、今の仕事には「努力目標の期日」はあっても「厳守の納期」はありません。
納期の重みとは全く異なります。
まとめ
なぜ、ソフトウェア開発は追い詰められるのか。
納期があるから
ご参考まで。
案外今のゆるゆる環境でも追い詰められるケースがあるので、それはまたの機会に。
おわり
コメントを残す