In October 2022, Satya Nadella, Chairman and Chief Executive Officer of Microsoft, participated in an ‘All Markets’ Summit organized by Yahoo Finance in which he said, “All of the macroeconomic headwinds that all of us face — none of us are immune — the tailwind we at least as a company have is our ability to deliver these solutions. Software is ultimately the biggest deflationary force businesses can use.”
This got us thinking about the future of software development. In this article, we will discuss how companies are investing in next generation software development capabilities to become more agile, resilient, and responsive to customers.
Take the case of Siemens Nanjing facility in China, the company’s first “Digital Native Factory.” In-house software development capabilities enabled Siemens to simulate the entire factory during the planning stage before actual construction. After the production started, the ‘digital twin’ made it possible for the company to achieve:
The engineers designed the software with a convergence of disruptive technologies such as: Industrial Internet of Things (IIoT), Artificial Intelligence, Industrial Edge Computing, and Predictive Data Analytics.
We see more such use cases emerging as companies increase their spend on digital technologies. ARC Investment LLC estimates that market value of disruptive technologies will increase from $14 trillion in 2020 to $210 trillion in 2030. A software-enabled convergence of technologies will be a key driver for digital transformation of enterprises.
Let’s walk you through tech trends, data points and live case studies to help you understand how you can contribute to your company’s digital innovation goals.
According to Bain and Company, AI has attracted an investment of more than $170 billion from venture capital firms so far. Companies expect AI to help them offer personalized experience to customers and employees. Employee Experience (EX) is now seen as a critical success factor along with Customer Experience (CX).
Code Generator Platforms such as OpenAI Codex and SourceAI is now used widely to convert instructions in English into software code. These generators can complete 37% of coding tasks currently which will keep increasing in the future. ARC Big Ideas 2022 research suggests that by 2030, AI will have a productivity multiplier effect across roles and will increase output of software developers by 2X.
Here is a summary of use cases on how AI boosts developer productivity:
Do you know how Zendesk, a customer-service platform company, leverage AI to boost developer productivity?
The company builds and delivers applications faster by accelerating development of deep-learning AI algorithms that can analyze large volumes of data and knowledge base. These algorithms help them develop programs like Answer Bot for customer query resolution, which is optimized for the cloud and delivered in less than half the time it takes without cloud and AI.
Companies traditionally built applications as a monolithic block of code, especially when they were using waterfall software development model. Requirements were documented completely before developing and testing application as a single entity. Monolithic applications had longer development time and were expensive to maintain and scale because of hardware dependencies.
As companies move to cloud infrastructure and adopt an agile, iterative software development framework, microservices architecture is preferred over building monolithic applications.
Recently, IBM conducted a survey of nearly 1200 IT executives to understand their perception and adoption of microservices architecture for building cloud native applications. The past trend (last couple of years) indicates that nearly 48% of applications on average were developed using microservices architecture. In the next 2 years, this percentage of apps built as microservices is set to increase to 59%.
Accelerated development time – each service is built for a specific business requirement, enabling developers to continuously iterate and add new features
Decouple hardware dependencies – provide on-demand cloud computing resources (containers) to support scalable, extensible applications
Greater agility and resilience – respond to rapidly changing customer preferences and manage project risks better
In 2021, recovering from travel bans due to COVID-19 pandemic, Scandinavian Airlines (SAS) moved their Java apps to Microsoft’s managed Kubernetes platform known as Azure Kubernetes Service (AKS). SAS web developers wanted to leverage the benefits of microservices architecture such as: faster development of solutions for customers on a continuous basis without IT/hardware constraints and achieve on-demand scalability.
Similarly, Snap Inc, an American technology and social media company, has moved from monolithic architecture to microservices which has resulted in 65% savings on costs associated with computing resources. The company has also reported that microservices has helped them improve reliability for their customers (users of Snapchat) and achieve better scalability and reduced latency.
In the past, while building an application, developers had to consider server requirements to run the application. However, Function-as-a-Service (FaaS) or Serverless architecture will free the developers and IT infrastructure teams from managing server hardware and software.
Instead of building applications as services to be containerized and orchestrated, developers are now learning to compose applications as functions to be hosted by FaaS service providers such as Microsoft Azure Functions, AWS Lambda, Google Cloud Functions, and Twilio Functions.
According to Bain and Company, serverless architecture adoption rates is set to increase from 33% to 55% of workloads over the next three years.
High scalability based on increasing or decreasing call frequency – call frequency refers to how many times the users interact with the function
Cost savings – rather than keeping an application up and running all the time on a cloud platform service provider, companies pay only when the function gets called by the user
Better Performance and Security – reduce risk of under-provisioning of computing resources required by the apps to provide the best user experience
Despite its obvious benefits, n-tier architecture such as microservices or serverless is complex and companies have reported various challenges. 49% of IT executives who participated in the IBM microservices survey reported “insufficient internal expertise in DevOps or agile practices” as a major challenge preventing adoption of microservices architecture in their companies.
DevOps is a paradigm that brings together development teams and IT operations team to enable continuous development, continuous testing and continuous delivery/integrations by taking advantage of automated deployments. DevOps and more recently, DevSecOps, has helped companies mitigate deployment and security challenges when they rapidly deploy services built using microservices architecture.
Spotify, a global music streaming platform, uses DevOps to innovate continuously and rapidly release new features such as personalization based on user data. In addition to developing own automation tools for Continuous Integration and Deployment (CI/CD), testing and developer productivity, Spotify’s Platform Developer Experience (PDX) practice quickly puts together a team that has the competencies to deliver a feature and makes this team responsible for the release. PDX’s approach to Agile and DevOps has ensured that it takes less than 5 minutes to get a basic service up and running as compared to 14 days that it used to take earlier.
DevOps culture became a key enabler for Netflix to counter service outages and ensure that failure of individual components does not affect the entire system. The maturity of their DevOps culture is evident from their “Simian Army” experiment which is all about different scripts running continuously in the background to randomly disable production instances to check if the system can withstand such failures without customer impact.
DevSecOps is emerging as a disruptive tech trend that enables software development teams to identify and address security vulnerabilities during the development. As companies increasingly migrate to the cloud and build cloud native applications using microservices architecture and serverless functions, developers leverage Infrastructure-as-Code (IaC) to provision, configure and scale cloud resources on-demand. Along with Version Control and CI/CD tools, IaC security tools has found a place in the DevSecOps toolkit to ensure early detection of misconfigurations and security threats.
According to “Cost of Data Breach 2022” study conducted by IBM, companies leveraging automation such as DevSecOps toolkits saved an average of $3 million compared to those who did not adapt AI and automation tools. Companies with mature DevSecOps will have a shorter breach lifecycle (security incident reporting to containment).
In October 2022, global market intelligence company, International Data Corporation (IDC) released a “Digital Transformation Spending Guide”, in which it forecasted that companies globally will spend more than $3.4 trillion by 2026 on Digital Transformation (DX) and companies in the US will cross the $1 trillion mark by 2025. Greater than 20% of this spend will go towards innovate, scale and operate which includes spending on cloud computing, application development, automation and DevOps/DevSecOps capabilities.
However, Bain and company has found that 90% of companies struggle in scaling DevOps (and by extension, DevSecOps) because of lack of people with required skillsets to use the toolsets. This trend is in line with the global talent shortage that businesses must deal with.
Manpower Group surveyed over 40,000 employers globally and found that talent shortage has peaked in 2022 to reach a 16-year high as 75% of companies across industries report that they are unable to fill open positions.
IT and Data skills are ranked as the #1 skills in demand.
Agile companies have identified two frameworks to build competencies required to offset tech talent shortage and implement digital transformation successfully: Community of Practice (CoP) and Center of Excellence (CoE).
CoP, also referred to as a guild, is a group of professionals working on similar technologies coming together to form a community to share their knowledge and experience. The primary benefit of a CoP is that it helps the participants improve their skills continually and become domain experts. While these guilds are based on voluntary participation, Center of Excellence (CoE) refers to creation of a funded team of cross-functional experts whose only function is to coach/mentor software development teams on their area of expertise and implement technologies across the enterprise.
Examples of CoE: Agile, DevOps/DevSecOps, Automation
How does a CoE help companies overcome tech talent shortage?
The simple answer to this question is: a CoE assists companies in encouraging citizen developers to create apps and automation solutions using no-code platforms. Citizen developers are business users who can be from any function such as operations, HR, marketing, supply chain, administration and finance. A CoE-assisted Citizen Development Model will eliminate dependence of business users on software development teams.
For instance, citizen developers can build their own digital workflows and automate repetitive, low-value, high-volume processes that will free them to focus on higher value strategic work. The CoE will review, deploy and monitor apps and automations built by business users, without troubling the software developers and testers in the organization who can focus on long-term strategic projects.
In this article, we have discussed next generation software development trends that can be summarized as follows:
We went a step further to define how you can create communities of practice and centers of excellence that can help you accelerate digital innovation in your company.