By Rodrigo Castelo, Vice President Middle East & Africa, OutSystems
Let’s start from the beginning: why is it so hard to deliver applications? Unlike a few elite software companies, like Netflix or Apple, most organisations typically face three challenges that hamper their ability to modernise their products and achieve software innovation:
1) Lack of developer talent: according to IDC (IDC FutureScape Worldwide Developer and DevOps 2021 Predictions), in 2021, there was a shortage of 1.4 million developers — the equivalent of 10% shortage when considering today’s population of full-time developers, a number expected to rise to 20% in the next four years.
2) Technical debt: on average, 50% of applications in an organisation are legacy and, of those, less than half have been integrated with modern development tools, like DevOps toolchains and integrated development environments. To clarify, legacy systems are not useless systems forgotten on a shelf; they often serve mission-critical needs. However, problems arise when you’re trying to innovate, and you need to integrate the aging system to, for example, access data or create a new app on top of it to make it easier for customers to do business with you. Integrating with or building on top of these aging applications can be complex and expensive.
3) Lack of an innovation program in place: by innovation programs, IDC means programs that serve as the scaffolding to create the culture, the KPIs, and the necessary toolsets to empower developers. Although innovation programs are critical to keeping developers motivated, 41% of companies that say they are on a mission of digital innovation lack innovation programs.
The question that naturally follows is: does this mean that most companies, the ones struggling to hire developers, the ones dealing with increasing backlogs and technical debt, are doomed? Rest assured, they’re not. But to cope with innovation, companies need to change the way they perceive software development.
3 Key Takeaways to Become a Software Innovation Factory
Here are some tools you can use to become a software innovation factory:
1# Drive a Well-Developed Software Sourcing Strategy
According to IDC, companies that deliver business outcomes with software — what they call “high innovators” — are more likely to have a well-developed software sourcing strategy. When creating their development strategy, high innovators plan for the long term and don’t just look to solve a single problem with a single vendor or point solution.
A well-developed software strategy should be created from across organisational strategic perspectives and should leverage and connect existing systems. This is what allows these innovators to deliver solutions in weeks or months instead of years, including integration with legacy and other existing systems, and be able to do so quickly, securely, and reliably.
In developing a sourcing strategy, companies need to make sure that their house is in order with the business strategy first and then look for a vendor or partner. The right partner should provide you with a technical architecture that allows companies to meet their strategic requirements and provide a clear path to how the platform will address other important requirements such as governance, privacy, and security, as well as integration with existing systems, namely legacy systems, SaaS systems, and cloud.
But most importantly, it has to be about empowering developers to deliver functionality and build and extend code; it’s all about getting the app they create into the hands of users to deliver business outcomes. Its best to include the application roadmap and key use cases in the earliest stages possible of these discussions to get the highest impact results.
2# Be a Software Producer
By this, we mean to be a producer of custom software and not a consumer. According to IDC, by 2025, up to a quarter of Fortune 500 companies will become software producers in order to maintain their status quo. But in reality, every company, no matter its size, should produce its own customised applications and software.
Whether you have in-house talent or need to outsource, to be a successful software producer you need to strive for software elegance. In other words, to deliver value with less code and less code complexity. And this is where low-code platforms excel.
There’s still a stereotype that low-code platforms are not for real developers. While this may be true for many low-code offerings, for the leading low-code platforms, that characterisation is patently inaccurate. What low-code does is provide an abstraction to remove some of the complexity that developers typically face when creating an app or system.
Low-code platforms can also automate mundane or undifferentiated elements of the CI/CD process enabling developers to focus on the highest value elements of an application. These points align with the findings from IDC: when they asked full-stack developers what the most important attributes of the development tools and platforms they use were, the number one answer was code abstraction as represented by low-code tools.
Developers want to code, produce functionality, and not spend their time debugging or conducting software requirement analysis. These types of model-driven, visual solutions allow them to focus on creating highly impactful software.
3# Don’t Start from a Blank Sheet
Today, there’s no need to create every piece of software from scratch. Developers can easily access repeatable bits of code in cloud marketplaces.
It’s all about driving a platform approach to enable developers with the tools, processes, and ease of using cloud marketplaces. By investing in people and getting them better tools, companies can empower their developers and improve the employee retention rate while getting the job done better.
Today, most vendors provide certification and training programs along with the solutions they sell. These skills and certifications are valuable to developers and to your business. The most successful software innovators work with their vendors and partners to reskill, upskill and invest in their people.
By all these tools together, businesses can develop a recipe for success by empowering and retaining developers and, ultimately, increasing the speed of delivering apps that meet the needs of customer and deliver business outcomes.