Often, developers may trip over themselves trying to optimize their code or their design artifacts to a ridiculous extent, often before their code even performs basic functions, or even before any code has been created at all. This can rapidly perform issues in production.
In this section, I wish to discuss three anti-patterns specifically relating to this topic:
Analysis paralysis
Bikeshedding
Premature optimization
In short, this is where a strategy is over-analyzed to the point where progress is slowed down, or even stopped entirely in extreme cases. Not only can such solutions become obsolete rapidly, they can be made in under-educated circumstances, for example, in a meeting where an over-analytic boss tries to dig too deep into detail in advance without allowing their developers to actually do some research.
Over-analyzing a problem and seeking a perfect solution upfront just does not work; programmers should seek to refine their solution, not come...