2024-08-08

ソフトウェア開発で誤解されてること

開発期間は見積もりできる

できません

数学証明問題を解いているようなものなので

「この3問を解くのにかかる時間は?」

とか聞かれても

「5分で解けるかもしれないし3時間かかるかもしれないしそもそも解けないかもしれない」

という答えになります

「xに1から順番に100ぐらいまで代入したら証明できるよね?」

みたいなこと言う人いますが、それは証明になっていないので後々困ることになります

とはいえ、なんとなくの経験

「この辺をこうしておいて、この場合だけ別途証明して、ここはこうすればいけるかな?」

という感じでざっくりの見積もりは出せますが、5分か1時間か、ぐらいの粒度しか出せないし

大半の場合はハズレるし下手すると大ハズレするので意味がありません

「あの部署ちゃん見積もり出してくるけど?」

とか言ってくる人いますが、見積もりを出してくるソフトウェア開発会社部署

「かなり多めに見積もって遊んでる」

中途半端実装してテストだけ通してリリースしてる」

のどちらかです

テストが不十分だったりセキュリティ脆弱性を抱えていたり拡張性がなくて結果的にはゴミになるか追加費用が発生するかのどちらかです

動くことが大事で綺麗さは趣味

コードの綺麗さは趣味ではありません

そもそもクソコードと呼ばれるコードは本当にちゃんと動いているのかどうかが分かりません

綺麗なテストが書けるならテストを通過するコードは動いていると言えます

そもそも綺麗なテストが書けるような仕様ならクソコードになりません

大半のクソコードそもそも仕様曖昧状態で、その曖昧状態コードに落とし込むのでクソコードになります

なのでバグがあるかどうか判別できず、本当に動いているかどうかを保証できません

型があるような言語を使っていればインタフェースキッチリ設計してある程度保証できます

型が無い言語地獄コードを1行ずつ読んでメモしていかないとバグがあるかどうか分かりません

最近だとChatGPTなんかのLLMを使うことでその辺はかなり楽になりましたが

綺麗に書かなくて良いわけではありません

ソフトウェア開発者は育成できる

できません

その辺の企業一般社員プロ野球選手に育成しようとしているのと同じレベルで出来ません

最初からプロ志望で社会人野球枠で入社してきて仕事はそこそこに毎日トレーニング試合をしてるような人で

その中でもほんの一部の人プロになれます

そのぐらいのレベル投資しないと育成できません

また、そのレベルであっても、せめて「野球甲子園行きました」レベル人材必要

大学に入ってから野球を始めました」

趣味野球やってます

みたいな人がプロレベルになれるわけがない、というのが現実です

ソフトウェア開発者100人育成!」

教育プログラムを充実!」

とか言ってる会社が多いですが、育成するぐらいなら他から選手集めてきてチーム作る方が早いし安上がりです

ちなみに日本ソフトウェア企業の大半はこのプロレベルに到達しておらずほとんどが草野球レベルなので

そういった企業を使って大リーグ試合しようとしている大企業現実を見つめ直した方が良いです

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん