LOW-CODE
PREFABS
SOLUTIONS
EVALUATE

Wired for experience®

Rapid Application Development (RAD) or low-code development is a dynamic approach to creating applications that minimize hand-coding to increase developer productivity. At first, low-code technology grew out of the needs of citizen developers with little coding knowledge to create basic applications using intuitive "out of the box" features - but over time, the technology has matured drastically to suit the nuanced and complex needs of IT professionals.

Today's low-code technology features advanced open-standards-based approaches, comprehensive API capabilities, enterprise-grade security measures, and more to help developers execute on sophisticated digital transformation and modernization projects efficiently. However, the evolution of low-code technology is far from over. In fact, I predict that the low-code space will continue to grow in the following ways in the year ahead:

1.       Increased usage - Low-code technology enables a higher degree of nuanced coding intermixed with intuitive visual development, allowing developers to efficiently create high-quality and specific enterprise-grade applications. As more and more enterprise IT teams recognize the ways in which this type of development process can free up internal resource constraints, low-code technology will become the de-facto productivity platform for professional developers.

2.       Enhanced enterprise-grade applications - In 2019, professional developers will continue to push the boundaries of RAD as they bring best practices and relevant app development, deployment, and DevOps experience into every stage of the enterprise application development lifecycle. These enhancements will undoubtedly span a range of capabilities, including cloud deployment, real-time integration, and increased developer collaboration across and within teams.
3.       Central hub for app development via integrations - With increasing API adoption and service consumption, low-code platforms will become even more of a central hub for application development. The current model of enabling streamlined integrations to external services will open the door to an even wider range of use cases - including RPA, BPM, SaaS IoT, AI, and analytics integrations.

4.       Emphasized digital experiences - The customer/user experience will only grow more important as enterprises go head-to-head in a progressively competitive digital environment. As a result, RAD technology will increasingly cater toward building highly user-centric digital experiences with clear customer touchpoints where feedback can be provided quickly and easily from any device, channel, or location.

5.       Longer-lived applications - The flexibility of low-code technology will contribute to a future in which most mainstream business applications are built to be long-lived and capable of adjusting and scaling alongside changing business objectives. Previously, factors like cumbersome integration approaches would result in the creation of "locked in" applications incapable of change over time - which is both inefficient and costly.

There's no question that low-code technology will continue to be a high-impact tool for CIOs and developers looking to tackle big enterprise IT projects more efficiently and flexibly in 2019 - and beyond.

Originally published by Vijay Pullur, CEO WaveMaker, in VMblog.com

You're a dev, so low-code platforms are useless. Wrong! Read on to find out why.

Everyone seems to be talking about low-code nowadays. Low-code app development platforms are already taking the IT world by storm. Moreover, the idea of being able to swiftly develop applications with minimal coding is appealing in itself. It has been aiding app modernization in all business verticals. But, with popularity, comes various perceptions and misconceptions. It is necessary to separate facts from myths in order to know the true capabilities of low-code app development platforms.

In forums and other channels, a lot of questions come in to get a better idea of what low-code is all about. Here is a list of popular low-code myths and some arguments to debunk them:

Now that the truth about these myths is finally out, businesses can leverage low-code app development platforms to develop future-proof applications and scale. But, while looking for a suitable low-code platform, make sure you avoid some major pitfalls that can prove to be disastrous for your business.

Originally published by Spruha Pandya in Dzone

Low-code platforms are driving about 50% annual growth in a market populated by dozens of vendors. At present, the value of this market stands at $4 billion.

A low-code platform takes a visual development approach to deliver business applications. It enables developers to create applications visually with a minimum of hand-coding and upfront investment in setup, training, and deployment. What drives its adoption is that developers can iterate, and release applications in a fraction of the time when compared to traditional methods.

The following are the features of low-code platforms:

Visual Development - The fundamental expectation from a low-code app development platform is to offer a WYSIWYG development environment where developers can drag and drop components to design responsive user interfaces that adapt to a device’s screen resolution. Some of these platforms go so far as to offer out-of-the-box templates for commonly used layouts and screens such as dashboards. The demand for enterprise mobile apps has meant that low-code platforms have also started to offer cross-platform mobile app development with access to native mobile device features.

Simplified Integration - Virtually every business application depends on data to create a meaningful application. But data is available from disparate systems ranging from proprietary enterprise systems to APIs from external entities and everything in between. Hence, data integration consumes an inordinate amount of time and resources during enterprise application development. A Low-code Platform is expected to provide a visual approach for developers to connect to these data sources and embed data elements directly into the application. Some platforms also allow professional developers to design data models and configure business logic directly inside the low-code app.

