Low-code techniques can help simplify and speed up application delivery timeframes. Learn how this new way of programming has helped two companies make better apps.
As a system administrator I've often been impressed—yet a bit intimidated—by the breadth and depth of complexity surrounding traditional programming. Among the developers I have worked with for years it is very much a life-embedded culture of details.
SEE: Top 5 programming languages for systems admins to learn (free PDF) (TechRepublic)
Now the programming culture is expanding to the masses via a concept called low-code programming, which seeks to facilitate the building of applications for better operational efficiency.
I discussed low code with Matteo Henking, application product owner at consulting provider Constellation, Inc. and Anthony Licona, director of innovation and technology at Edge OFS, an oil and energy company, to get their takes on the experiences they've had.
Scott Matteson: Can you tell me some more about how you've used low code?
Matteo Henking: Constellation believes low-code will enable increasing our ability to promptly respond to business demand. By adopting OutSystems low-code tools, we increased our product development bandwidth and are able to leverage non-developer IT resources to develop applications when full-time developers are not available.
By leveraging a mixed group of resources from application support, analysis, and reporting, who have never been trained to write code, supported by middleware resources, we have developed a mobile app for our customer acquisition. This app will assist the team by providing policy and agent information on the go without having to connect to internal systems. We also have developed it so the information will be updated daily and be available offline. Due to the priorities within the organization and time needed to traditionally create a solution, this work was never prioritized. By using low-code we were able to engage non-traditional developers and deliver something quickly. This was the very first mobile application Constellation developed.
Anthony Licona: After evaluating several low-code platforms on the market, we ultimately chose JourneyApps because it allowed us to build sophisticated apps very quickly with minimal friction.
SEE: Software as a Service (SaaS): A cheat sheet (free PDF) (TechRepublic)
From evaluating the other low-code platforms, we saw that most of them were more of a no-code platform than a low-code platform. One of the key metrics involved in the decision was assessing how development velocity could remain high as the complexity increased. JourneyApps delivered on this, leaps and bounds over the competition. The interface makes it very easy and fast to build both view layouts and logic, it's quite an intuitive balance!
We have used JourneyApps to implement an equipment scheduling and utilization app, we were able to complete this in 2.5 months. We've already started our next app, which is an (industrial Internet of Things) IIoT real-time drilling monitoring app.
Scott Matteson: What were the advantages involved?
Matteo Henking: Increased development bandwidth and the ability to quickly experiment and fast "rework and correct," which enables us to develop with minimal requirements and address gaps with users' feedback as we go.
Anthony Licona: Overall, using JourneyApps helped us save costs and improve efficiency by reducing the friction to launch a new app. JourneyApps gave us a big productivity boost because of their advanced customizability, GitHub integration, and action-based global command palette. These functionalities decreased the amount of time needed to develop an application. Another advantage we saw was the ability for our teams to collaborate remotely using the live co-editing feature. This has been especially advantageous in 2020 as all of our developers have had to work from home due to the COVID-19 pandemic.
SEE: TechRepublic Premium editorial calendar: IT policies, checklists, toolkits, and research for download (TechRepublic Premium)
Scott Matteson: How did the training go?
Matteo Henking: Training was good and very helpful to have OutSystems as a resource, as they were available to answer questions real time. It also helped a lot to go through the online training before the bootcamp.
Anthony Licona: Training was very quick and easy. We recently hired a college graduate and we were able to get him onboarded to the platform without lengthy vendor training. The platform was so intuitive that he was able to code on his first day, even after all the HR paperwork! In addition to onboard training, we also have access to extensive documentation and an active developer community. It's great to be able to post a question or help someone out in the same community.
Scott Matteson: Did non-developers have any specific challenges compared with developers?
Matteo Henking: Non-developers have challenges when coding is a requirement such as embedding Java or Json into the module or working on specific requirements of the GUI (CSS).
Anthony Licona: Our team consists purely of developers, so we are not able to comment on comparable experiences or challenges.
Scott Matteson: What might you change about the process?
Matteo Henking: We haven't developed a proper adoption strategy yet nor a governance process. We would define better guidelines to understand which opportunities make sense to develop with low-code versus through a traditional DevOps process.
Scott Matteson: Do you have any advice for other companies?
Matteo Henking: Develop an adoption strategy at the very beginning and have a portfolio of simple initiatives to develop with OutSystems. Allocate a few people for a certain amount of time to low-code development to enforce adoption and increase engagement. Additionally, make sure to dedicate a team or team members to the tool and bring in the third party with expertise to advise on the first application.
SEE: 5 Internet of Things (IoT) innovations (free PDF) (TechRepublic)
To help our team apply their learnings after Bootcamp, we had hack days (two days) where the team solved problems only using OutSystems. OutSystems also provided two engineers on-site that could help answer questions and work through solutions. This was a great way to quickly apply what we learned and get a jump start on solutions.
Anthony Licona: A lot of companies are struggling to accelerate their digital transformation initiatives. It's difficult to find and interview developers amid the tech talent shortage. Compounding that, it's difficult to pick technologies from the vast pool of vendors, languages, and platforms. But if you pick a platform that embraces open-source technologies and modern languages it will make it so much easier to find talent and get things built.
JourneyApps is such a platform. Because they leverage open-source technology, they handle the integration. It's refreshing to be able to design a data model, build a few screens, and add your business logic all in one browser window. On top of that, we're able to do it all in modern web languages, not a highly specific vendor language.
It's also important to scrutinize the vendor's pricing model. Many vendors have hidden costs that aren't revealed until it's too late because the pricing page isn't always transparent. And finally, ask how to integrate data from other places. What you're looking for is a platform that is flexible, not one that locks you into plugins or has consultants you can hire to build the connector you need. If you can't get key data from another system into your platform easily and economically then you won't get the adoption from your users that you want (no one likes entering data twice).
Scott Matteson: How does this impact your plans?
Matteo Henking: It caused us to reassess our initiative portfolio and all other application development opportunities. We also reviewed and created our strategy for low code and internal adoption and implemented a governance process.
Anthony Licona: JourneyApps will definitely play a significant role in our technology and innovation strategy. As we create or capture data from across the company, we will need a platform for our users to interact with it. JourneyApps allows us to develop at least one app for every business process, all centralized on one platform.
For example, our accounting group needs some operations data to complete their workflows. With JourneyApps, we will be able to leverage this data and present it in a format that's designed specifically for accounting (no more asking operations to email spreadsheets at the end of every month). As an added bonus, they can finish their process on their laptops or phones. The ability to develop quickly and work with a flexible platform is going to allow us to focus on solving our business problems.
- Listen to TechRepublic's Dynamic Developer podcast (TechRepublic)
- How to become a developer: A cheat sheet (TechRepublic)
- Microservices: A cheat sheet (free PDF) (TechRepublic)
- Hiring Kit: .Net developer (TechRepublic Premium)
- Programming languages: Developers reveal most loved, most loathed, what pays best (ZDNet)
- It takes work to keep your data private online. These apps can help (CNET)
- Programming languages and developer career resources (TechRepublic on Flipboard)