The perception of quality is very important to me. You might laugh when you read the word “perception”. I add that word, because delivering high-quality is always the status quo for me. It is how I roll. The only time that I do otherwise, is when I am pushed to do otherwise. Even then, I usually perform better if I understand the reason for straying from a clear path (which in my mind, is pointed directly at quality).
You see, I may think that I am delivering the best quality that I can, but that does not mean that others will perceive things the same way. My code might be wicked fast, or super-easy to maintain, or the pinnacle of OO purity, but if somebody else doesn’t place a value on one of those things, then all of my quality is folly (to them). Worse still, if that person/group places a high value on something in direct opposition to those, then I am likely to deliver the opposite of quality (in their opinion). That hurts worse than I can say.
The only ways to prevent (or later, resolve) a misalignment of this nature, is to either
- Get (and understand) expectations up-front. Unfortunately, this is actually quite rare. The reason is because it is a bunch of work and sometimes difficult to communicate (effectively). More than that, it is the kind of work that mostly benefits you and nobody else. Therefore, it is easily overlooked. Conversely, it is much less work to turn this into a fun little challenge for you, called “discover the expectations”. (It is even more exciting if the expectations tend to change, without warning). Just think, some people complain that their jobs are boring. Not you. Heh. The scavenger hunt for “expectations” begins now! Go!
- If you don’t receive clear and concise expectations up-front, then you can braille your way into them by soliciting and receiving accurate feedback. The down-side to this approach is that it starts with you doing something (anything) and then asking for feedback. Then adjust as necessary. As you can imagine, if you are completely off-base, this can start out a little ugly. So, the sooner you get accurate feedback, the sooner you can adjust and get the ugliness behind you. Which means you probably want to minimize the time spent, doing the wrong thing. Clearly, that is bad. You want good. Asap.
…Some people think there is a third option
- Set the expectations, up-front. It can make your job easier, if the boss buys into it. However, it can turn around, to bite you as well. The reason that this can go bad is because people tend to forget stuff pretty easily. Which means, if they already had expectations but didn’t voice them to you, they are likely to return back to their own expectations (not the ones that were set by you). So, if you choose to set expectations, then you will need to also maintain them, periodically. This still might lead towards #2, if the expectations tend to stray from your original understanding of them.
Of these, #2 is your most likely scenario. Some might say that it is unavoidable. The fundamental reasons are because: communication is hard and things change. (in six words or less)
So, when you are going for quality (or however, you want to say it), you want to make sure that you are clear on what that means.