App dev has evolved: Why developers should embrace low-code

Skip Navigation
  1. 01

    App demand requires low-code adoption


    App demand requires low-code adoption

    An estimated 88 percent of companies are adopting low-code as a standard for developing applications, and 74 percent of those companies are planning to integrate business lines into the application development lifecycle. It’s clear that companies are embracing this technology to relieve the pressure in application demand. Now your boss wants to move to low-code development, and you need to break the news to your team.

    The good news is that there are many benefits to adopting low-code application development: Your team will become more agile with shorter development cycles, their productivity will increase, which enables you to shift resources to more strategic and innovative initiatives. And the business will now be active participants in the application development lifecycle.

    The downside: Many of your developers are freaking out. They look at low-code and think that their coding experience isn’t valued by their bosses, that model-driven visual development is oversimplified and can’t handle anything beyond basic forms applications, or that their jobs are at risk because the company will transition to business analysts building apps without code. How do you get your team excited and engaged while they are experiencing existential crises and visceral reactions to a new technology?

    What developers often don’t realize is that low-code development makes their lives easier and helps them achieve what they’ve always wanted: to make an impact on their organization in a fundamental way. This is the goal, right? So how can you get developers to buy into using a low-code platform and provide immediate value to the business?

  2. 02

    Solve problems with a common visual language

    Visual modeling elements


    Solve problems with a common visual language

    Low-code platforms provide the ability for developers to have a fixed layout and to preview that layout in a format where they can see how it will be deployed.

    Low-code development platforms use a visual modeling approach to program logic. The example below displays a simple IF statement in code on the left and low-code on the right. The logic returns a true or false validation based on the supplied parameter. Developers understand both sides because they understand the coding and the visual model. It’s a no-brainer for them. But with the increased necessity to interact with the business, it gets complicated to explain the code to a business person. With code, developers need to not only provide an explanation of why they code the way they do, but also a translation of the code.

    Visual models are a common language developers can use to explain their decisions to stakeholders, ensuring alignment faster than traditional code reviews.

    It comes down to asking your developers: Would you rather have to deal with the aggravation and hassle of trying to explain the code to someone who doesn’t get it, or spend time explaining the logic around the decision you made in a way they easily understand?

  3. 03

    Speed up time to value with a pre-built environment


    Speed up time to value with a pre-built environment

    A best-in-class low-code platform will provide cloud-native, one-click deployment. At Mendix, we talk about how great it is to be able to deploy with just one-click, and while it is amazing, let’s pull back the curtain and look into what is actually happening.

    When you one-click deploy, the app is placed in a container and shipped off to any public or private cloud environment. Your developers don’t need to worry about standing up an environment or installing any of the plumbing, and if they do want to stand up an environment, they need only do it once.

    By eliminating the need to build the plumbing every time your developers start a project or wait weeks for the infrastructure team to build it out, they can now focus the time saved on solving the problem for which the app is being built.

    A best-in-class low-code platform:

    • Markup file uploading

      Includes local deployment for testing and troubleshooting:

      Developers often spend time standing up an environment for testing and troubleshooting, but with a low-code platform, they no longer need to do this. Instead, look for a low-code platform that enables local deployment for quick testing and iteration. Recompiling generated code every time a change is made can be tedious and slow down the development process dramatically. A best-in-class low-code platform enables local deployment with one-click and provides rapid updates to changes in the model.

    • Terminal window

      Automatically integrates logging and debugging during runtime:

      When these features are built into the platform, it eliminates the need to spend time evaluating different technologies for troubleshooting code every time a new project is started.

    A developer’s initial reaction to low-code:

    “I have to admit, when I first saw the Mendix low-code platform I called BS based on all of my previous experience as a developer. I didn’t think this type of low-code development could meet our needs. As we worked with many proofs of concepts, I very quickly realized that Mendix actually fits all our needs. I was still pretty shocked, and while working with a small team of Mendix developers, I tried to trip them up with tons of questions thinking surely one of them would not be met with a sufficient answer. Every single question and need was met, and I was hooked. We purchased a license and developed a single project to show what Mendix could do. Since then we have been flying with the platform.”

  4. 04

    Enable extensibility and reuse with custom code

    Extendable modeler element


    Enable extensibility and reuse with custom code

    Model driven development (MDD) isn’t a new concept, it’s been around for many years. Many developers are skeptical about MDD tools because the tools of the past were too restrictive or difficult to customize. Their expectation was extensibility and customization applied to the actual model instead of code fragments sitting beside the code generated from the model. Further customization would require developers change the generated code to meet customer needs. But that broke the model reducing development speed, increasing rework, and making maintenance a nightmare.

    Instead of looking for a platform that allows developers to extend applications with custom code, look for a low-code platform that extends the capabilities of the modeler itself.

    A best-in-class low-code platform has:

    • Hands holding isometric cube

      The ability to extend the capabilities of the modeler with custom code:

      Extending the capabilities of the modeler means any code added to the platform is reusable across applications with zero modifications, as if the code itself becomes native functionality in the platform. In addition, a best-in-class low-code platform provides a repository for developers to share reusable components, encouraging reuse, and ensuring quality and consistency.

      Typically, low-code platforms provide model extensibility in two ways: front-end extensions known as widgets; and backend extensions called connectors. Widgets allow developers to extend applications using JavaScript, and utilize any JavaScript library they require such as: React, Angular, Dojo or D3. Connectors run on the server, allowing developers to create custom Java/Scala code to utilize any Java or Scala libraries. As well as custom code, some low-code platforms also support native integrations such as: REST, SOAP and OData.

    • Reusable UI elements

      The right level of control to support reusability

      Packaging reusable components entails a process of wrapping and encapsulating custom code which makes it a native extension of the model runtime. This process acts as a control mechanism and an opportunity for quality and consistency as developers make these components available for other developers. Building reusable components not only makes life easier for your existing developers, but also extends their expertise to business developers, who utilize these components.

    • Browser window

      APIs for extending and integrating to and from the platform:

      Developers looking to import applications from legacy code bases into the platform, analyze application models for static analysis, make bulk changes to the application or export models to another code base or platform are looking for a low-code platform with a Model SDK. By leveraging the Model SDK, developers gain programmatic access to the meta model information, enabling them to build supporting tools around the low-code platform to extend its capabilities.

      A best-in-class low-code platform has an extensive range of APIs to help developers integrate the platform into their existing DevOps pipeline. By using tools like Visual Studio Team Services (VSTS) or Jenkins deployment, pipelines leverage the APIs to build, test and deploy applications automatically based on a trigger, like a commit.

    Person juggling areas of expertise

    Becoming the right kind of subject matter expert

    Another great benefit of reusable components and extensibility is the ability to leverage services from AWS and the like by simply dragging and dropping. Developers can spend months learning to integrate new technologies like machine learning, IoT, and blockchain, making sure it’s future proofed and easy for the rest of the team to integrate. It can be risky and time-consuming to ask developers to figure out the integration on their own.

    Instead of spending the time on becoming an expert at the mechanics of how the tech works and the implementations involved, low-code platforms enable developers to easily leverage these technologies with greater accessibility. This allows them to focus on being a subject matter expert on the best ways to use the technology with respect to use cases. This type of subject matter expert helps drive the business to understand the use case for the technology and provides higher value.

    In other words, it’s about being able to explain the why versus the how. Low-code platforms take care of the how so your developers can focus on the why.

    All these benefits enable your developers to maximize their true value, and it’s not their coding ability. Rather, what your developers should want, and what you need, is for them to focus their time on thinking through complex problems and delivering creative solutions.

  5. 05

    Build apps that meet business expectations

    Many devices running same app


    Build apps that meet business expectations

    In order for developers to build apps that meet business and user expectations, it is imperative to use a platform that enables collaboration between business and IT, as well as collaboration between developers. This collaboration can come in the form of integrated chat, feedback, visual modeling tools, etc.

    A best-in-class low-code platform will provide tools for collaboration in four key areas:

    • Collaboration Portal:

      Transparency is a key driver of time-to-value. Ideally, your low-code platform has built-in capabilities that enable transparency throughout the application lifecycle. Establish a central place where everyone involved in the application development process — from business analysts to traditional developers– can begin to evaluate the collaboration capabilities of a low-code platform. Greater success is achieved when the low-code platform extends the tenants of an Agile methodology to encompass the business owners. Features and functions like social feeds, comments, stories and feedback management that provide instant visibility and context into what is happening with the application can provide a deeper, shared understanding of the business goals and requirements.

    • Chat app speech bubble

      Within the Development Environments:

      A best-in-class low-code platform has an integrated development environment that fosters collaboration through integrated communication, like feedback and stories tied to the context of the specific application.

    • mobile device pulsing

      Mobile App for Testing:

      A mobile app for testing enables application validation and includes a social feed for users to be able to communicate feedback and make comments.

    • Thumbs up

      In-app Feedback:

      Each app built on the platform has a built-in feedback mechanism, so users who are interacting with the apps can supply feedback right to the development team in the development.

    With collaboration comes the need for version control

    When collaborating with the business and other developers on a project, it’s important to be able to manage multiple versions of software and software revisions, and be able to manage branch-lining and merging. Look for a low-code platform that provides a version control environment where developers collaborate with other developers and manage versions.

    A best-in-class low-code platform ensures that versions are automatically normalized so no additional effort is needed to upgrade to new capabilities and ensures there are no broken tests and no changes required.

    Version revisions should be closely tied to user stories/requirements defined at the Agile Project Management level to ensure transparency across the project by outlining what functionality has been delivered in which revision.

  6. 06

    Change management is fundamental


    Change management is fundamental

    You and your developers share the same goals: to solve problems efficiently, increase productivity, and make an impact on the organization. A best-in-class low-code platform will enable your traditional developers to do just that. But introducing any new technology in an organization impacts the people and processes it aims to update or enhance.

    That’s why, when you overhear your CIO and enterprise architect talking about digital transformation and low-code, it’s crucial your developers are included in the evaluation. Get them involved early on to explore what the technology can do to enhance the application development lifecycle. They will learn it’s easier to create applications with low-code, and the technology doesn’t constrain the types of applications they can build. Rather, it abstracts away the tedious effort required to stand up traditional development projects.

    Developer at workstation

Copy link