SlideShare a Scribd company logo
俺のプロダクト開発用語辞典
~オーバーエンジニアリング~
Overengineering (or over-engineering,
[1]
or over-kill) is the act of designing a product or providing a solution to a problem in an overly
complicated manner, where a simpler solution can be demonstrated to exist with the same efficiency and effectiveness as that of the original
design.[2]
Overengineering differs from Planned Obsolescence which seeks to alter a design to produce an artificial limit on a product's lifespan or
otherwise make it unfashionable. Overengineering is often identified with design changes that increase a factor of safety, add functionality,
or overcome perceived design flaws that most users would accept.
Overengineering can be desirable when safety or performance is critical (e.g. in aerospace vehicles and luxury road vehicles), or when
extremely broad functionality is required (e.g. diagnostic and medical tools, power users of products), but it is generally criticized in terms of
value engineering as wasteful of resources such as materials, time and money.
wikipedia(英語版)より
オーバーエンジニアリング(またはオーバーエンジニアリング [1]、オーバーキル)とは、製品を設計したり、問題の解決策を
提供したりする際に、元の設計と同等の効率や効果を持つ、よりシンプルな解決策が存在することを証明できるのにもかか
わらず、過度に複雑な方法で設計することである [2]。
オーバーエンジニアリングは、製品の寿命を人為的に制限したり、流行遅れにしたりするために設計を変更しようとする計
画的陳腐化とは異なります。オーバーエンジニアリングは、安全率を高めたり、機能を追加したり、ほとんどのユーザーが受
け入れるであろう設計上の欠陥を克服するような設計変更と同一視されることが多い。
オーバーエンジニアリングは、安全性や性能が極めて重要な場合(航空宇宙用車両や高級ロードカーなど)や、極めて広範
な機能性が要求される場合(診断ツールや医療機器、製品のパワーユーザーなど)には望ましいが、バリューエンジニアリ
ングの観点からは、材料や時間、お金などの資源を無駄にしていると一般的に批判されている。
wikipedia(英語版) → DeepLより
オーバーエンジニアリング=作り過ぎて、時間や金を無駄にすること
資産
純資産
負債
いい
こと
わるい
こと
エンジニアリング
なにもな
い
オーバーしてる
オーバーしてない
こっちのタイミング
ing
オーバーエンジニアリング=作り過ぎて、時間や金を無駄にすること
本当に必要
だったこと
非オーバー
部分
オーバー部分
いろいろあって。
要求定義 要件定義 設計 コード テスト
オーバーエンジニアリング=作り過ぎて(やりすぎて)、時間や金を無駄にすること
本当に必要
だったこと
非オーバー
部分
オーバー部分
いろいろあって。
要求定義 要件定義 設計 コード テスト
存在しないユーザを
想定して、仕様を増や
しちゃう
直さなくて良いバグ
を直しちゃう
大事な気がする仕様
が問題になって、更な
る解決が必要になっ
ちゃう
全体の性能ネックでは
ないところが、大事な
気がして高性能にし
ちゃう
将来に備えようとし
て、備え過ぎちゃう
必要以上のレビューや
文書化といったプロセ
スを行ってしまう
オーバーエンジニアリング=作り過ぎて(やりすぎて)、時間や金を無駄にすること
<用例>
①XXXXXXの時に、XXXXが原因で、XXXXになる
②XXXXXXの時に、XXXXが原因で、XXXXになる
③XXXXXXの時に、XXXXが原因で、XXXXになる
④XXXXXXの時に、XXXXが原因で、XXXXになる
⑤XXXXXXの時に、XXXXが原因で、XXXXになる
オーバーエンジニアリング=作り過ぎて(やりすぎて)、時間や金を無駄にすること
要求定義 要件定義 設計 コード テスト
誰にも使われない機能  → そもそも、そんなユーザいなかった
起こらないリスク対応  → そもそも、そんなリスク存在しなかった。
開発、深堀りしない
オーバーエンジニアリング=大事な気がして、作り過ぎて、時間や金を無駄にすること
要求定義 要件定義 設計 コード テスト
要件スパイラル
<要求>
ボタンAを押したらべロー
ンとなる
<要件>
ボタンAが押されたら、べ
ローンとする
<問題>
べローンとしたら、別のボ
タンB隠れてしまった。
<要求>
べローンってなっても、ボ
タンBを押せるようしたい
<要件>
べローンの時は、ボタンB
を右にずらす
<問題>
べローンとしたら、別のボ
タンB隠れてしまった。
<要求>
べローンってなっても、ボ
タンBを押せるようしたい
<要件>
べローンの時は、ボタンB
を右にずらす
<問題>
べローンとしたら、別のボ
タンB隠れてしまった。
オーバーエンジニアリング=本来は大事じゃないことを、大事だと錯覚した結果、作り過ぎて(やりす
ぎて)、時間や金を無駄にすること
本当に必要
だったこと
非オーバー
部分
オーバー部分
いろいろあって。
要求定義 要件定義 設計 コード テスト
存在しないユーザを
想定して、仕様を増や
しちゃう
直さなくて良いバグ
を直しちゃう
大事な気がする仕様
が問題になって、更な
る解決が必要になっ
ちゃう
全体の性能ネックでは
ないところが、大事な
気がして高性能にし
ちゃう
将来に備えようとし
て、備え過ぎちゃう
必要以上のレビューや
文書化といったプロセ
スを行ってしまう
大きな少数の声が、全体
であるかの様に錯覚して
しまう。
HOWが大事であると錯
覚してしまう。
数年後の状態が、明日く
らいに錯覚してしまう。
目の前で起こった問題
は、全部大問題と錯覚し
てしまう。
取捨選択が重要なのに、教科書に
書いてあることは、全部やるのが正
しいと錯覚してしまう。
起こるかもしれないことは、全部起
きると錯覚してしまう。
オーバーエンジニアリング=本来は大事じゃないことを、大事だと錯覚した
結果、作り過ぎて(やりす
ぎて)、時間や金を無駄にすること
<用例>
・要求にHOWが入ってる(HOWが大事であると錯覚してしまう)
・少数ユーザの意見(少数の意見が、全体の意見であると錯覚してしまう)
・とてつもなくグロースするサービス(数年後の状態が、明日のことのように錯覚してしまう)
・リスクを取らない(目の前で起きた問題が、すべて大問題であると錯覚してしまう)
・リスクを取らない(起きるかもしれないことは、大抵起きると錯覚してしまう)
・教科書をなぞる(取捨選択こそが大事なのに、全部やらないとダメだと錯覚してしまう)

