Development of any project takes time, dedication, effort, and a little bit of luck; I include luck simply because all the time, dedication and effort doesn’t mean anything if you aren’t in a position to leverage that towards ‘Progress’. Progress is so enticing for many developers nowadays. There exists the question in my mind whether Progress is always ‘progressive’, or regressive. If one thinks about the nature of things, they come to realize that circumstances can be better or worse; but, sometimes for the position one finds themself in, things can only be so good or so bad. What’s important though, is to recognize when Progress is driving a project towards a higher high through a bit of regression rather than completely working against itself.
Sometimes, when we push towards Progress, we may have to make some regressions in order to change our perspective or to break from limitations of the current circumstance. However, that Progress is muddled by the nature of progressing; Progress through regression can be confounding, and much of the time, it can lead us further backwards than forwards.
Consider the space of all possible configurations of whatever product or service you might offer. At every point, the way in which you present it, design it, manufacture it, etc. affects its overall quality such that you can evaluate it. With this evaluation, every change of parts, manufacture, and design will improve or reduce the evaluation you can assign to the quality.
At certain points, it is the highest or lowest quality relative to its neighbors. In the case of the highest quality configurations, any further improvement to the quality will require you to struggle through issues or reductions in quality before a breakthrough that can be made. Simply put: things will get worse before they get better.
These local maxima are the bane of people desiring continual improvement, as they pose a serious value judgment before them: stick with a relatively good product or struggle to make it even better. In life, these evaluations aren’t as concrete as our thought experiment. Sometimes breakthroughs never happen, or they may not be worth the sacrifices.
I think that as developers, designers, and producers, we have to sometimes make the undesirable decision to not over-engineer our projects: to allow the circumstances to change before deciding on the best next step.
We want to reach that global maxima - that pinacle of product greatness - but not everything can be the best it can be, as it were. It is important to be okay with something being the best that it is, rather than what it could be. The grass may be greener at the global maximum, but you’ll have to climb a great ways in order to reach it.
We have to avoid string towards Progress at all costs, and realize when any ‘improvements’ to a product would hinder it; because sometimes, good enough is just good enough.