The way enterprise software is generally developed today is massively wasteful and shockingly ineffective. It takes too long, costs too much, and the results rarely meet expectations.
A thirst for greater speed and agility has ushered in a new set of methodologies and processes, but those don’t go far enough. A report from Forrester Research found that 88% of respondents agree or strongly agree that their business requires more frequent software updates and releases.
The software industry has dipped a toe in the water with continuous integration and release management. It has felt the benefits that automation can bring. Now it’s time to dive in. Zero-code development puts the end user in control, for smaller scale and enterprise-grade apps. Here's how.
Failure has become the norm
More than half of all large IT projects with budgets exceeding $15 million go massively over budget, according to research conducted by McKinsey & Company. The average large IT project comes in 45% over budget and 7% over the allotted time. To make matters worse, the end product rarely lives up to expectations. Often, it is abandoned.
The sequential waterfall model doesn't work well for software. But have you stopped to analyze what the problem is?
Consider the way software is developed today. You have a user for whom you want to build software, so you get a business analyst to translate their wants into a set of requirements. Then you ask a team of programmers to interpret and code those requirements. Finally, you ask a team of testers to interpret the requirements again and check that the software fulfills its brief.
Only then do developers ask the user to try the software. And what happens? Invariably, they want changes. The software as presented doesn’t meet their expectations. Some things have been lost in the translation, and others weren't envisioned when the requirements were being gathered. Agile development methods were intended to solve this problem, but delivery performance statistics show that agile is not living up to that promise.
This state of affairs is not due to incompetence: The truth is that it’s far from easy to imagine a complete and final software product and describe it from scratch. Developers are also typically collecting requirements from one person, or a small group of people, who are assumed to be representative of all users. It’s naïve to think they can account for everyone’s needs.
Small steps in the right direction
The drive towards agile development, DevOps, continuous integration, and automated release management is all about reducing the problems and risks inherent in the traditional development model. Developers have recognized that cutting the time to a working product and establishing a feedback loop quickly is vital.
But that’s not enough.
In the recent report, Trends in DevOps, Continuous Delivery and Application Release Automation, Gatepoint Research found that 36% of companies still miss release dates occasionally to frequently, 69% run into problems with production application releases occasionally to frequently, and release stabilization has a wide window, taking hours (44%), days (20%), or even weeks (6%). Of those respondents who had release problems, 81% work in Fortune 1000 companies that have revenues over $1.5 billion.
When asked, what would have the most significant impact on their businesses, the top answer (55%) was reducing the time to deliver. So how do you do that?
Cut out the middlemen
If you accept that the user is never going to be very good at describing the software they need, then you need to cut down the distance between the development and the user. It's time to cut a few links out of the chain, and let them directly and quickly design software, try it out, and make changes.
The best way to do this is to automate the code by giving the end user the building blocks they need to design custom apps that align with their business goals. The complexity and value come from the way the user puts these blocks together, not from the underlying code. This is not just about cutting down the effect of filtering user requirements through a chain of different people, it’s also about ensuring that users see changes quickly.
To do this, decentralize the application development team and allow the application configurator to interact directly with the user. Zero-code based development allows one application developer to complete micro sprints and expose the end user to the system two or three times per week instead of every two-to-five weeks.
Realizing the promise of zero-code development will lead to consistency, major efficiency gains, and much greater flexibility to design, build and reconfigure software rapidly, both for smaller scale apps and at enterprise-scale.
Enterprise apps ripe for low-code development
Many people believe that large-scale enterprise app development is too complex for a zero-code approach, but business processes are actually universal. They may look different on the surface, but under the covers, they’re exactly the same. You can break down the universal underlying structure of data and business processes so that these can be configured and reconfigured automatically, without coding.
Users can design workflows that define the data and the interactions they need. It could be an API talking to another system, or a user performing an action. What’s important is that you clearly define the data and the business rules that govern it. You can automatically generate the database, user interface, business logic and the processes behind it from the workflow that the user has designed, and then reconfigure it quickly based on user feedback.
Is your organization considering low- or zero-code? Have you assessed how it would work? Share your thoughts or experiences in the comments section below.
Keep learning
Take a deep dive into the state of quality with TechBeacon's Guide. Plus: Download the free World Quality Report 2022-23.
Put performance engineering into practice with these top 10 performance engineering techniques that work.
Find to tools you need with TechBeacon's Buyer's Guide for Selecting Software Test Automation Tools.
Discover best practices for reducing software defects with TechBeacon's Guide.
- Take your testing career to the next level. TechBeacon's Careers Topic Center provides expert advice to prepare you for your next move.