Saying it cannot be done is rarely true and causes conflict. Jettison your preconceptions and be open to any idea.
Let me introduce you to Ian. Ian is our Drupal developer at Headscape. I have huge respect for him. Not because he is an exceptional Drupal developer (although he is). But because he is a problem solver and willing to discuss any idea.
Unfortunately I find that people like Ian are thin on the ground especially within the developer community. Too many of the developers I work with are roadblocks. Instead of helping me solve problems they focus on the barriers and tell me things cannot be done.
Here is a controversial statement, but one I have come to believe is true. When a developer tells me something cannot be done they are lying.
The truth is that in the world of digital development the vast majority of things are possible. Yes they can prove prohibitively expensive, time-consuming or difficult, but they are rarely impossible.
So when somebody turns around to me and tells me that it can’t be done, I rarely believe them.
Stop manufacturing your own constraints
It is not that developers are intentionally lying when they say that something cannot be done. Instead they are framing their answer within a set of constraints that they perceive. In effect they are saying it cannot be done within the budget. Or it cannot be done with our legacy systems. Or it cannot be done within the time constraints that I believe you need.
The problem is that these constraints may be up for discussion if explained. That is what I love about Ian.
If I present Ian with a problem he doesn’t immediately restrict his thinking by a set of presumed constraints. Instead he starts to think about the most efficient way of approaching the problem. He then discusses those options with me and together we look for the best way forward.
Have a discussion and give people choices
Sometimes he will tell me that something will take longer than the available time. I am then able to make an informed decision about whether we should drop the idea or move the delivery date. I’m given a choice.
Other times he would tell me that to deliver the company will need to invest in a new piece of technology or migrate from an existing system. Again this leaves me with a clear choice. I can either make the investment or drop the idea.
Ian will also sometimes suggest compromises. Together we can talk about the trade-offs between the constraints and the ideal solution. This kind of discussion is so much more healthy than a simple statement of “it cannot be done”.
Stop creating barriers
It cannot be done is a roadblock. It ends discussion and creates barriers. More important than that it damages relationships. If you keep telling your colleagues, clients and boss that things cannot be done they will start to work around you. You will feel excluded as they bring in outside developers with a more positive attitude. You will also find them less willing to listen to your ideas.
I am well aware that many times I ask Ian to do unrealistic things. But instead of just saying it cannot be done he works with me to help me understand the cost of what I am asking. By doing so he leaves me with a more positive attitude and educates me in the process.
Doesn’t that sound like a much more healthy way to work?