ソフトウェアの設計担当者は、非常に複雑なアーキテクチャを思いつきます。
ユーザーが決して知らない難解な機能をすべて備えていて、すべての雑誌の記事が最新のクールなことだと言っていることをしているときにその達成感を得るのは、すべて問題なくダンディーですが、私たちはお金を費やすつもりです.私たちの巧妙さの記念碑であるエンジニアリング時間の半分であり、ユーザーが必要とする実際の製品ではなく、上層部の経営陣が合理的な、または少なくとも制限された時間枠内で完了することを期待しています。
そして、時間がなくなり始めたとき、つまりその機会があれば、とにかく単純なソリューションに戻らなければならないでしょう.
Keep It Simple, Stupid™ というフレーズを聞いたことがあるでしょう。
チーム内の過度の複雑さとどのように戦っていますか?
私が最近繰り返し取り組んだ例の 1 つは、RDBMS ではなく、完全に非正規化されたデータベース設計に移行するという決定が下されたときです。「速いから!」完全に非正規化されたデータベースを正しく作成するのは非常に難しく、Flickr や ebay などの非常に特殊なデータの問題にのみ適しています。また、開発の残りの部分に比べて開発者の時間が非常に高くなる可能性があります。