The perfect is the enemy of the good
A perfect result is often not a prerequisite for success. It is unfortunately quite common for people in a project to get fixated on small details of their project and forget about the big picture. This is especially true with highly visual things such as details of a header of a web site or last visual details of an user interface. Countless hours can be spent to reach just the right shade of red on a header or to find perfect texture for background of a form.
While I certainly don’t have anything against creating works of art or being proud of your work the project manager inside of me often disagrees when moving from good to perfect. Projects usually have limited resources and limitations in time, money, bananas or what ever might be the limiting factor of your project the resource is always finite. Limited resources can often be a positive thing instead of being a constraint since they force us to focus on what’s really important.
Working daily with Drupal projects my primary focus is on creating web sites. Drupal is a high productivity platform that really excels at creation of large and complex web sites. Even complex functionality can be relatively easy to implement with Drupal so major part of a project is often spent on working on technical and visual details. This is a typical situation where the perfect really is the enemy of the good.
I like to make stuff visual so I created a chart on value creation compared to money spent. You can consider value as reaching any goals set to a project and cost is money or other resources. The same chart can be used for working on an entire project or any smaller part of a project, basic principles work well in almost any kind of scale.
In my experience initial value creation in a project requires relatively high investment. It usually takes a while before you get anything of value out of a project. However after you already have something valuable to work on it is easy to create additional value with modest additional investment. After some additional investment creation of value will first becomes increasingly expensive and finally the cost will start growing exponentially.
The grey area in the chart represents the optimal zone of return on investment. In this zone your solution is usually good enough, but not yet perfect.
When working in the heat of a project it is easy to become blind on what’s good enough. Agile teams can some times continue working on a feature well beyond “good enough” and spend valuable time on tweaking unimportant details instead of working on another more important aspect of the project. It is important to stepping back from a project often enough to assess the situation. Does anybody outside of the project team REALLY notice the difference on details you are currently working on? External observers are also very valuable on this, somebody from the target audience is ideal.
I’m not trying to say it’s good to lower your standards, not care about the visuals or to cut back on quality. I’m just saying that you should know what is really important and pay attention to what your definition of done is. I like to focus on results instead of perfection.