"We believe that every industrial company will become a software company." - Jeffrey R. Immelt, Former CEO of General Electric (2013).
As technology becomes increasingly central to core business operations and services, bridging the gap between senior leadership and software development initiatives will prove to be a harbinger of a company's long-term success.
How do we bridge the gap between technologists and business leaders with limited technical expertise to help them better understand and evaluate how technological initiatives meet business needs? Why is this important?
This problem often arises in larger companies, where data, cloud, and software strategies are often determined several layers down the hierarchy. This makes companies vulnerable to tech-based disruption, subpar user experience resulting in churn, and higher costs with lower margins.
In order to make technology an advantage, executives need to be fluent in leading software development practices and carefully determine how software is integrated into the organization. Perhaps one of the most important things for executives to get right from the start is making software development a strategic priority, not an afterthought. Making it strategic does not necessarily mean technology is the goal, but it does mean that executives are able to evaluate what technologies are needed to meet the needs of the business, and assess how these technologies help accomplish the business' goals.
Now that we know the problem, how do we solve it? By integrating decision-making across technical and business leadership through effective communication.
There are five stages of software development that should be communicated throughout the software development cycle. Setup, product management, product development, product delivery, and enablers. Below, we will describe what each stage means and its significance.
- When developing a new product or extending an existing solution, business leaders have a vested interest in the tools and architecture used. The benefits of communicating the technical advantages of each approach early on are:
- Allowing for business stakeholders to negotiate existing partnerships or explore new ones with technology providers to create strategic business advantages that would further the success of the initiative.
- In order to communicate business value behind software development initiatives, effective product management practices must be deployed. This includes communication to business executives throughout the product development lifecycle, a process that consists of several steps from numerous teams:
- Storyboards, customer feedback, market analysis, success metrics or benchmarks (such as KPIs or OKRs), and team performance updates.
- Leadership needs to have a firm understanding of what works and what does not. By creating that transparency, executives can support management styles that are most effective at lower levels of the organization, allow the teams to pivot and iterate quickly, leverage team members' skill sets, enable the team to become thought leaders, and ultimately enrich management at every level.
- Metrics around release schedules, testing, and the extensibility of application interfaces allow business leaders to get insights into the entire lifecycle of a software development initiative. These include:
- Scheduling allows them to have a baseline to measure progress against.
- Testing provides insight into how development is progressing.
- Application interfaces allow them to think ahead in terms of strategy and growth.
- In cloud-based development, the use of tools to gather data-driven insights, polling customer engagement through the use of selective feature releases, and leveraging open-source tools to reduce development time and the cost of maintenance is critical. Below are some core principles leaders should consider:
- "Show me the data": Data-driven business insights have become a prerequisite when justifying decisions at the executive level. Integrating business analytics tools is a critical investment so a business can react quickly to ever-changing market trends. Agility and responsiveness can be differentiators for a successful business.
- A/B testing: When mapping paths for development, leadership often encounters uncertainty - a fork in the road if you will - where existing data is not sufficient to determine the best path forward. Running experiments with real users allows leaders to gauge customer engagement. This method is critical to reducing ambiguity and in making data driven-decisions.
- Community-driven development: The utilization of open-source software. "Why reinvent the wheel?" There are no extra points in business for building out a solution that already exists. By leveraging open-source software, businesses can benefit on multiple fronts. The first being that the software is tried and tested with robust documentation. The second being that costs for development can be significantly reduced by leveraging crowd-sourcing for maintenance and feature development. By focusing on differentiating features, rather than the development and maintenance of a custom codebase, companies can move faster and do more for less.
In a business setting, understanding the strategic advantages of how and where your technology fits into the market is critical. The same principles classically applied to portfolio management can now be applied to software development:
- Market attractiveness and strategic positioning: What is the value proposition of the technology being adopted and how does this position the business for short and long-term success?
- Investment analysis and allocation: When deciding on the what and how and assessing which technology initiative to pursue or between technologies to help meet that goal, what is the cost benefit of choosing one over the other? In large enterprises, that decision can be costly, especially if ends up being the wrong one.
- Risk assessment: How does a business mitigate risk? Whether it is distributing risk by using multiple computing services, meeting uptime commitments, quickly catching and fixing bugs, or deterring bad actors, maintaining a reputation for dependability and security can make or break companies.
Talent and governance: Agility, ownership and accountability are critical to business success. By using smaller teams with clear ownership and accountability, the development of large technology initiatives can be more agile with performance measured more clearly and problems addressed at a faster rate.
Leveraging technology has become critical across numerous sectors and will inevitably make its way into every industry, but few companies are able to leverage it to the best of their ability. It can even become a roadblock in reaching their full potential. By ensuring technology becomes a core element of strategy development at the very top, companies will be able to effectively use many more of the tools at their disposal and make smarter, data-driven decisions.