Many organisations play home to hostile relationships between development teams and other core business functions.
I'm sure you've heard similar remarks:
- The dev team don't understand anything except code
- They're stuck in the details
- Why won't they just do what they're told?
On the other side of the conversation, developers are expressing similar frustrations. I haven't been privy to many of these, but they might go something like this:
- It won't work / it won't scale / it will take forever to build!
- Why weren't we consulted earlier?
- Do they even care about us?
This is fundamentally a human problem, with the resulting "us versus them" divide only exacerbating existing complexities at the solution level.
Developers often have a high level of ownership of their solutions, a positive in its own right. However, considering that many people find their most significant source of meaning in work, this might result in their identities becoming wrapped up in said solutions. Any challenges touch close to the bone and are thus fervently defended.
On the business side, teams often lack an appreciation of the technical complexities behind the solutions that run the world. (Google "mastering chaos Netflix")
The middle path is humility, acknowledging our gaps in understanding, quirky ways of working and inherent interdependences.
More often than not, the origin of the problem does not lie with the other. Ancient wisdom continually reminds us that our egos can be our own worst enemies. So before starting your next rant, whichever side of the fence you're on, pause and ask yourself: "what if I am the problem?"