Instant Deployment - Beyond the need to eliminate or reduce application coding, Low-code Platforms are expected to streamline and speed up the application delivery process itself. One key characteristic is the ability to instantly deploy an application with zero DevOps. Such platforms also offer a single point of control for app maintenance and updates. While other low-code app development platforms extend the capabilities to security, governance, version control, infrastructure autoscaling, and more.

What developers look for in a low-code platform

A modern digital business requires CIOs to ensure that they are providing the newest offerings to users. While choosing a low-code platform, the concern for a CIO is to build applications faster. But what concerns a developer is a set of criteria that determines which low-code platform to adopt. These are -

Whether you are transforming application delivery or testing the waters with a pilot project, it is critical to choose the right business use cases and applications to achieve success with low-code platforms. Once you can identify the ideal use case, choose the low-code platform that best suits the case and delivers business value.

Any enterprise that got its start before the dawn of the internet era comes equipped with a legacy in its systems of records that are several decades old.  These systems have been through multiple patch and upgrade cycles over time, making them inflexible to change. Simply put, these systems may create more problems than they solve.

And yet Gartner predicts that, even by 2023, 90 percent of enterprise applications in use today will still be in use.

These systems of record have proven themselves to be a competitive advantage for the enterprise over the years, and they can’t be wiped off the slate – simply because there’s nothing to replace them. In a recent survey conducted by BT Global Services, 42 percent of enterprise leaders said they would continue using their old systems, and 37 percent said they even planned to upgrade these systems. And, contrary to popular belief, a BMC mainframe survey last year revealed that 91 percent of enterprise leaders expect their workloads on mainframes to grow.

The problem in keeping these systems running is that the Baby Boomer generation is retiring, and the skills needed to maintain them are dwindling. Look at mainframes, for example.  They aren’t part of any graduate curriculum today, and are not of interest to the young technical workforce. The skills needed to develop old applications written in programming languages, such as COBOL, FORTRAN, Assembler and even C, are not readily available, forcing enterprises need to spend considerably to train and onboard skilled staff.

Modernization: The New Imperative

Now let’s examine modernization.  Modernizing software systems has been a cornerstone of the offshore IT services industry. Modernization today is platform-led, very different from the earlier era in which modernization was a services-led initiative powered by selective platform use. There are two main reasons for this:

  1. Three- to five-year roadmaps are dead. Consider this: spending one year, using a dozen developers at a cost of $1 million to build applications is no longer feasible. Modernizing is about quickly changing direction for new opportunities. To achieve this, a healthy interplay between platform and services is critical. Services alone can’t cut it anymore.
  2. Enterprise IT has to do more with less. The recent 2018 Connectivity Benchmark Report from MuleSoft stated that IT decision-makers report an average of 27 percent more projects for 2018 over 2017, while IT budgets, on average, will either increase by less than 10 percent or stay the same.  Something must give.

From Legacy to Neo Legacy

The move from 3GL to 4GL has been making the modernization rounds for a number of years.  Unlike 3GLs (C++, Java etc.), 4GLs allow the developer to focus on an app’s business logic and presentation, and not just on writing lengthy code. Developer productivity was the core promise of 4GLs and platforms, such as FoxPRO, Microsoft Access, and PowerBuilder, enabling rapid application development. The problem is that 4GLs were built for an earlier era.

But 4GLs are proprietary, and inevitably result in in vendor lock-in.  Plus, enterprise software licensing costs for 4GLs are continuously increasing. And, despite their promise, they required a lot of manual coding. What’s more, their scope of use is limited to specific application scenarios, which are determined by app vendors.  Unfortunately, that leaves little scope for customization and exploration.

Unfortunately, many 4GLs were developed before the “digital era” and long before the need to support the web and mobility.  Thus, 4GLs are not suitable for the device, data, and integration requirements of today’s enterprises.

But now, low-code application development platforms have stepped in. Their promise is not only to simplify coding, but to drastically minimize or eliminate the need for massive code bases, and doing so results in faster and future-proof development.

From Traditional Code to Low-Code

