Can vs. Should. 4 Important Questions
Clients ask us all the time if we CAN do something. I am proud and confident of our skills so my usual response is "Yes! Our only limits are your imagination and your budget. And we have yet to meet a client without a great imagination".
The next step though is working out if we really SHOULD be doing what the client asks. We start with four questions to make sure we both understand the request.
1) Why do you want us to do it? Knowing the reason behind your request helps us determine if what you are asking us to do makes sense. One of the first programmers I contracted to in 1996 did exactly what I asked him to do, but because I had asked the wrong thing and didn't tell him what my goal was, the code was useless to me. I paid him for that work, then paid him again to do what I needed. If we know what benefit you want, we can interpret what you are asking for more accurately.
2) Is this the best way? We have been asked to do very complex things when there are much simpler & less expensive ways to accomplish our clients goals. We are experts with our systems and because we work with so many different clients, we might have already done something similar to what you are asking that accomplishes 80% of what you want for 50% of the cost. We need to look at all of the other ways we can can accomplish your goal.
3) What other systems will it interact with? The complexity of a solution and development uncertainty doubles each time you introduce another system. We all make assumptions but when we make the wrong assumption things get messy. We need to investigate other systems that you want to interact with and work out if our assumptions are correct and what you hope to achieve is possible.
4) What impact will this have on existing processes and resources? This is a big one. Adding new functionality can have an impact on the time it takes you to manage your site. That blog you want? Someone is going to have to find the time to write the stories. Things that seem simple to change on your website could have dramatic impacts on what is required of your team. Is it practical to weigh and measure the dimensions of every item in your catalog? It might be a great idea for the shipping integration you want, but not the right time for your organization.
Only once we have all of the answers can we estimate the costs and if it is worth proceeding with a project. If it is a large project, this Preliminary Investigation could take weeks and dozens of hours but like any planning, the return is a smoother project with fewer surprises.