…in what software the customer wants?
…in how to deliver that to the customer?
Hint: The answer to one of these questions is not “the customer”.
I’ve been given feature requests that include such things as sending passwords by email.
There are 2 major types of response a developer might have to this:
I would love to say that it’s been a long time since I’ve seen the yes man path taken by a developer, but I guess this is a work in progress. I witnessed this conversation about a project that hadn’t been started yet – but at least one person wanted to implement the inferior solution documented in the agreement; rather than contact the client to get the agreement updated – which would have been in everyone’s best interest and wouldn’t affect the cost.
This sort of thing is far more likely to happen when developers do not have easy and regular contact with stakeholders. If you’re in an organisation that has a long history of waterfall – or chaos – and you’re trying to become Agile, this is one major hurdle to overcome. Sometimes developers cover their asses with a feature list because they’ve been taught that covering asses is what the company does.
But I thought we were here to build great software!
There is a bigger question here. What is your job role?
Are you someone who codes exactly what they are told to code? Are the requirements given to you on a stone tablet from a mountain?
Well, great. If the client never needs technical insight to choose the right solution, if there is nothing you could do better than the author of your specifications, and if the requirements are documented completely, correctly, and never change, then good luck to you.
But that’s not the reality we tend to live in.
When the client is simply starting from the wrong place – “I want to build an app like facebook, with slightly different features, oh and people should pay me to use it.” – Do you advise them that the project is a bust? Or do you charge them for it?
What service would you be proud to say you give?
“I code what my clients tell me to code, after all they’re the experts.”
“I use my deep technical knowledge to help my clients figure out how to achieve their business goals. I can even help them spot opportunities and I help them avoid expensive mistakes.”
Trust me, at the kind of money you are charging your clients, they don’t want you to shoot them in the foot just because they told you to.
You are the expert. Now act like one.