You are on page 1of 1
‘99022, 610 0M {9 Ant-Pattmns Every Programmer Should Be Aware Of Bikeshedding is easier to notice and prevent in my opinion than premature optimization, Just try to be aware of the amount of time spent on making a decision and contrast that with how trivial the issue is, and intervene if necessary. thdr Avoid spending too much time on trivial decisions. 3 Analysis Paralysis “Want of foresight, unwillingness to act when action would be simple and effective, lack of clear thinking, confusion of counsel [...] these are the features which constitute the endless repetition of history.” — Winston Churchill, Parliamentary Debates “Now is better than never.” — Tim Peters, The Zen of Python What is it? Over-analyzing to the point that it prevents action and progress. Why it's bad Over-analyzing can slow down or stop progress entirely. In the extreme cases, the results of the analysis can become obsolete by the time they are done, or worse, the project might never leave the analysis phase, It is also easy to assume that more information will help decisions when the decision is a difficult one to make — see information bias and validity bias. How to avoid it Again, awareness helps. Emphasize iterations and improvements. Each iteration will provide more feedback with more data points that can be used for more meaningful analysis. Without the new data points, more analysis will become more and more speculative. Examples and signs Spending months or even years deciding on a project's requirements, a new UI, or a database design The tricky part It can be tricky to know when to move from planning, requirement gathering and design, to implementation and testing. thdr Prefer iterating to over-analyzing and speculation. hitpsisahandsaba comvnine-ant-patems-every-programmer-should-be-aware-of-with-examples hil 4128

You might also like