“It depends” should not be the answer
“It depends” is a typical answer of an (experienced) consultant. I hear this saying quite often. For a long time, I thought the same way - there are always multiple ways to achieve the required functionality.
Some time ago I changed my mind. Let me take you on a tour of my personal development as a consultant.
Chapters in a consultant’s career
Below I described chapters in a consultant’s career based on my own experienced. That is my subjective point of view. The actual definition of chapters is not that important, what is important is the evolution of mindset.
The beginning
In the beginning, my knowledge was very limited and I had no experience. I had some basic understanding of programming languages, databases, and networking concepts - enough to find a job as a consultant, but not enough to provide any actual “consultancy”.
At that stage, no one asked me any questions and I was not expected to provide any answers.
I learned as much as I could.
The basic knowledge
After some time, I learned a few technologies and gathered some initial experience. I was able to provide solutions for relatively simple technical problems (using tools I knew).
For the question - “Can you do X?", I provided one of the following answers:
- Yes, I can do that! (using the tools I knew)
- Not yet, but I will learn how to do that! (I will find some random solution using some random technology and somehow make it happen)
I gained as much experience as I could.
The “it depends” stage
Once I gathered a solid few years of experience and learned many (random) technologies, I entered the “it depends” stage. I was the “experienced consultant”!
For the question - “Can you do X?", I provided the ultimate answer:
- It depends on … (exactly what functionality you need, which technology you use, specific security requirements, … (the list went on and on))
It felt like I was providing the “actual value” - I was able to ask tons of questions regarding various technical aspects of the required solution.
Many times I failed to deliver business value and I was not aware of that. I was very dedicated, so I provided some value, but I should have done better than that.
Where am I right now
It took me many years and multiple challenging projects to finally realize the issue with the “it depends” answer.
The more “senior” I was, the more frequently I was interacting with the higher managers. And quickly I realized a very important thing - those people do not operate at the technology level (at least not as often as I thought they do).
My “it depends” attitude was not providing any value, because no one (except myself) was interested in those tactical considerations. So I decided to sit and listen (an attitude I lost somewhere during my “basic knowledge” and “it depends” stages).
It was obvious that we were working to deliver the same goal, but we were using two different perspectives:
- I was focused on technological considerations to provide whatever was needed.
- Senior managers were focused on defining what was needed to achieve the business goal.
It might seem like a small difference but was not.
When you (I) focus on technological considerations, you will always face the same distraction - there are multiple ways to deliver the same required functionality.
The more experienced you are, the more ways of delivery you will analyze. There will be multiple dependencies, so “it depends” will get multiplied.
So what is the right answer?
The right approach (in my personal opinion) is to take a step back and ask a basic question:
- “What kind of business value are we trying to provide?"
Focus on the business value, then iterate over the known constraints (i.e. legal restrictions), ask if there are any preferences (i.e. regarding the technological stack), and you will be surprised how little “it depends” considerations will stay unsolved.
Summary
That is my personal point of view, based on my personal experience. I am open to any feedback based on your experience!