Rands recently wrote a great blog post on the way that companies project unrealistic expectations onto new employees, are disappointed when they don’t achieve them and then then come to know the new hire further down the line. This trajectory is a familiar one and applies not just to employees but also to many aspects of software development including whole products and features within an application.

When a feature description is still relatively broad, unexplored and underdeveloped it will naturally be understood in a variety of ways by different people. Equally naturally, the ways in which it is understood and the depth of the understanding will correspond largely to the particular interests of those people. The sharp end of those interests tend to be in issues that the idea can resolve and the feature can often look like Lilly the Pink with respect to them. High-level apparent solutions to high-value problems inflate the attraction of the feature.

As the feature moves into implementation a host of reality factors begin to apply and the space of possibilities must naturally collapse into a particular configuration. This, for an implementation of any complexity, inevitably means that some irritations will not be soothed by the solution. Errors in the implementation, lateness in delivery, downstream consequences and other emerging character traits will give even the most ardent admirers cause to review the level of their affection.

Ultimately the feature makes it into production and with luck retains the kernel of what was appealing back when it was a cloud of wispy fluff that looked like it could turn defects into dollars. This phase, often, is when the true personality of the feature is revealed. Some people will find that they can be friends with it after all, some will move on to the next good-looking thing and some will be lucky and have found true happiness.

And the testers? They should enjoy a strictly platonic relationship with these things, do their best to understand them for what they are at every stage, be a sounding board for hopes, a go-between for messages of endearment and a shoulder for their for their colleagues to cry on. (All the while taking notes for the next time the cycle kicks off.)
Image: http://flic.kr/p/9jYipe