Low-code platforms have become one of the tools of the trade for app modernization.

  1. They offer full-stack visual development and application management capabilities. They enable enterprises to quickly build, test and run enterprise-grade mobile and web applications with minimal code. Enterprises can experiment and innovate with less risk of traditional methods.
  2. Applications built using low-code platforms are modular by nature, so the cost of an application change is reduced.
  3. Open standards-based stacks give low-code platforms the openness that 4GLs lacked, and they let enterprises avoid expensive vendor lock-in. Low-code platforms can be used for a range of requirements, from simple automation of paper-based processes to creating new systems from the ground-up.
  4. Applications built using a low-code approach are robust, secure and can be a seamless extension of existing data sources and legacy systems. These platforms also offer pre-built connectors and pre-fabricated components. This makes applications extensible and customizable, and helps leverage the power of API economy.
  5. Built-in DevOps and container management capabilities help low-code platforms deploy applications into, and between, existing infrastructures. This accelerates the code into the customer journey.
  6. Low-code platforms help enterprises better align with the future of software development. Today, the answers to most business problems are in the data owned, not in the software used. Hence, spending a year and a million dollars to build enterprise software cannot be justified. Model-driven, componentized assembly of software is the future and low-code platforms aid such emerging ways, making development efforts future-proof.

Where to Start

 How can you transition to app modernization using low-code development?  Here are my recommendations:

1. Evaluate the technical condition of your systems and bucket them as low or high depending on your perception of these five parameters:

2. Decide whether the code base needs to be touched

If applications do not need to be modified but need to be updated, there are three common approaches: wrapping, packaging and re-platforming.

If the code base needs to be modified, approaches such as refactoring, rewriting and re- architecting should be considered.

Additional Considerations

A packaging approach that replaces legacy software with COTS software is suitable for systems of record but shouldn’t be used for systems of differentiation. This is because all companies have access to apps, such as Salesforce, that erode the opportunity for differentiation. Such systems need to be approached with either rewriting or re- architecting, both of can build competitive advantage.

Systems of differentiation can be approached using a wrapping strategy, which is typically lower cost.  However, the benefits of wrapping are temporary and should be used a stepping stone to a rewriting or re-architecting. All other approaches except wrapping reduce the burden of finding skilled legacy resources.  Why is wrapping singled out?  Because wrapping simply allows new functionality to be developed on top of old systems.  Companies still need active mainframe and COBOL development teams post-wrapping.

Finally, enterprises need to acknowledge the technical challenges faced by IT and developers during modernization projects.  These include:

Modernization is a practice whose time has come. But perhaps the true test of any modernization platform is that it must not come at the cost of an army of specialists, but instead must set the stage for sleeker, more people-efficient IT organizations.

 

Originally published by Vinay Murthy, VP of WaveMaker in EnterpriseTech

 

Rapid application development platforms ­– the low-code and no code tools that have proliferated in the last few years – have given rise to the phenomenon of the citizen developer. A citizen developer is someone who is, or can become, proficient in RAD development, either independently or in support of a professional developer.

In the latter case, creating a new app may involve a tag-team approach in which the pro prepares the components that go into composing an app, and the citizen developer can then develop the app. Such two-pass development is one highlight of select RAD platforms.

The citizen-developer phenomenon has gained a wide following in the past few years, essentially because it enables thin IT teams to reduce their backlog of development projects. Another major reason is that citizen developers, once proficient on a RAD platform, can shelve any older development technologies they may have used.

But even with a wide following, the acceptance of RAD has not spiked in use, but instead has evolved from quick and dirty apps (which were more like prototypes) to nice and final apps (offering a great user experience).

As part of that evolution, a number of use cases for RAD emerged. Arguably, the most popular of those are:

RAD platforms are not best suited for developing gaming or other highly interactive apps that use very little data. That would rule out Uber-like apps and gaming apps such as Angry Birds.

RAD is most suitable when the apps are data-driven, often populated from a database system. Pagination of data or memory management (for example, a mobile app that brings in too much data ahead of use may waste data traffic; whereas one that brings in too little could provide poor interactivity) is very tricky particularly when apps need to use AJAX. AJAX is a very common form of programming, for both web and mobile apps, where data is fetched on demand. AJAX applications – also called single-page applications, because data is called into a page without need for a server fetch of a new page – provide a better user experience and are hence preferred.

In addition, low-code platforms are well suited for those applications that are created in Gartner’s Pace Layers model: Systems of Innovation or Systems of Differentiation. Low-code platforms are also suitable for Mode-2 development (the Innovate layer), as defined in Gartner’s Bimodal IT model.

As we see a rampant spread of the consumerization of IT (i.e., corporate apps that look and act like consumer apps), RAD is seeing a new growth phase.

The D in RAD has also been redefined in the new era. Today, the D in RAD refers to both delivery and development. RAD platforms have evolved to cover the entire breadth of application delivery. For instance, some RAD platforms combine a developer cloud to reduce cycle times further (test-as-you-build) and increase productivity. This also makes it simpler to move an app from the developer environment to staging or production (for example, through use of containerization technology).

In short, today’s RAD platforms are nothing like their earlier cousins, although the goal of rapidity still remains.

