As a midmarket manufacturing company’s chief information officer (CIO), one of my jobs is to help our business grow and increase profitability through the use of new technology. Sometimes that technology is available in turnkey packages that can be purchased and installed. Other times it is available as cloud-based software-as-a-service (SaaS) offerings that are ready to use as soon as you buy the license. However, there are also times when no product exists that exactly meets the specific needs of the business. These needs often arise because of industry-specific requirements or innovative approaches that would provide a competitive advantage. In these cases, it makes sense to develop custom applications.
Software Development Staffing Challenges
If your company, like mine, is not in the business of building and selling software applications, then having adequate staff to develop these applications presents some challenges. Highly skilled software developers are in high demand, and it isn’t easy to fill those positions. IDC, a leading market intelligence firm, predicts a shortage of 4 million developers by 2025. Even if you can find and hire developers, you may not have enough software development projects to keep a team busy.
Outsourcing
You could outsource the project to an outside firm that specializes in software development. If the project is a very large one, then this might make sense, but there are drawbacks. They also must find and hire talent, and then need to mark up the rates to make a profit. Add in project management, overhead, and, potentially, travel and expenses, and the project can get expensive very quickly. Also, that outside team is unlikely to understand your business processes or the requirements, which means you will have to spend a good deal of time documenting your needs and communicating them.
Low-Code/No-Code Approach
One technology solution that provides a very cost-effective way to keep the project in-house —without the need to hire a large developer team and produce quick results — is a category of tools known as low-code/no-code.
The two technologies are very similar. A no-code platform allows you to build software applications completely through a user interface. They often have graphical diagrams representing the application flow, and you can build the application using blocks that perform different functions and connect to various inputs and outputs. A low-code platform is the same thing, except that you can also write code to perform functions that are more customized than what might be available with out-of-the-box modules. Some low-code systems write code for you and then allow you to modify and work with the code just like any other software system built entirely with code.
Back to the problem at hand: Building in-house applications without having to hire a team of highly-experienced software engineers. With low-code/no-code platforms, these applications could be built by non-developer resources such as business analysts or specialists in other areas of the business, such as sales, manufacturing, or inventory. Or you may still have a smaller team of developers that can deliver on these projects much more quickly and efficiently using these tools than they could by writing software from scratch.
Tools/Platforms
There are several good low-code/no-code platforms available. The tools you choose will depend to some degree on which cloud provider you select.
Amazon / AWS
- Amazon Honeycode (no-code, beta) – Amazon Honeycode is a fully managed service that allows you to quickly build mobile and web apps for teams — without programming. Build Amazon Honeycode apps for managing almost anything, like projects, customers, operations, approvals, resources, and even your team.
- Caspio (no-code) – Caspio empowers you to create custom business applications without writing code and enhance them with standards-based extensibility. Manage data, digitize workflows, and automate processes in the cloud by clicking — not coding.
Microsoft Azure
- Microsoft Power Apps (low-code) – Power Apps is a suite of apps, services, and connectors, as well as a data platform, that provides a rapid development environment to build custom apps for your business needs.
Google Cloud
- Google AppSheet (no-code) – Google Cloud‘s AppSheet is a no-code app development platform that lets you quickly build mobile and desktop apps with your existing data.
Cloud-Provider Agnostic
- Outsystems (low-code) – Outsystems is a low-code solution that uses artificial intelligence (AI) and easy integration to speed up adoption and development, eliminate waste, and get your critical apps to market faster. And you don’t need additional resources.
- Radzen (low-code) – Radzen is a low-code, rapid application development (RAD) solution that allows you to visually build web applications in a matter of minutes.
Closing Thoughts
Staying competitive in business, no matter the industry, requires creative approaches to problems using digital transformation initiatives. With a skilled developer workforce becoming scarcer and more expensive, we need our teams to learn and implement tools that greatly reduce the time, complexity, and cost of delivering those solutions. Low-code/no-code platforms are just scratching the surface of what could be accomplished with limited resources. The addition of artificial intelligence and process automation into these tools will result in an even greater ability to produce comprehensive solutions to business challenges with smaller and more efficient teams.