I had a conversation yesterday about software development. Someone shared the opinion they felt the industry was in a transition. They felt that product development in the past, at times crippled and fragmented with separation of responsibilities from dev to QA, DBA, BA, DevOps, Frontend, Backend, Services, Product, etc., would transition more heavily towards being more Product-driven than IT-driven. The thought there was that since Product has a better understanding of the business case they are trying to solve, they’d be better off articulating to development not only what to build but also how to build it; More the UI/UX of the product and not necessarily the syntax of writing code.
Obviously, a UI/UX resource is critical here but in the absence of this skill set on the team, are other organizations really doing this? Are developers asking product owners to explicitly tell them every detail beyond the business problem they’re trying to solve?
I heard the justification for this is the difficulty of working with developers as well as the intricate complexities of working with IT, both of which I at least understand but don’t necessarily agree with. Organizations often approach dev shops to help them solve a business problem, relying on them as consultants to provide the technical solutions. I assume that developers have had more exposure to the technical trends and nuances of technical solutions. I also assume they’d have a clearer understanding around the level of effort involved when choosing one solution over another.
It’s no secret organizations have been burned by development but I don’t think product teams driving technical decision making is the right solution either. Organizations need to expect developers to be more than just order takers. Developers need to be subject matter experts in their own domain and make technical decisions to solve business problems. Developers put organizations at risk when they don’t have the ability to align technical solutions to the needs of the organization. Without a resource driving the technical decision making, product development is slow and cumbersome. True, some organizations have strong technical leadership but even in such cases, I’d imagine that technical leadership would provide the technical solutions but still rely on its developers to make more low level technical decisions of their own.