メディア記事

余計な「念のため」でプロジェクトが死に至る「オーバーエンジニアリング」の問題とは?

バズる指数ピーク 100

 twitterコメント 55件中 1~55件
わかりみ。
>オブジェクト指向やデザインパターンといった複雑な手法を身につけてそれを生かすチャンスを探し始めますが、不必要な複雑さに悩まされた後再びシンプルなコードに戻ってくる、というのが多くのエンジニアが経験するパターンなのだそうです。
これは本当です。最小限の、必要十分な機能の実装に留める努力をしてください。
思い当たる節があるわ…
仕事の進め方もこれだと思うわ…
うちのクソリーダーがやりがち
わかり味が深いやつ。
心得よう。
なるほど
プロジェクトは死んでも冗長の極みに行って肩落としてトボトボ戻ってきたエンジニアが見える景色は違う気がします。


達観してニューゲーム。
会社はたまらないけど😝
痛い目にあって強く賢くなったらいいです。
プログラミングだけの話でもないような気がします。
失敗が糧となるという意味では、まるっきり無駄というわけでもないのですが。
読んでて苦しくなってきた。
経験を積み、シンプルなコードに人は戻る と。
そうですよね。
こういうの、小学校でプログラミングの授業やるときに概念だけ教えてても良いかも。ただ、あくまで学びの基礎は遊びの延長からって部分からすると自由度を奪うのもどうかなって
エンジニアだけで考えると、あらゆるパターンに対処しようとして長大なプロジェクトになりがちになる。
我が国ではエンジニアがエンジニアリングしない問題のが重いんで心配ご無用!言語化って角材振り回したいww
Keep It Simple Stupid.
KISSの法則は「シンプルにやれ!バカ!」だと思ってた。
日本人だと特に念のためが多いのかもしれない、、ほぼ発生し得ない問題に対して対策を考える時間もコードも本当無駄、、
ダニングクルーガー曲線と同じ線やね
一度契約したら、あとは定額使い放題って思っているユーザー企業側の人々に読んでいただきたい!
(もちろん多くの人はいい人たちだけど!)
YAGNI原則
YAGNI原則とは「You ain't gonna need it(そんなの必要ない)」の頭文字をとった略語で、「機能は実際に必要となるまでは追加しないのがよい」とする原則を表しています。
OEで複雑化して失敗する原因はコンセプトと設計と実装のギャップだよ

設計思想に無いものを追加するから複雑化するんやで

探査機のはやぶさなんて万が一の塊だけど成功してるやん
オーバーエンジニアリングは、未知の「万が一」に備えて製品を将来性のあるものにしようとする時に発生します。その「万が一」が起きることはほとんどないにもかかわらず、「時間の浪費」や「プロジェクトの複雑化」といった問題は、プロジェクトが終わる時まで負担になり続け
Open-Closed Principle も追加してほしい気はするけど。
ほんこれ
なるほど。
わかりみ。
>「経験が浅いエンジニアは、まず単純なコードを書いてプログラミングします。やがて、オブジェクト指向やデザインパターンといった複雑な手法を身につけてそれを生かすチャンスを探し始めますが、不必要な複雑さに悩まされた後再びシンプルなコードに戻ってくる」
安心レンタルWiFiならクラウドWiFi東京

U3割引クーポンコード(cloudsmartch2)

U2s割引クーポンコード(smart1000)
わかるわー
オブジェクト指向やデザインパターンといった複雑な手法を身につけてそれを生かすチャンスを探し始めるが、不必要な複雑さに悩まされた後再びシンプルなコードに戻ってくる。
めちゃくちゃ良記事。開発者だけでなくユーザもプロマネも製品販売側も認識しておきたい。
日本のIT企業の生産性が低い理由の一つ。あらゆるコードは再利用できなくてはならない、変更は簡単にできなければいけない、という感染症に罹って、必要のない関数分割や汎化が行われる。
結果、読みにくいコードになり、ステップ数も増大して、開発費が増大する。
余計な「念のため」でプロジェクトが死に至る「 -
この記事の内容とはちょっとズレるかもしれないけど、経験値が上がってくるほど「事前にあるべき姿を提示する」ってやり方を徹底するようになってきてはいるなあ。そのためにはクライアントのプロダクトを自分ごとで理解しないといけないのだけど。
あぁ、ごめんってば。
最近はもう必要最小限を心掛けてるから許してヒヤシンス
YAGNI…耳が痛いな…
オーバーエンジニアリングが、製品をだめにするというお話。

誰かが言っていたが要件をもりすぎて「俺たちはガンダム(宇宙陸海空近遠全てに万全に対応)作ってるんじゃねーぞ」にならないようにしないといけない
これ、すごいよくわかる。今担当してる案件がマイクロサービスで設計されているんだけど、小規模なシステムで予算もなく拡張していく予定もほぼない。なのにマイクロサービスにしたから余計なAPIとかサーバーがあって必要以上にメンテナンスコストを食ってしまってる
念のためk8sにしておきますね^ ^
これ、ダニング=クルーガー効果と何か関連してないのかな…
経験を積むとあまり起こらなくなるらしいので。
>
詳細設計レベルなら見かけることあるけどもって感じ。
凄く思い当たります。山は結構前に超えてると思いますけど、まだ全然下がり切ってないですね。
わかるわかる
わかり味しかない
この記事たしかに経験ある。なるほどね…
あるあるすぎますねぇ...w
「過ぎたるは及ばざるがごとし」、海外のソフトウェア開発現場でも製品が必要以上に複雑化してしまう「オーバーエンジニアリング」という現象がしばしば問題になります。
あー身に覚えがありますね
色んなやり方を知ってそれを試したく詰め込んじゃう時期ですねw
UnityのuGUIイベントハンドリング処理をインスペクターで確認できないパターン。センスが無いのか、スパゲティーしか書けないのか。
Pocket New item archived:
オーバーエンジニアリングが発生するもう1つの原因は経験不足にあります。一般的に、経験豊富なほどオーバーエンジニアリングになりにくいといわれています
大は小を兼ねるといいますが、エンジニアの世界ではシンプルな方が好まれたりしますよね。

みなさんが作っているサービスではどうですか?
めちゃめちゃわかる。
📍
📝
【出所 / 厳選】
オーバーエンジニアリングの話、技術の使いどころを探すことで無駄に複雑になるやつ。APIでも難しい引数つけてる奴とか多い
確かに。
あの手この手と将来のための汎用性を持たせようとすると時間が永遠にかかる。
【ゆかりさんニュース】
タイトルとURLをコピーしました