Have you ever stopped to reflect on why is there always tension and conflict between business stakeholders and technology providers? Instead of there being a "healthy tension" between the two partners (assuming you take the terms "partnership" seriously and not just paying lip service to the term), the relationship is often clouded with doubt, suspicion & mistrust on all sides?
I've been in this technology software business for all of my professional life (~20 years), spending the first half working on technology product & platform development (company run by engineers & not accountants), and the latter half on the other (dark?) side - the corporate business - with in-house technology / IT "service" divisions, where business (accountants mostly non-technical) people run the show - an environment where there is often just a complete lack of alignment, understanding & appreciation for what goes on in both worlds: technology-and-business-worlds alike.
[Bias disclaimer: Yes, I do I have a bias - I believe if a company thinks itself to be a technology-driven business, then I expect the CEO to at least have an engineering/science background, or the CTO/CIO must have written code & built solid (industrial-strength) products in a previous lifetime. If a CEO is not technical then at least develop a keen appreciation for the engineering challenges and then trust your technology owners to do the responsible thing & you move out the way....]
At a recent ExCo of which I'm just an observer - this lack of alignment reared it's ugly head again when "the business" could not understand how a six-month's projects wish-list from their side, translated into a two-and-a-half-year implementation estimate from the technology team, making a poor attempt at explaining, the classic "IT demand & capacity planning" challenges (what I still find quite surprising in today's time, a topic for another day, let's just say I think "IT Demand Management Process" is not relevant today, and I propose that this is just "old-school-IT" & that its days are numbered).
What followed then from business was the typical:
- "Why don't add another 20 development teams to make the six months timeline?"
- "Why can't we have CFTs (cross-functional-teams) like the other divisions have?"
- "Are you sure you have the right engineers? Why is the system so brittle? Why must it take so long? Should we take our business elsewhere?"
- "Why can't we have bespoke technical teams attached to each business owner?"
- Have you stopped yourself to reflect on why there is such a disconnect or lack of understanding? What are you doing wrong? Is there a fundamental issue of principle?
- Have you taken your customers through the system architecture and current challenges?
- Have you communicated your assumptions clearly? For example - does the business understand maybe you're trying to build a common platform/product stack that can support multiple business requirements (e.g. in a multi-country scenario) in one-go?
- Is this assumption valid? What if the businesses are quite divergent in terms of customer requirements?
- Why is it important to provide a common technology platform anyway? For who's benefit?
- Would it not be easier to branch the code & platform to serve individual businesses? Risk duplication but gain in business agility?
- Who cares if the code is forked anyway, has this option ever been tabled?
- How can you explain the nuances of common stack software development to non-technical people?
- Does business understand how you've structured your delivery teams?
- For example, you might be running with component teams, specialisation instead of generalisation and not ready for cross-functional full-stack teams yet?
- Are you clear where your bottlenecks are?
- Is your software engineering principles solid - i.e. can it support multiple release streams simultaneously?
- Have you shown to business the complexities of what it means to spawn up multiple teams (i.e. this rather stupid notion of adding more people to get the job done sooner)?
- Have you established a way-of-working between business & technology that aims to at least address some of the challenges, and set forth an ultimate vision / aspiration of what ideal could look like?
- Are you doing enough to manage expectations upwards and thus protect your teams?
- Why do you have a need to insert "Business Relationship Managers (BRMs)? Are your technology teams not equipped in dealing with business stakeholders directly? Why do technology units decide that an intermediary BRM would help solve relationship problems?
- Are you empowered enough to challenge priorities & requirements if they don't make sense to you?
- Have you communicated that systems generally have to refresh every 3-5 years? Have you considered presenting a technology roadmap showing all the technical initiatives planned whilst simultaneously expected to keep the business lights on (business-as-usual) and still stay ahead of the curve to keep your stack technically relevant?
- Have you done enough to convey your business vision, strategy & goals in a clear manner that informs your technology partners of the role they play & your dependence on them for your overall success?
- Have you resisted the urge to bark orders without first trying to listen?
- Do you have an understanding of how your technology teams have built the system & components? Perhaps you had a role to play in this - i.e. ending up in the current state because of business owners?
- Did you perhaps grow up with the industrial mindset (factory methods) & expect that software systems follow similar patterns "it's just a production line outputting widgets"?
- Do you understand what it means to write common software code and deploy common software & infrastructure to serve the needs of multiple businesses (with its own set of rules)?
- Do you have a clear picture in your mind of the distinctions and challenges of software teams: Component teams versus cross-functional teams?
- How do you as business owners come together to align on overall business requirements (assuming you're in multi-country set-up) that shares a common platform?
- Did you even agree with technology that a common platform is the way to go?
- Are you doing enough to review your own project's backlog and business requirements - by priority?
- Do you accept that your technology team would appreciate from focus - i.e. do one thing of value at a time?
- Are you doing enough to make sense of your own business priorities?
- Have you read "The Mythical Man-Month"? Do you actually believe that "adding more people to a software project will get it done sooner?" - Are you not being naive, have you stopped yourself to reflect that maybe you're just not getting it??
- What are you doing to get closer to understanding your technology provider's challenges?
- Do you use the IT/technology systems on a daily basis?
- Have you considered sitting closer to your technology team?
- What is your role in the partnership? Is it too one-sided (i.e. your side)? Do you get immense joy at squeezing your technology providers, adding pressures and artificial deadlines to make your case?
- Why do you feel you need an intermediary between yourself & technology - and insist on this concept of a BRM? Are you not interested to learn more about your technology stack or develop closer relationships with the people building your technology?