More Related Content

What's hot

SUPWAT 採用デック資料(PDF)
SUPWAT 採用デック資料(PDF)SUPWAT 採用デック資料(PDF)
SUPWAT 採用デック資料(PDF)
ShotaroHATANAKA1
 
Software Frontloading and QA
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QA
Yasuharu Nishi
 
SUPWAT 採用デック資料
SUPWAT 採用デック資料SUPWAT 採用デック資料
SUPWAT 採用デック資料
ShotaroHATANAKA1
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~
terahide
 
Portfolio for JIRA で"全体計画にコミット"し続けるべし
Portfolio for JIRA で"全体計画にコミット"し続けるべしPortfolio for JIRA で"全体計画にコミット"し続けるべし
Portfolio for JIRA で"全体計画にコミット"し続けるべし
Hiromasa Oka
 
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
Yusuke Suzuki
 
超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0
正善 大島
 
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
Masanori Kaneko
 
モダナイゼーションがもたらす未来
モダナイゼーションがもたらす未来モダナイゼーションがもたらす未来
モダナイゼーションがもたらす未来
Hiromasa Oka
 
[Track1-7] COVID19ワクチン開発に向けた、AIの挑戦 ~深層学習が導く、新領域との接点~
[Track1-7] COVID19ワクチン開発に向けた、AIの挑戦 ~深層学習が導く、新領域との接点~[Track1-7] COVID19ワクチン開発に向けた、AIの挑戦 ~深層学習が導く、新領域との接点~
[Track1-7] COVID19ワクチン開発に向けた、AIの挑戦 ~深層学習が導く、新領域との接点~
Deep Learning Lab(ディープラーニング・ラボ)
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
 
クラウド時代のアーキテクチャ ~クラウド時代のプロダクトマネジメントとアーキテクト~ - TechFielders Architect Night
クラウド時代のアーキテクチャ ~クラウド時代のプロダクトマネジメントとアーキテクト~ - TechFielders Architect Nightクラウド時代のアーキテクチャ ~クラウド時代のプロダクトマネジメントとアーキテクト~ - TechFielders Architect Night
クラウド時代のアーキテクチャ ~クラウド時代のプロダクトマネジメントとアーキテクト~ - TechFielders Architect Night
満徳 関
 
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
Masanori Kaneko
 
バックキャスティング思考を用いたコア技術戦略の実践
バックキャスティング思考を用いたコア技術戦略の実践バックキャスティング思考を用いたコア技術戦略の実践
バックキャスティング思考を用いたコア技術戦略の実践
Yuichiro KATO
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
Hiromasa Oka
 
