Problems, not solutions
IMHO CTOs, product managers and stakeholders should stop offering solutions and start talking about problems. Have you found yourself in a situation like this one?:
“Hey buddy we need to do X, Y, Z.”
It happens all the time and I think we the software developers are responsible to educate people that we are not only solution implementors. We are also problem thinkers.
Why? Are we not paid to build software? Yes, we are. Are others not supposed to think about the problems and leave us the implementation? Of course not. I truly believe that developers must be involved in the context of the problems.
For us, the issue starts when we do not understand the problem and we are given a solution. Usually, thinking only in the solution leads to overcomplicated code, misjudge complexity, unused features and detachment of what the customer wants.
In the last years, I have realised that when developers think first about problems and not solutions the result is far better. And this is not something I am making up, this idea is in almost every agile book. Exploring the problem space is key in the context of the company trying to build the right thing. Even more when the company does not have loads of money to spend.
Perhaps the outcome of the exploration problem process is that the company does not need software to solve the problem. Trying first with a manual process might be enough until discovering more about the problem. Maybe we just to gather data and postpone the decision for the future when we are in a better position.
Probably, we do not want to make that thinking process alone. What if instead of just developers or CTOs, product managers and stakeholders, we were able to speak about problems together? Again this is not something new, Agile manifesto, fourth principle:
Business people and developers must work together daily throughout the project.
This might look basic stuff but companies get lost with this kind of reasoning.
As my last reflection/open question, are we the responsible of being detached of the problems? Do we put too much focus on technology and that blinds us for what it matters that is helping people? Would we be able to assume the leadership of this matter?