Tag: low-code solutions

  • 4 Ways to Uplevel Your Software Engineering Team

    4 Ways to Uplevel Your Software Engineering Team

    In my 20 years leading software development teams, I’ve witnessed the industry’s continuous growth alongside technology’s evolution. The only thing we know for certain is that the industry will continue to change and winning businesses will be those that build with change in mind, backed by effective, fast-moving software teams.

    This is the year we must focus on fine-tuning our DevOps processes and uplevel our teams, but where do we start?

    Below are four ways you can begin to transform your teams into engineering powerhouses, no matter how big or small or where they are in the world.

    1. Embrace New Delivery Models

    Remember when deployments were a big deal; a highly-anticipated event that often meant late nights? These days, many teams have managed to make deployments a non-event and are deploying any time of day. Those that haven’t adapted risk being left behind. The rate of deployments will only increase, so how teams handle this progression will be a deciding factor for success in an already competitive field.

    In 2022, teams should continuously evaluate their procedures as they push the boundaries of their tech stack. Navigating the complexity of the digital era—from massive datasets and machine learning to networks of third-party services—will force both developers and company leaders to embrace flexible tooling and processes to ultimately refine the risk/innovation tradeoff.

    2. Prioritize People and Culture

    While 2021’s Great Resignation saw many software professionals jumping ship in search of a fresh work environment, in 2022 we expect to see a Great Reshuffle. Realizing their new or current gig still may not be quite the right fit, engineers and developers will start looking for roles that are more in line with their long-term career and personal goals.

    Don’t fear this reshuffle. Instead, recognize it as an opportunity to build a strong and stable team. Be honest about what, exactly, the job entails and the hard and soft skills you’re looking for. Honesty throughout the recruitment process leads to a better match between employer and employee and also contributes to resilient company culture.

    3. Deploy Low-Code Solutions Strategically

    Pressure to get the highest productivity out of software development teams has led to the adoption of no-code and low-code solutions. But that means these tools are being used predominantly by people who already know how to code. The folks with big ideas who don’t actually want to be programmers remain unserved and untapped.

    Expect this disparity to soon lead to a split in the category of no-code and low-code solutions—those built specifically for optimizing developer teams, and those that can serve everyday creators. To really get the most out of your team, keep an eye on the low-code space and ensure the solution you use is the one that’s actually best suited for your goals.

    4. Build With Change Validation in Mind

    The growing adoption of cloud storage, service-oriented architectures, third-party API-based services and open source code (to name a few) makes modern software development monumentally complex.

    A way to manage this complexity is by pulling our focus away from the application itself and onto myriad sources of change that affect the application—a concept we can think of as change validation.

    Ultimately, change validation builds upon tried-and-true software best practices such as continuous integration, continuous delivery and release orchestration. Cloud-native architectures can be effective and scalable, but you need to have the right tools and systems in place to validate changes to your code at every step.

    In the past, the general consensus was that you shouldn’t test in production; you should just release and wait for the bug reports to tell you what’s wrong. But in the world of extensive software supply chains and cloud-native architectures, testing in production is the only way to truly know whether changes to your code are working as intended before releasing software to customers.

    In the new year, software developers will be of critical importance as organizations continue to expand on digital services and projects. Embracing new methods of software delivery, prioritizing people and culture and keeping an eye on how to best leverage automation tools like no-code/low-code and change validation will all help to transform your team for the better in 2022. This forward-looking approach and a willingness to reassess and pivot guarantees that your software engineering team will remain agile amidst a rapidly changing tech landscape.

  • Lessons Learned on a Low-Code Journey

    Lessons Learned on a Low-Code Journey

    The popularity of low-code/no-code tools are on the rise as organizations chase the promise of creating ‘citizen developers.’ The idea of using these tools to empower non-technical developers and/or to free development teams from writing code line by line is certainly compelling.

    About a year ago, a friend reached out to ask if I would critically review a book he was writing about citizen development. At the time, the expression was new to me but after reading and reviewing the book, I was intrigued. It challenged me to embark on my own citizen developer discovery. I want to share several applicable lessons I learned along the way.

    Intrigued: Citizen Developer Tools Versus Dev Teams

    The curious part of me was trying to understand if these were tools that would remove the need for expensive development teams. The previous, well-intentioned attempts had fallen short of their promise—think Computer Aided Software Engineering (CASE) from the 1990s as an example.

    Around this time, I discussed the topic with the CTO of a progressive client. His business users would not wait for technical resources when they needed apps to address persistent problems. He was quick to point out  that low-code was preferable to shadow IT. The architecture for these low-code/no-code tools meant database administration was in his team’s hands. He was supportive of business units building small tactical pieces of functionality with a clear business case, and he supported them where possible through training and allocating resources to their projects for data integrations and other functions.

    The Challenge: Write an App

    Encouraged, I decided to challenge myself over one weekend to see if I could write a commercial application. I had studied programming languages like Fortran and C in the 1980s, but I’d never worked as a developer and had never written commercial code.

    Start of Day One

    I selected a low-code tool at random. I would recommend, however, that a citizen developer engage the IT team rather than choosing at random, as most low-code/no-code tools have an underlying programming language. If your organization is a Java shop, for example, then it would make sense to pick a tool that has the same language—in this case, Java—at its source.

    I purchased a six hour training course on YouTube for $20. This would prove to be a wise decision. Learning the tool I selected was not straightforward, but the training course allowed me to pause the tutorials, rewind and repeat to ensure I was understanding concepts and could follow along with the ‘how to.’

    First task: write ‘Hello World.’ I recommend that citizen developers start here. If you can do this, then it’s more than likely you can build something more complicated.

    Three hours later (of which two were a system error) … it was done.

    low-code

    Clicking on the green button produced the screen below.

    low-code

    At this point, I still had more questions than answers. The GUI for the development tool was point-and-click within a Windows directory structure. There was no command line editor. I was even more encouraged. Could it be this straightforward?

    A note: while it took less than an hour to complete the ‘Hello World’ task, I encountered a Windows system error which pointed to a server port error. The vendor’s help desk didn’t operate over the weekend, but their documentation was adequate; it took a further two hours of effort to fix the problem, which arose because my Windows Surface Pro was both a client and a server.

    Would an ‘average’ citizen developer have been able to overcome this problem? I’m not sure. I recommend when trying low-code/no-code tools that you also trial the help desk, even if you need to pay for it. While many software tool companies try to force software engineers to work through wikis to solve problems, citizen developers may need more hand-holding.

    The next step was to build an application. Most non-technical people tend to describe applications from a graphical perspective and as business functions. This is very much in keeping with how I worked for a further two hours, at which point the ‘Home’ web page looked like this:

    low-code home page

    Using data from our in-house spreadsheets, I created the data model below with relative ease. I believe a citizen developer would benefit from asking an in-house database expert to review this ‘design’ to save time later when maintaining the application.

    low-code design

    This work was undertaken at the same time as I was building a second tier of pages to amend data. So, for example, the automatically generated customer page which allows a user to search, add, edit and delete customer records looked like this:

    low-code edit page

    This was completed in four hours. Once the table was created with the correct columns, the creation of the web pages was automatic. In fact, it became repetitive and I found it was easy to lose my concentration and make errors.

    I was learning to save every small change to ensure that the live web and mobile application builds were working. A professional developer would see this as a form of continuous integration for the citizen developer.

    I don’t recommend having teams of citizen developers working together, at least at the outset, as it introduces branching and versioning and the concept of ‘breaking a build.’ Professional developers would need to be consulted at this juncture.

    End of Day One

    I had a real sense of achievement at the end of day one and was eagerly anticipating day two. Citizen developers should note that, at this point, I had produced what developers would call a prototype. It would be possible, upon reaching this point, to approach IT to assign a developer to finish the job. If IT does not have capacity, then keep going.

    Start of Day Two

    Having designed screens and a database, the next task was to add business logic.

    low-code logic

    Creating flows of work with rules was a more engaging task, but still accomplished via drag-and-drop or point-and-click. Boolean logic operators like if- then- else allowed me to quickly build logic and attach it to visual elements on the webpage.

    low-code flow

    This is an event registration flow where data is accepted from a web page and, based on a true or false response, treated differently depending on that response.

    As before, the first workflow took some time to learn. There were many ways to both trigger an action and direct the subsequent work. After a further half day, I had produced enough working code that I felt I probably couldn’t learn a whole lot more and the application was roadworthy.

    low-code mobile app

    From there, creating the mobile version of the app was as simple as pushing a button. At the outset, I had set a switch for mobile deployment. The web and mobile editions were always in sync, and the GUI was adjusting automagically for the deployment platform. Citizen developers should check on in-house standards for web and mobile app deployment configurations and ensure their selected tool supports them.

    End Day Two

    Lessons from My Discovery

    Organizations that want to adopt low-code or no-code tools will need to ensure IT support and training for business users that want to self-service their app dev needs. I recommend early engagement and frequent retrospectives with IT colleagues.

    Business functions should consider ‘easy’ and tactical opportunities for piloting.

    Allocate an uninterrupted period of time to focus on the task. Learning a new tool over a weekend was a really good idea, too. There was zero context switching, apart from my wife dropping in with coffee for a chat.

    I recommend citizen developers try to be a little bit Agile for these engagements. Using a ‘Plan, Do, Check, Act’ methodology means that you are not ‘all in’ on this—you are simply taking small discrete steps to see if you can solve problems more efficiently than you would if you instead waited for IT.

    Professional developers should ensure that any low-code/no-code tools produce code that can be imported into their standard IDE and that the citizen developer’s code is not locked into the tool.


    As a DevOps Institute Ambassador, O’Reilly helps empower DevOps Institute community members with the SKIL framework to advance the Humans of DevOps with skills, knowledge, ideas and learning. Learn more about O’Reilly’s work in DevOps here.

  • Help Us Low-Code, You’re Our Only Hope

    Help Us Low-Code, You’re Our Only Hope

    Will low-code solve 2020’s most pressing issues?

    2020 is a challenging year. IT timelines are accelerating. The global pandemic pushes more online interaction, and digital transformations slated for years are shortening down to months or even days. As many departments face a nationwide developer shortage, companies have turned to low-code tools to keep pace.

    Naturally, interest in low-code is booming. Gartner estimates that by 2024, low-code will be behind at least 65% of application development initiatives. Today, low-code is already at the heart of many digital transformation initiatives—some vital to human life.

    I recently met with Ryan Ellis, SVP, Product Management, Platform at Salesforce. He shared how low-code is at the forefront of some very critical areas, such as COVID–19 testing, PPP loan processing, remote meal delivery, workplace safety and more. In this article, we’ll see how low-code tools are helping organizations quickly respond to these unprecedented issues.

    Low-Code Solves 5 Top Issues of 2020

    1. Meal Delivery

    Sun Basket uses low-code to scale omnichannel support rapidly

    What does digital transformation mean nowadays? It used to refer to new ways of meeting your customers online—i.e. brick and mortar business adopting eCommerce. Now, digital transformation is about providing omnichannel support for customers: phone-in, email, chat, social message and more, noted Ellis.

    Since the COVID-19 lockdown began, Sun Basket, a meal kit delivery platform, has experienced a massive increase in demand. To answer the surge in customer support, Sun Basket used a low-code platform to build a chatbot to enable users to track or edit their orders using natural language. Since investing in low-code, Sun Basket has increased the number of customer support cases handled simultaneously by 50%. This “ability to pivot to the surge in demand” is what gives low-code platforms an edge, he said.

    2. COVID-19 Testing

    UC Berkley adopts low-code to facilitate rapid COVID-19 testing

    To help underserved communities in the fight against COVID–19, researchers at UC Berkeley’s Innovative Genomics Institute recently rapidly transformed a CRISPR study lab into a pop-up COVID testing facility with the help of low-code tooling.

    The lab constructed a web portal for remote diagnosis and automated patient test scheduling. The system needed to catalog samples by barcode, synchronize the flow of information between researchers and doctors, and automatically deliver test results to patients—all while using regulatory-compliant code.

    This is one area where low-code shines: The researchers could quickly utilize pre-built components with the right data privacy measures to become operational in three weeks. “HIPPA compliance and security are built-in advantages,” said Ellis. IGI is an inspiring model for how science and technology can unite amid a global crisis.

    3. CARES Act And PPP

    Banks adopt low-code to automate loan approval processes

    With the passing of the CARES act, 70% of small U.S. businesses impacted by coronavirus quickly applied for federal loans. “Banks had to respond to a huge influx of demand and process these loans,” Ellis said. At many banks, the sheer number of applications became unmanageable.

    To handle the volume at Academy Bank, a savvy employee realized the need to automate some tedious, repetitive tasks. They used a low-code platform to build a tool for tracking application statuses and generating reports. This created an end-to-end loan approval process, which helped process more Paycheck Protection Program (PPP) applications, reduced manual repetition and improved visibility.

    Another financial service that relies heavily on low-code is nCino, a cloud-based bank operating system. nCino, which recently had one of the highest U.S. tech IPOs in recent times, built an entire automated business on top of Salesforce using a combination of some-code and cloud-first strategy.

    As banks behave more like tech companies, they need to evaluate their DevOps approach. “Leverage scale from low-code and cloud combined,” recommends Ellis. “Use the power of the cloud to push solutions to a broad base of customers all over the world.”

    4. Workplace Safety

    Low-code helps build corporate social distancing applications

    Many companies are considering their post-pandemic return to the workplace. Purpose-built low-code applications could be utilized to keep a log of fever checks and enable limited-exposure collaboration.

    Work.com, for example, offers employee health tracking, contract-tracing and workplace-planning applications to reduce risk and enforce social distancing guidelines. For example, elevator use could be optimized to avoid crowding a tight space, Ellis said.

    5. Distance Learning

    COVID has forced many schools online. Some, like Case Western, are getting creative with augmented reality HoloLens. Other schools are implementing things such as financial aid chatbots or updating their old ERP systems.

    Low-code could assist these distance learning initiatives or complement the EdTech platforms already in use. Over 100 universities worldwide already use low-code platforms within their online education curriculum.

    Digital Transformation 2.0 Is All About Automation

    Digital transformation initiatives have been brewing for years. But now, greater forces are driving immediate change—and this time, we’re all in on automation.

    The emphasis is now on optimizing and refining digital processes. “Utilizing low-code, businesses are taking processes that were very manual, error-prone, simplistic or repetitive, and automating it into a process that ensures consistency,” said Ellis.

    The above case studies demonstrate how low-code, in practice, is not only reshaping brick and mortal and traditional IT but ushering a new focus on automation and event-triggering for digital organizations, helping them adapt to turbulent times.

    The need to automate business processes pervades all companies. Ellis positively identifies an “uptick in low-code momentum these days across all customers.” For example, over two months, Salesforce noticed an increase from 160 million screen flow executions (automated workflows) to 200 million screen flows per month.

    Low-Code In Our Desperate Hour

    2020 is a challenging year. Now in the thick of a global pandemic, economies have been severely affected. However, citizen development technologies offer solutions. According to Ellis, low-code is truly “saving people—in terms of lives, businesses and livelihoods.”

    Of course, low-code platforms are no silver bullet and present a trade-off. Companies gain speed and agility, yet they move infrastructure dependencies to a third party. If not well-adopted or governed properly, low-code could enable shadow IT to proliferate. Ellis believes these concerns are negligible. “The value you bring is expertise and industry knowledge,” he said. The abstraction layer is worth it to “to move away from having to reinvent the wheel.”

    For Ellis, broader low-code adoption is on the horizon. “We’ve seen huge increases and inbound interest and use of low-code technologies. More and more people are opening up to it,” he said. Though low-code is certainly in vogue amid the pandemic, low-code tools leveraged today could be here to stay for the long-term.

  • A Developer’s Task: Minimizing Challenges Created by Fragmentation

    A Developer’s Task: Minimizing Challenges Created by Fragmentation

    Over the past decade, there has been a wellspring of apps, services and platforms to help developers build custom solutions for businesses. Some are great, some not so much. Regardless of quality, the quantity of options and each one’s varying level of sophistication has made it difficult for developers to separate the wheat from the chaff.

    A recent survey from IDC supports this notion. It contends that the current landscape of software development languages and frameworks is highly fragmented. Having too many options—as opposed to a single, unified environment—leads to holes and disconnects in the development process, not to mention the potential for significant complications in the long-term support of today’s apps.

    Here are some ways developers can navigate the challenges created by this high level of fragmentation. 

    Don’t Be Afraid of Low-Code (or No-Code) Solutions

    The IDC survey found that less than half of developers—44%—have used low-code development tools professionally at one point or another. As one would surmise, low-code programming brings with it a host of advantages, such as easy-to-use and intuitive interfaces, and the ability to deliver applications faster. 

    Some low-code platforms also enable developers to build applications that can be used on any device while also reducing dependency on outsourced IT. A built-in script builder can allow even relatively inexperienced developers to turn complex business logic into functional workflows—such as automating a repetitive task—within a matter of minutes. Even after apps are launched, workflows can be updated and customized to fit specific business needs nearly instantly.

    Achieve Scale with Serverless Applications

    When building on a serverless platform, developers prevent infrastructure maintenance from inhibiting applications from scaling globally. This also allows developers to build mobile apps without managing the backend infrastructure. Cloud computing using public clouds typically involves renting virtualized servers across the technology stack. But when looking to scale, the onus is on developers to deal with the operating system and database while also managing necessary updates. This can lead to a work-intensive process on the app infrastructure level.

    A serverless infrastructure, on the other hand, abstracts databases and file servers, shifting focus to the app logic level. This allows developers to build and manage microservice-based apps that integrate with other services, making it easy to scale applications.

    Make Things Easy on Your Team

    According to the IDC survey, just 20% of developers claim they are “extremely familiar” with containers and microservices. With such expertise hard to find, using flexible tools that allow teams to quickly deploy code in scalable, compartmentalized components is vital.

    Organizations should aim to help their developers focus more on designing top-class user experiences of serverless applications, rather than spending (or wasting) time and resources on setting up and maintaining components on the server side. This gives developers the ability to focus on doing what they love—developing—as opposed to other tedious and mundane activities such as manually managing servers and storage solutions, or tweaking the underlying infrastructure of their microservices.

    Of course, making things easier for developers means deploying a powerful tool built on a stable foundation that can offer SDKs and APIs for both mobile and web apps, the ability to test early and often in a sandbox environment and analytics that monitor and report performance in real-time.

    Developers know just how challenging their jobs can be, and the fragmentation that can occur due to the vast number of options on the market can make it even worse. There is nothing wrong with using multiple solutions, of course, but having a sturdy and unified underlying infrastructure goes a long way toward avoiding unnecessary headaches.

    Finally, organizations should look to those who know best when deciding which company-wide tools to implement: the developers themselves. As the IDC study states, developers should be viewed as key stakeholders in IT purchasing within any organization moving to the cloud accompanied by an internal digital transformation.

    — Raju Vegesna

  • How Low-Code and No-Code Solutions Compare to RAD

    How Low-Code and No-Code Solutions Compare to RAD

    Low-code and no-code solutions help line-of-business workers to create applications more quickly and advance business needs. But how do low-code solutions compare to the rapid application development (RAD) tools of yesterday for non-developers? Let’s take a look at the drawbacks and advantages of the low-code solutions of today, who should use these solutions and which application types are best-suited for low-code/no-code.

    RAD vs. Low-Code/No-Code

    First off, let’s discuss some of the key differences between RAD and low-code/no-code solutions. RAD solutions are development tools that combine an integrated development environment (IDE) with some code generation features, primarily on the UI side.

    No-code/low-code, on the other hand, refers to platforms on which codeless design time produces fully deployed applications, whether in the cloud or on-premises. This includes the entire application technology stack—back end, middle tier and UI. While it might not be accurate to say all low-code solutions are RAD solutions, it would be accurate to say low-code is an offshoot of RAD, though a far cry from the RAD solutions of the early ’90s.

    Low-Code and No-Code Advantages 

    Modern low-code and no-code platforms are advantageous to non-professional developers because of their shorter learning curves. These solutions cover the entire application stack and development, testing and deployment process. There is also no need to install multiple components to create a fully functional development environment, as most of the new tools run in a browser and deploy in the cloud.

    Low-Code and No-Code Drawbacks 

    The drawbacks of low-code/no-code platforms are similar to those experienced with RAD. You still need to deal with the code, since in many cases the developer has no control or knowledge of what files were generated or modified as a result of visual tool-related activities. This affects source control approaches and integrations of the code with third-party components. Furthermore, the quality of generated code can be questionable and proprietary in some implementations. This can lead to issues with code integrity across implementations if care is not taken.

    One of the key factors of measuring the quality of the generated code is it should use the most popular and widely available (open source) frameworks instead of proprietary frameworks, so further maintenance of the code is straightforward and does not require an additional learning curve. The quality and complexity of the generated code also should be measured using traditional tools.

    When to Use Low-Code/No-Code 

    Which applications work well with low-code/no-code development? Because low-code and no-code allow developers to concentrate on the business logic of building blocks, this strategy is well-suited for business-type applications. Low-code building blocks and components can be created by more technical people also by injecting some code into standard visual components, ending up with no-code required building blocks for businesspeople to construct applications. This approach also fits well into the “bimodal IT” approach popularized by Gartner.

    Low-code/no-code and RAD were both built with the same end goal in mind: to speed development and deliver applications more quickly and more consistently. However, low-code solutions offer a more visual way of building apps more well-suited for less experienced developers. It also can empower team members who otherwise would not be able to do so to create applications more easily. Modern low-code solutions also give the developer a great deal of flexibility because typically you can incorporate both the low-code building blocks with custom code, meaning the application can be customized.

    Whether you’re new to low-code or no-code or just getting started, this solution is a great choice to help accelerate part of (or even your entire) development pipeline. If you’ve tried RAD in the past, give no-code/low-code a try and see if it’s right for you.

    — Dmitry Binunsky