I have been in numerous situations where my answer to a client’s question was: “it depends.”
But what does that seemingly simple phrase mean in web development? Let’s try to find out.
Scenarios
Here is a common scenario: the client, or a team member, wants a shiny new component on the site and asks for the estimation.
My usual answer is: “it depends.”
It depends because of many reasons. These kinds of questions come to my mind:
- Should the component be reusable on other pages?
- Should the component be configurable?
- Should the component be adaptive to its surroundings?
- Should the component be accessible?
- Should the component be responsive?
- And so on goes the list of questions.
Here is another scenario: the client, or a team member, wants a better page speed score and wants to know how much time it will take to improve it.
My usual answer is: “it depends.”
It depends because of many reasons. Here are some questions that go through my head:
- Should we optimize CSS code and delivery?
- Should we optimize JavaScript code and delivery?
- Should we optimize fonts?
- Should we optimize images?
- The list of questions adds up.
There are many similar examples, but not everything is about estimation. Sometimes “it depends” answer means choosing the right technologies or prioritizing tasks or anything that requires planning and organizing a series of actions to come up to a solution. Unless the task or request is something trivial, it automatically brings many questions to the table.
Questions, questions, questions
Asking the right questions and understanding the problem is the job-half-done. That is where the experience steps in. Experienced developers ask questions to help the client understand the request and guide the client to the solution. Non-experienced developers should learn how to ask these questions.
What the “it depends” answer means, in a nutshell, is that the task is not very well defined. That leads us to the actual problem. If the person who assigns the tasks knows the possibilities of how to resolve the task, there wouldn’t be “it depends” answers. But not everyone understands these possibilities. And that is ok.
By slowly educating the client or a team member, we make our lives easier. Every new task gets better in terms of requirements and definition. That is how the whole team evolves. This process might be a lengthy one but is worth it.
On the other hand, if the task is well-defined, we could eliminate many questions and generate the estimation or solution more quickly. The perfect scenario is when there are no follow-up questions. (Sometimes, you could anticipate the answer if you have a solid relationship with the client. Cherish that client and never let it go.)
Conclusion
As you see, a single “it depends” phrase triggers a series of questions. It is like you say, “let’s start planning.” So, the next time when you hear the “it depends” answer, try to define the task more carefully and provide as many details as possible.