The challenges of traditional development are not new, nor have there been any substantive improvements in traditional languages that would deliver quantum improvement in time to deployment of new apps – where speed virtually always means corporate cost savings, earlier opportunities for app monetization, or both. That dearth of innovation virtually opened the door for a surge in RAD adoption, whether it resulted from need or opportunity.

Originally published by Vijay Pullur, CEO of WaveMaker, in tmcnet.com

Enterprises have been creating and using applications since the beginning of the IT era. Some of these applications built using older technologies and architecture are still being used today to support core business functions. This formula has worked for a few enterprises and a few enterprises are feeling the use of such applications being historic and dated. With the emergence of mobile devices and supporting software each day, enterprises are required to keep up to speed and transform their legacy applications running on older technology to new and updated technology while maintaining the same functionality or making it better.

Modernization of legacy applications does have its challenges, it is explained below in the following steps.

  1. Recognizing when an enterprise should make the shift to application modernization
    Enterprises using legacy applications start to get comfortable with the application and forget to keep up with the growing trends in technology by updating their application till a stage when it is too late. If this has happened to you, it would end up in a situation where you find the functionality of the application poses issues related to opportunities and challenges introduced by digitization and globalization of the general business environment. Legacy applications can limit your organization’s ability to meet current and future business needs effectively and efficiently, or to integrate emerging technologies. Such application performance issues are a good trigger for your enterprise to consider a shift towards application modernization.
  2. Laying the foundation for application modernization
    Now that you have identified the need for modernization, the next challenge is to understand where to start with the transformation of the legacy application. The first step towards this is to understand what impacts it will have on the infrastructure and the overall IT environment of the enterprise which includes the business, the IT stakeholders, and the costs involved. A few factors to consider are,

    • Identifying applications that require a replacement or upgrade.
    • Exploring the use of managed, shared, or cloud services
    • Choosing a platform that can blend well with the existing application or can be integrated with the same
    • Choosing a platform that can accommodate the current and future needs of the application.
    • Measuring the costs involved, which include continuing operating cost, maintenance cost, replacement costs. Apart from this, operational risks and unexpected cost of application failure.
  3. Planning your application
    Once you have estimated your costs and understood the requirements, the next step is to figure out what not to do with your application. For instance, removing redundancies from the legacy application and planning it in a way that can eliminate any duplication if any. Simplifying the application by prioritizing application requirements to meet business requirements makes it more extensible, sustainable, and efficient.
  4. Execution of the plan
    There is nothing more satisfying than being able to execute a well-laid plan. The same is true in the case of an application. To execute the plan, you must decide whether the application will be re-built, re-designed, or bought, or a combination of the three. There are different approaches to this such as,

    • Re-hosting the legacy application. Where the legacy application exists on a more flexible platform and exposes the data of the legacy application to be consumed by the modern application which is also cost-effective.
    • Code transformation, where software is used to disassemble the code and then the whole application is reconstructed in a new language keeping the naming conventions and business logic to the business specifications. This can be time-consuming and expensive.
    • Enterprises can invest in Commercial-Off-The-Shelf (COTS) software that is supported by third-party vendors and can either have their application developed by them or buy the software or license and have it developed in-house. COTS can be either cloud-based or on-premise.
  5. Training, testing, and deployment
    Training, testing, and deployment are vital in the success of any application. Having the right training especially if the solution is COTS is essential as the user can see the benefit first hand with the use- cases being met. A visual, drag-and-drop feature in low-code COTS can flatten the learning curve – minimizing hand-coding while generating standard-based applications. Another key requirement of a legacy application modernization project is to have the stakeholders in the loop throughout the project and also enable collaborative development. This ensures an open forum and avoids rework of the nitty-gritty within the project. A good COTS or low-code platform should also provide a period of hand-holding for the end-users and stakeholders. A period of built-in support after deployment is also a good idea.
  6. Support and maintenance
    Applications that are built on modern standards and requirements are subject to changes in the form of updates. A modern application should have provisions for agility and scalability. In addition to this, the code generated should be easy to maintain. Low-code platforms used for legacy app modernization provides easy options as far as maintenance of code and keeping maintenance and support costs to a minimum.

The path to transforming a legacy application to a modern application is a rather challenging one and it needs to possess all the features of a modern application like quick and easy integrations to new technologies and adaptability to a host of new mobile devices.
WaveMaker low-code platform with its unique features like drag & drop visual development allows enterprises to successfully migrate Lotus Notes-based applications, Oracle Forms-based applications, and MS Access-based applications to state-of-the-art modern applications with minimal coding effort and costs.

Get Started to find out how WaveMaker’s Low-code Platform can modernize your legacy applications.