Software Engineering And Role of Agile
Software Engineering And Role of AgileSoftware Engineering And Role of Agile
Software Engineering And Role of Agile
Kenji Hiranabe
 
20160108 hcd-net-salon_itojun_share
20160108 hcd-net-salon_itojun_share20160108 hcd-net-salon_itojun_share
20160108 hcd-net-salon_itojun_share
ITOJUN
 
Reエンタープライズへのアジャイル開発の導入事例 20161119
Reエンタープライズへのアジャイル開発の導入事例 20161119Reエンタープライズへのアジャイル開発の導入事例 20161119
Reエンタープライズへのアジャイル開発の導入事例 20161119
Shozaburo Yoshihara
 
Cost estimation using Wagby
Cost estimation using WagbyCost estimation using Wagby
Cost estimation using Wagby
Yoshinori Nie
 
医療機器ソフトウェア開発を対象とした包括的アセスメントのケーススタディ
医療機器ソフトウェア開発を対象とした包括的アセスメントのケーススタディ医療機器ソフトウェア開発を対象とした包括的アセスメントのケーススタディ
医療機器ソフトウェア開発を対象とした包括的アセスメントのケーススタディ
Masanori Kaneko
 

What's hot (20)

SUPWAT 採用デック資料(PDF)
SUPWAT 採用デック資料(PDF)SUPWAT 採用デック資料(PDF)
SUPWAT 採用デック資料(PDF)
 
Software Frontloading and QA
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QA
 
SUPWAT 採用デック資料
SUPWAT 採用デック資料SUPWAT 採用デック資料
SUPWAT 採用デック資料
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~
 
Portfolio for JIRA で"全体計画にコミット"し続けるべし
Portfolio for JIRA で"全体計画にコミット"し続けるべしPortfolio for JIRA で"全体計画にコミット"し続けるべし
Portfolio for JIRA で"全体計画にコミット"し続けるべし
 
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
 
超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0
 
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
 
モダナイゼーションがもたらす未来
モダナイゼーションがもたらす未来モダナイゼーションがもたらす未来
モダナイゼーションがもたらす未来
 
[Track1-7] COVID19ワクチン開発に向けた、AIの挑戦 ~深層学習が導く、新領域との接点~
[Track1-7] COVID19ワクチン開発に向けた、AIの挑戦 ~深層学習が導く、新領域との接点~[Track1-7] COVID19ワクチン開発に向けた、AIの挑戦 ~深層学習が導く、新領域との接点~
[Track1-7] COVID19ワクチン開発に向けた、AIの挑戦 ~深層学習が導く、新領域との接点~
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
 
クラウド時代のアーキテクチャ ~クラウド時代のプロダクトマネジメントとアーキテクト~ - TechFielders Architect Night
クラウド時代のアーキテクチャ ~クラウド時代のプロダクトマネジメントとアーキテクト~ - TechFielders Architect Nightクラウド時代のアーキテクチャ ~クラウド時代のプロダクトマネジメントとアーキテクト~ - TechFielders Architect Night
クラウド時代のアーキテクチャ ~クラウド時代のプロダクトマネジメントとアーキテクト~ - TechFielders Architect Night
 
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
 
バックキャスティング思考を用いたコア技術戦略の実践
バックキャスティング思考を用いたコア技術戦略の実践バックキャスティング思考を用いたコア技術戦略の実践
バックキャスティング思考を用いたコア技術戦略の実践
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
Software Engineering And Role of Agile
Software Engineering And Role of AgileSoftware Engineering And Role of Agile
Software Engineering And Role of Agile
 
20160108 hcd-net-salon_itojun_share
20160108 hcd-net-salon_itojun_share20160108 hcd-net-salon_itojun_share
20160108 hcd-net-salon_itojun_share
 
Reエンタープライズへのアジャイル開発の導入事例 20161119
Reエンタープライズへのアジャイル開発の導入事例 20161119Reエンタープライズへのアジャイル開発の導入事例 20161119
Reエンタープライズへのアジャイル開発の導入事例 20161119
 
Cost estimation using Wagby
Cost estimation using WagbyCost estimation using Wagby
Cost estimation using Wagby
 
医療機器ソフトウェア開発を対象とした包括的アセスメントのケーススタディ
医療機器ソフトウェア開発を対象とした包括的アセスメントのケーススタディ医療機器ソフトウェア開発を対象とした包括的アセスメントのケーススタディ
医療機器ソフトウェア開発を対象とした包括的アセスメントのケーススタディ
 

俺プロ オーバーエンジニアリング