LOW-CODE
PREFABS
SOLUTIONS
EVALUATE

Wired for experience®

BUILD COMPONENTS. COMPOSE JOURNEYS. DIFFERENTIATE THE EXPERIENCE.

WaveMaker offers a low-code way to add composability to software
and create differentiated experiences on web and mobile.
GET DEMO

Pre-fabs

Not your average experience components
Wrap backend functionality in stunning UI with prefabs

Fusion teams

A new way of delivering digital experiences
Bring pro-devs and business users together to innovate

DevX

Purpose-built for modern 
dev teams
Built from the ground up with the developer at the heart
We’re increasingly finding the need to deliver tailored experiences to different user segments. By integrating WaveMaker into our ecosystem, we now have a framework of pre-built components that can be quickly assembled not just to build apps but also provide differentiated user experiences, thereby increasing the value to our end-users significantly.
Director, Technology Strategy, F500 Fintech ISV
Read The Story
All Customer Stories   

Recognized by Forrester in the The Forrester Wave™: Low-Code Development Platforms For Professional
Developers, Q2 2021 

Recognized by Forrester in the The Forrester Wave™: Low-Code Development Platforms For Professional Developers, Q2 2021 

Get the report to learn why CIOs and enterprise leaders are embracing composability 

The industry’s most open low-code platform

Open developer experience

Built on an open-standards tech stack that’s easy to adopt and generates real, exportable, human-readable code

No lock-in whatsoever

Own everything you develop on WaveMaker and get the freedom to break free hassle-free anytime

Scale without scaling costs

Scale to unlimited apps and users while keeping costs fixed with a transparent developer-seat licensing model
WaveMaker provided far more than what we were expecting.  It just simply beat its competition through its simple yet intuitive visual app building. The icing on the cake was WaveMaker’s adoption of open standards to build applications, which took away all aspects of vendor lock-in.
Jerry Braga
Sr. Programmer Analyst at Flanagan

See WaveMaker in action

FORTUNE 500 FINTECH

Chose WaveMaker for an API-first cloudnative approach to building modern digital engagement platform, also engaging to resell WaveMaker to customer banks

BANKING SOLUTION LEADER

Adopted a low-code development strategy to improve outcomes across the board – modernization, new app development and future enhancements

SECOND LARGEST PC VENDOR

Embedded low-code to democratize experience transformation efforts by empowering a broader pool of developers, both IT and citizen

Introducing WaveMaker
React Native Studio

Build cross-platform native mobile apps from a single codebase with the React Native Studio.
Explore

BaaS providers, it’s time to go beyond APIs.

See how WaveMaker helps BaaS providers go beyond APIs and offer composable, customizable, and embeddable financial building blocks that can be assembled to create delightful customer experiences fast.

From the world of low-code

Remote Working with The WaveMaker Low-Code Platform

The COVID-19 crisis took over our world and changed the rules overnight, without fair warning. We have seen lockdowns imposed across the world and closure of workplaces, and more than 81 percent of the global workforce of 3.3 billion people have felt its impact. With Generation Z entering the workforce this year, it is estimated that there will be a 30% increase in demand for remote work by 2030. A majority of working professionals worldwide are preparing for a future in which virtual and real workspaces merge seamlessly.

Embedded Finance, Low-Code and the Emerging Face of Adaptability

The years 2020-21 will be remembered for the pandemic and the subsequent resurgence. It will also be remembered for the time where over half the world’s population pulled out their mobile phones to buy groceries, order food, get paid for services, shop for clothes, and even pay for healthcare. While the pandemic ravaged nations, humans quickly adapted to new ways of transacting. Financial transactions through almost any app of any industry became a reality and more or less a force of habit.

What made that drastic leap possible was set in motion years ago with the advent of Open APIs. The emergence of public APIs and regulatory changes such as PSD2 spearheaded the ‘Open Banking' revolution. A flurry of fintech companies followed, offering to ‘embed' financial services in non-financial apps. Financial capabilities once considered the privilege of banks, became a necessary touchpoint in the customer journey of any brand. While banks still held dominion over regulatory licensing, fintech was able to squeeze in financial offerings between the layers of ‘bank' and ‘brand' with alacrity: Thus leading to the emergence and rise of ‘embedded finance'.

In fact, according to Juniper Research, in 2021 alone, the ‘embedded finance’ market is said to be valued at $43 billion and is set to soar by 215% by 2026.

Early Adopters and Present Trends

Uber and Lyft are some of the most well-known early adopters of embedded finance.. Tackling the simple pain-point of cab riders (searching for cash, taking out a credit card, toggling between apps), Uber introduced embedded payment in its cab booking app. Its early success in alleviating a major pain point in customer experience spawned a rush for embedded payments in large, digital savvy, non-traditional players ranging from e-commerce (Amazon) to food delivery apps (Deliveroo). Fintech with technical know-how and financial acumen followed suit with offerings customizable for banks and brands.

This led to the emergence of another layer between fintech and banks, what is called Banking-as-a-Service (BaaS). Unlike Open Banking that offered only data, BaaS offers APIs for banking services that fall under the ambit of regulatory services. The fact that these APIs could now be leveraged in any digital customer journey opened up a plethora of value propositions for brands, hitherto not possible--retailers providing a ‘Buy Now, Pay Later'(BNPL) option, car dealers offering loans and insurance, and utility providers launching wallets.

The customer-share pie for financial services became open to all.

What started as embedded payments has now evolved into multiple use cases such as embedded insurance, embedded banking, embedded credit, and embedded investment. The use case list has expanded to every industry from retail to HR and has the potential to morph further. While digital-savvy, large enterprises are quick to adopt, small businesses are also jumping into the fray. Uber which was only offering payment services, now offers loans to its drivers and an Uber debit card for a checking account to its users. On the other hand, banks, both new and traditional, are opening up new avenues to reach out to their customers.

For brands, it is the customer journey that matters. For banks, it is high volume and less cost. A win-win in any case.

Speed Bumps in API Adoption

If we look at banking trends over the decades, the underlying driving force that has spawned thousands of new players in the financial services industry is most surely -- APIs. From Open Banking to now Banking-as-a-Service, companies that have proactively embraced the evolution of APIs have been successful in embedding financial services. However, it is easier said than done.

Banks/ Providers typically have an API-only approach. There is no touch and feel. The graphical elements or abstractions on top of these APIs need to be recrafted and customized per brand, per use case. With virtually every bank jumping into the bandwagon, brands (especially SMBs) look for technical expertise to evaluate and buy from the exhaustive list of APIs. Navigating the labyrinth of APIs would also involve sourcing and integrating APIs from multiple providers, brands, and third parties. To build a digital layer over the APIs, the brand has to either depend on its own IT and available tools, or they have to turn to fintech or ISVs that can help them leverage the power of these APIs on an integrable platform.

Think Beyond APIs: Go Low-Code

In the end, APIs are a means to an end.

Businesses spend inordinate amounts of money and time to consume complex APIs and launch embedded finance services. Traditional hand-coding while integrating with APIs is cumbersome and can lead to latency in time-to-market. Subsequently, many businesses lose their first-mover’s advantage.

Low-code platforms can help businesses in two ways to gain momentum:

  1. Businesses can perform quick roll-outs of showcase applications and MVPs on a low-code platform, thereby gaining a sense of the market pulse and figuring out what works and what does not.
  2. BaaS providers can use low-code to enable hyper-accelerated app development by provisioning ready-to-use contextual components over their APIs, which can be easily provided as a bundled financial offering for business apps.

A low-code platform can now act as an aggregator of financial and non-financial APIs and provide a contextual layer that is customized per brand/bank.

Battling out on fierce financial terrain, are large and small brands and FIs. Whether it is ‘Buy’ or ‘Build’, businesses, fintech, and ISVs agree that application development platforms need to offer two very important aspects while integrating APIs: flexibility and security.

Low-code platforms that come with inbuilt security and a “whatever-whenever-wherever” facilitation effectively neutralize these two major concerns faced by incumbents of the financial services industry.

To Embed or Not is Not a Question!

Over the past two years, industries have shown resilience and adaptability like never before. Embedding finance into a consumer app has become a norm. A norm that took wings years before but gained momentum in the past two years. The hyper-acceleration of embedded finance in financial and non-financial applications is the phenomenon of businesses reacting to unforeseen circumstances in the most creative manner. Low-code platforms like WaveMaker can assist small and large brands in consuming and integrating disparate APIs with ease and provide a contextual consumer interface abstraction over them.

The synergy created by low-code, embedded finance, rapid application tools, and digital transformation in general, are shaping the face of what creative adaptability looks like.

Accelerate your Digital Experience Platform Journey with Low-Code

Forrester finds that, in 2020, over 27% of organizations improved their customer experience (CX) index scores, a big number compared to the few who were making progress in the years before.

“To emerge successfully from this global crisis, brands must build experiences that help them engage with their customers at an emotional level,” wrote Forrester SVP, Sharyn Leaver.

So, how do enterprises engage customers at an emotional level when the predominant
channel of interaction is now digital?

By delivering insights-driven, personalized, contextual, end-to-end digital customer experiences anytime, anywhere, across channels and devices.

To achieve this, at accelerated time-to-value and scale, enterprises need a springboard: A Digital Experience Platform.

Gartner defines a Digital Experience Platform (DXP), as an integrated set of technologies, based on a common platform, that provides a broad range of audiences with consistent, secure, and personalized access to information and applications across many digital touchpoints.

At WaveMaker, we visualize it in three layers:

  • Foundational Business Engine
  • Digital Engagement Hub, which brings together APIs from the business engine
  • Customer Experience Suite, which is the UX layer, made up of apps
Digital Experience Platform

Most enterprises have the business engine and the digital engagement hub, even if some of them might be legacy software. However, the digital customer experience layer needs to respond to rapidly evolving needs, offering opportunities for experimentation and rapid implementation. It is here that low-code can help. Here’s how.

Transforming applications to a customer-oriented approach

In most industries, IT is designed around the organizational structure, not customer needs. For instance, the technology architecture of a retail organization is driven by the supply chain — divided into inventory, point of sale, customer relationship management, e-commerce, etc. So, if a customer wants to check on the company’s website whether a product is available in their nearby store, it would be next to impossible because the e-commerce engine doesn’t speak to the inventory management system.

A digital experience platform can enable enterprises to address such use cases without elaborate investments in product development. When the business engine is built on customer-oriented architecture, deploying applications as microservices, loosely coupled, and API-driven with functional encapsulation, the low-code customer experience suite empowers you to drag and drop any combination of features and functionalities to create a new app. It effortlessly abstracts the various business engines to create apps with little manual programming.

Leveraging data for personalized digital experience

No customer wants to search and scroll endlessly on their shopping app to find the product they want. Nor do they want to manually drag and drop features into their interface to personalize it themselves. They want personalized experiences that are meaningful, engaging, and, most importantly, efficient.

A digital experience platform can leverage advanced analytics to deliver that. The low-code customer experience suite can form the abstraction over the analytics engine to bring together user, interaction, and business data to create a 360-degree view of the customer. It can enable dynamic user experiences, ensuring continuity of customer relationships, displaying cross-sell/up-sell opportunities contextually.

Delivering omnichannel engagement

In the era of ‘hand-off’ between devices, customers demand a smooth omnichannel experience from enterprises. For instance, an e-commerce customer today wants to add items to their cart from any device, anywhere, anytime, and purchase them all together when they’re ready.

Digital experience platforms are built to enable this seamlessly. By integrating various digital business engines, the low-code customer experience suite allows you to build omnichannel customer journeys — effortlessly moving from one channel to another, ensuring continuity of engagement across devices.

Enabling dynamic content delivery

Traditional applications are optimized for short-term transactions, while digital experience platforms are built to create long-term customer value. For instance, an e-commerce application is typically built around capabilities like search and checkout, focussing on the efficiency of shopping. But customers today are seeking more engagement. Perhaps why social commerce — blending of social media like Instagram and shopping — is gaining popularity, as it stresses the ‘experience' of shopping.

The digital customer experience suite enables enterprises, especially in industries like banking, media, retail, or fashion to design websites, portals, apps, etc. to deliver personalized, contextual, relevant, and timely content to improve stickiness and loyalty.

Ensuring end-to-end digital service

Today, saying “you need to come to the store to get this done” is a sure-shot way of losing a customer, especially given that the cost of switching to a new provider is the lowest it has ever been. However, traditional shelf-ware is heavily restrictive in the functionalities they can offer.

Digital experience platforms enable you to deliver end-to-end digital service. With the customer engagement suite, enterprises can:

  • Build and deploy new applications quickly for customers
  • Enable dashboards with predictive analytics for employees
  • Create chatbots to automate answers to common concerns
  • Automate data collection in the form of feedback through email, SMS, or app notifications
  • Streamline product and business innovation based on customer behavior and preferences

In 2018, PwC found 32% of customers say they would stop doing business with a brand after one bad experience, even if they had loved it before. On the other hand, customers are willing to pay a 7-16% price premium for a good experience. This becomes even more telling in the post-pandemic era.

Today, just offering a digital avenue isn’t enough. The digital channel(s) is the storefront, relationship manager, customer service, marketing, sales, product catalog — all rolled into one. The true success of a digital channel is in dynamically adapting to customer needs. A digital experience platform helps you achieve that.

With a robust low-code customer experience suite built with WaveMaker, you can accelerate your digital experience platform journey significantly. Its ability to provide features such as a composable architecture, scalability, cloud-native capabilities, customizability, repeatability and security strengths enable your application teams to create differentiated experiences at a fraction of the time and cost.

To see how low-code can accelerate your digital platform journey, try a demo of WaveMaker today.

Applying a ‘security mindset’ while using low-code

Authored by Gopi Mishra, Principal Architect - Development, WaveMaker, Inc

Enterprises are increasingly using ‘Direct-to-Consumer’ digital initiatives. They are parallelly digitizing their internal processes with increased velocity. These changes bring with them a tide of security threats. From insider threats to exposed marketplaces, there is always a security hazard lurking around the corner--one that can assume mammoth proportions if security doesn’t become an ingrained part of application development. In fact, according to a report by cyber security firm 'Checkpoint', cyberattacks on organizations worldwide jumped by 29% during the first half of 2021 as compared to the same period in the previous year.

So if an enterprise is adopting the web, mobile, and cloud, and directly selling to the consumer, it would be paramount that the IT team prioritizes the security of its product, and most importantly ingrain the best practices of weaving security into the development process.

Who better to don the mantle of defense than the ‘developer’? After all, when it comes to the security of an application, ‘developers’ are the first line of defense!

Defense-In-Depth

A ‘Defense-In-Depth’ approach to security for applications is a layered approach to security. What it essentially means, is that developers should take necessary action to mitigate security risks at every layer, be it the front-end (client), middle-tier, database services, or even the network layer. To do that, developers need to collaborate with various stakeholders: customers, DevOps teams, IT-networking, and the security teams handling the necessary infrastructure.

A developer has to have the same approach while developing secure applications using a low-code platform. WaveMaker comes fortified with SAST tested auto-generated code that is VeracodeTM verified. While developers working with WaveMaker can rest assured of the inherent security of the platform, there are a few best practices that a one can follow while using WaveMaker low-code to develop secure applications.

Embed security using WaveMaker

Developers need to think about security primarily in three areas: Data, Business Logic, and Coding. Data in itself could be static or could be in transmission. Depending on its state, the developer needs to keep an eye out for the following checkpoints:

secure applications using Low code

Data at Rest:

  • Ensure that no personally identifiable information is stored at the client-side (in-cache of web application or in device storage of a mobile application)
  • For mobile applications, store relevant and critical information in secure elements
  • Avoid storing information such as service credentials and connection strings in an accessible file. If stored, ensure that there is a proper authentication and authorization mechanism in place to access these files
  • If possible, use rooted/jailbreaking detection for mobile apps.
    Cordova provides plugins for the same. This can be added to the application by importing the plugin to the application. Plugins can be imported as described here.
secure applications using Low code

Data in Motion:

Secure data in motion from being intercepted

  • Use HTTPS for all calls between the client and the server-side
  • Use TLSv1.2
  • Ensure that the data between client and server-side is encrypted
  • Use updated security certificates that have the latest and secure cipher algorithms
  • Ensure validity of certificates. In case, certificate pinning is used on mobile applications ensure that certificates are renewed before expiry and app uploaded to app/play store to avoid apps breaking in production
  • Protect API calls with authentication
  • Do not include PII data as a part of a GET call
secure applications using Low code

Business Logic:

  • Use multi-factor authentication
  • Have a password policy and validation
  • Include input validation as a part of data length, type, and white-listed characters
  • Do not include passwords as a part of the ‘Remember Me’ functionality
  • Do not provide the reason for the failure of authentication in event of a validation failure
secure applications using Low code

Coding Best practices :

  • Do not log sensitive information like passwords
  • Include all loggings as a part of the ‘isDebugEnabled’ flag so that they can be disabled in the production
  • If ‘Request’ and ‘Response’ are logged or can be logged in debug mode then create filters for sensitive data
  • Use the latest versions of third-party plugins that are imported into the application
  • Use the latest SDKs/APIs that are tested against vulnerabilities
  • Flush out session data during logout
  • Error stack trace should not have sensitive information. It is always advisable to add custom messages as error messages rather than simply passing or printing the error stack trace which may have application class/file names or sensitive data.
  • WaveMaker is VeracodeTM certified and the auto-generated code is protected against OWASP Top 10 security risks. However, while designing an application the developer should keep these risks in mind and design the application to safeguard it against them (For a greater list of guidelines, follow this OWASP cheat sheet]
  • When using WaveMaker low-code platform, ensure that VeracodeTM-like scans are performed for both JavaScript and Java code

Security is an inarguable conclusion

While security best practices can help developers immensely, what is more important, is that they develop a ‘security mindset’. Security must be a priority and not an afterthought. While developing applications using ‘Agile Practices’, security should be a criterion in the ‘Definition of Done’ of user stories. Bigger pieces should be taken up as enabler stories. Regular penetration tests should be performed early in the development stage and should be a part of every sprint release. A security loophole caught early in the game will alleviate future pain points, bring down costs and reduce technical debt.

Being secure is not an option, it is an inarguable conclusion. Developers with a finer sense of security will hold this as their mantra.

Author’s Bio

Gopi is a software architect with over 15 years of experience in the financial tech and IT domain including 9 years he spent on mastering mobile architecture design. He presently leads a team of low-code developers and mentors them about best practices in software development. In his free time, he loves to read non-fiction, watch history channels or binge-watch movies.
Write to Gopi Mishra at info@wavemaker.com

secure applications using Low code

Creating Progressive Web Applications with WaveMaker

Authored by Akhil Pillai, Principal Engineer, WaveMaker, Inc

The web has been a unique platform to develop applications for decades. Of late, platform-specific applications have created a lot of buzz, mainly owing to their reliability and extensive features. Some of them work offline, some have hardware capabilities while some of them can notify users of important updates. PWAs or Progressive Web Applications are the web’s newest attempt at matching the level of reliability and richness that these native applications offer.

What exactly are Progressive Web Applications?

Progressive Web Apps are just plain old web applications with newer capabilities enabled on modern browsers using progressive enhancement. That is, even if the modern features are not supported by the browser, the user still gets the core experience of a web app. PWAs make use of web-platform features like service workers and manifests to give users an experience on par with native apps.

Some of the features that PWAs offer are:

Progressive Web App

Installable

PWAs allow users to install them through prompts that are either on the browser or implemented by the developer. Once installed, they mimic native apps that are available on home screens, docks, or taskbars. The application opens up as a different window rather than as a tab in a browser and is shown as part of the app switcher, thus tightly integrating it with the platform.

Progressive Web App

Reliable

Speed is crucial to keep the user interested and reduce bounce rates. Google's research shows that an increase in page load times from 1 to 10 seconds leads to a 123% increase in bounce rates. The capability of PWAs to cache resources and load them from the cache greatly increases speed and performance. This not only helps with load times but also helps when the network is slow or there is no network at all. This means even when offline you have access to your favorite application unless network connections are indispensable.

Progressive Web App

Linkable

Being a web application, PWAs can be easily shared using URLs. Anybody with a URL can install a PWA on any platform with a supported browser. This greatly reduces the effort it takes to distribute an app through an app store. Managing versions are made easy too with auto-updates or prompted updates that allow partial updates. With this feature, gone are the days when we had to download entire applications for just a small change in text.

Progressive Web App

Enables Notifications

One of the biggest flexes that native applications had over web applications is the ability to push updates to the user. Though web applications could show notifications, they needed to be running in a window to do so. PWAs have overcome this hurdle through service workers. A service worker is a piece of code that runs in the background even after the web application is closed by the user. This allows the web application to run background tasks and receive notifications. This makes it easy to keep the user engaged even when the application is not running.

Progressive Web App

Secure

PWAs are inherently secure. The service worker, which is the core part of a PWA, is only activated if the connection is secure. If the connection is not established over a secure HTTPS protocol, PWAs behave just like normal web applications.

Though these are some of the main features that PWAs offer, there is much more to them like background sync and hardware communication among others.

How can PWAs impact business?

Most of the features directly or indirectly affect the way users interact with web applications. This in turn drives business decisions. For example, giving a native feel to a web application is made easier with PWA. This allows businesses to ship applications faster while skipping app stores and their complex policies. PWAs while reducing development effort also reduce the associated development cost. Faster loading times give a big boost to customer retention while notification capabilities keep the user engaged.

In terms of data supporting these tall claims, let's take the case of Twitter. Twitter saw a 65% increase in pages per session, 75% more Tweets, and a 20% decrease in bounce rate. Nikkei saw 2.3 times more organic traffic, 58% more subscriptions, and 49% more daily active users. Hulu replaced their platform-specific desktop experience with a Progressive Web App and saw a 27% increase in return visits. As they say, numbers don't lie. PWAs are definitely influencing customer interaction with applications.

How can WaveMaker help?

PWAs combine the native feel of platform-specific applications with the dynamic nature of web applications. But how do we implement all these features? Using vanilla JavaScript and HTML to implement such rich features would take a lot of time and effort. Of course, libraries like Angular and Workbox can help but WaveMaker goes a step further. With the latest 10.9 release, PWA is officially in its beta stage on WaveMaker. All the user has to do is enable an ‘app.pwa.enabled' flag in the profile they use for production. Detailed instructions can be found here.

WaveMaker uses Angular’s built-in support for PWA and throws in a bit of its own magic to enable these features. As soon as the flag is enabled, two of the most prominent features are baked right into the WaveMaker web applications - installability and caching. Notifications are also enabled by default that can be made to work with a few app-specific changes. WaveMaker also allows the user to choose a custom icon for the installable app. What better than having your brand image in your user’s app drawer!

At WaveMaker we realize that continuous improvement and innovation is the path to creating customer satisfaction. As of now, PWA features that are in the beta stage are subject to continuous improvement. The way forward is to enhance features like notifications and to gradually add features dictated by customer interests.

PWAs are here to stay and WaveMaker will help your business embrace the technology with as little code as possible.

Watch this video to know more.

Author’s Bio

Akhil Pillai is a full-stack developer with more than 10 years of experience in software development. He is a technology enthusiast and a polyglot with a soft spot for machine learning. In his free time, he loves to read technical content and listen to music.

Progressive Web App Developer

Low-code is high on learning: A developer's perspective

Low-code is high on learning: A developer’s perspective

Mankind and the systems that it relies on are in a constant state of flux. From the transportation systems we travel in, to the medicines we take, evolution has been a constant phenomenon in human life. If that were not so, we would still be stuck in stone-age. Development tools are no different. From low-level languages like COBOL to high-level languages like Java and Python, coding has evolved to make application development easy. Similarly, IDEs are constantly evolving to make the developer’s life easy. From text editors to GUI-based IDEs to IDEs that even autocomplete your code, development environments have come a long way. Low-code is the next eventual milestone.

Hi! I am Sagar Vemala, from Hyderabad, India and I work for WaveMaker, Inc. After completing my engineering course, I joined WaveMaker as an intern where I was introduced to low-code development and I found the concept of converting ideas into products rapidly; absolutely fascinating! I had an offer in hand to join a reputed technology company as a developer even before I was offered an internship at WaveMaker, but I must say that the internship introduced me to a whole new world of application development and I decided to stay. When I started as a full-time developer at WaveMaker, I was warned by my peers about being labeled as a ‘low-code developer’ but my gut instincts told me that I was making the right decision. Looking back, am glad I stuck to my decision. A low-code developer’s job is not restricted to simple coding, it is an expansive sea of learning, of thinking outside the box and more importantly, it is a job that solves a problem.

In this context, I would like to share my experiences from my journey, clear some misconceptions and present my point of view about my career as a low-code developer. Here are a few pertinent questions that I get asked about low-code:

If it is just drag and drop, then what is there for a developer to do?

I learned Java on notepad++. While it is the best way to learn Java, it is not necessarily the best way to develop faster. Seeing me code on a text editor, my friend introduced my novice self to the Eclipse IDE and it is there that I was introduced to the world of GUI IDEs with cool features like generating import statements, getters, and setters methods automatically.

My ‘world of coding’ just became so much more flexible.

The first time I saw how WaveMaker worked, it was déjà vu--Once again a complicated process had been made so much easier. My life as a developer is made ‘easier’ by WaveMaker. Here is how:

WaveMaker has a real code-behind approach and allows full customization and extension on every level. I consider WaveMaker as an advanced IDE (RAD) which generates open standards-based code following best architectural practices. It offloads monotonous tasks like setting up the project and environment, managing framework, and library upgrades and allows me to focus on the problem at hand. Also, it helps developers by providing configurational code for standard features like multi-language support, security, and scalability. With all that being taken care of by WaveMaker, I can focus on areas where my knowledge and experience are needed, like solving requirements and writing business and integration logic.

By being a low-code developer, am I restricting my learning and knowledge?

Absolutely not! I see myself as a problem solver and not just as a developer. I get to work on so many layers of technologies, right from designing the DB schema to preparing the backend to composing the UI and deploying the app.

In a traditional setup, this would require a large team of dedicated backend and front-end developers working for months to build an app. In today’s world, there is an imminent danger of irrelevance by the time an app is developed. With WaveMaker, a small team does the job in weeks that would traditionally take months and as a plus, I get to dip my toes in every kind of technology.

As development became more agile and the time frame became shorter, I got to work on many applications across different domains. At times, I would digest requirements directly from the client. With total control over development at all layers, I was able to provide accurate estimates. After observing diverse apps getting built, I started to think about another important aspect of development--user experience. This skill that I picked up while using low-code helped me deliver applications even without the help of a business analyst or a user interaction designer. My learning outside just coding, sky-rocketed.

I also got the opportunity to work with DBAs, senior developers, technical team leads, and architects of various enterprises as a WaveMaker SME. All apprehensions about not being ‘technical enough' disappeared after my conversations with them and I believe that I was able to add value to decisions that are agnostic of WaveMaker.

In a nutshell, the horizon of my learning expanded.

If the platform generates most of the code, won't that make developer's learning gloomy and less interesting?

Circling back to the point of learning, let’s elucidate with an example. Let’s say, a ‘traditional’ JavaScript developer has just started learning Angular. If the said person follows the documentation of a ‘to-do’ app and merely replicates the steps without understanding the intricacies of how Angular is helping, will the person be able to actually ‘learn’ and contribute to projects? No, right? The same logic applies here as well. There is learning in any sphere of creation. Developers who aspire to work with WaveMaker low-code need to use or will learn the below-mentioned skills to understand WaveMaker generated code and make the best use of it.

As a low-code developer, am I stuck? What is the future of a low-code developer?

I strongly believe that low-code may not be a hammer for every nail but is a necessary tool in the developer kit. Enterprises have and will adopt this methodology into their practices for years to come. Digital transformation has become ubiquitous with every enterprise and if an enterprise is looking at ways to create safe, scalable, and modern products with faster go-to-market, low-code is a safe bet. According to Gartner, the low-code development market is predicted to reach a worldwide total of $13.8 billion in 2021. In fact, the demand for low-code developers has been rising exponentially.

After having worked for WaveMaker for more than 5 years, I find myself with an abundance of choice and skills. I have the skills and knowledge to go the full-stack way, I can lead teams of low-code developers, I can be a solution architect, or I can choose to use low-code for hybrid development. There is a myriad of opportunities and options available. You only have to choose.

Finally, I think I chose the road less taken, even though opinions around me were not as positive about low-code, as they are today, I feel I made an interesting choice that fueled a unique career for me, and that has made all the difference.

Author’s Bio

Sagar Vemala has been with WaveMaker since 2015 and has implemented several customer projects as part of the professional services team. He has built a variety of API-driven applications in workforce planning, inventory management, finance and insurance. If you are developing an application and plan to use low-code, Sagar can share best practices using WaveMaker. Write to him at info@wavemaker.com

Customers don’t love banks. They love banking apps.

Tech-savvy users are swiping left aggressively and swiping right selectively. No, we are not talking about dating apps. We are talking about how quickly the customers of today are changing their banking preferences. Loyalty is a fickle emotion. As Jeffrey Gitomer says “You don't earn loyalty in a day. You earn loyalty day-by-day", by responding to the customer's needs every single day. Otherwise, they just move on.

How responsive banks are to the changing needs of the customer will now decide their longevity. Or else, it’s a swipe left for sure.

With so much at stake, what can banks do to retain their customer’s loyalty?

Going digital is an obvious answer, but then everyone is doing it. Every bank of repute has a digital face--some, more advanced than others. What spruces up the relationship between the customer and the banking app is the customer journey. It is all about how the relationship started and how it sustains--the qualities that keep the customer engaged, the features that make a banking app sticky. So what are the features in a banking application that entices customers, and how does the WaveMaker low-code platform help?

  • Intuitive interfaces
    Clean and intuitive interfaces that keep screens simple but engaging to use, top-grade UI widgets that help create this clean look should be integrated into the low-code platform that aids this kind of interaction. WaveMaker has a plethora of widgets with diverse themes and styles that can be further customized per customer needs.
  • Account information at a glance
    Accessing account information need not be a cumbersome process involving multiple authentications. Modern banking systems allow their customers to view their account information with just Touch ID or Face ID without having to log in using a password. WaveMaker low-code allows developers to interface with external biometric components by providing customized abstractions over the APIs.
  • Corporate and Personal bank accounts management
    A single app should be able to handle multiple associated accounts, link to third-party offers, offer rewards like cash backs, and provide intelligent and relevant offers. The WaveMaker low-code platform allows the creation of prefabs or reusable software components customized to the banks’ requirements enabling composable banking and bringing in value addition to the application.
  • Virtual smart cards management
    Physical credit cards are passe. Virtual cards are in. Modern banking apps allow the creation of virtual cards within the application within minutes. Customers can transfer funds in and out of the cards and perform transactions all within the context of the application. Virtual card management prefabs within the WaveMaker low-code platform allow developers to just pull in the prefab and customize it according to their requirements with just a few changes.
  • Visualization of data
    Customers should be able to see their information in one place. It is not just what information they see but what inferences that they can draw--spend analysis, expense management, ways to improve credit score--a real-time visual dashboard. WaveMaker facilitates these visualizations where developers can access data from all modern data sources and integrate them with relevant UI abstractions with just a few steps.
  • And……….
    Interlinked payment gateways, QR code scanners, OCRs, loan applications made easy, instant digital KYC, added conditional authentication, currency converters, instant loans, multi-device support, mobile photo bills, wearables and so on.

Though a banking application may not necessarily be composed of all of the above, it should at the very least be provided compatible platforms that enable the development of these features leading to the creation of a composable banking app. So the question one may ask is, does WaveMaker as a low-code platform support the integration of these features into a composable banking app?

The answer is a resounding yes!

A developer working on WaveMaker can take two approaches:

One, use the built-in prefabs to quickly conjure up a banking-specific component.
Two, integrate third-party banking components into the application.

This is helped by two factors:

  • One that Wavemaker has an exhaustive repository of reusable components (also an evolving list of customizable banking components)
  • Two, WaveMaker is an API-first development platform that allows the integration of third-party components easily

WaveMaker allows seamless collaboration of ecosystem partners with ease--the foundation of a composable banking architecture. It helps banks, BaaS players, fintech, and ISVs respond to what customers ask for--modern experiences, intuitive interfaces with stunning visual components, security, smooth onboarding, and device-agnostic feature-rich applications. WaveMaker with its API-first approach, prefabs, support for all major databases, and vault-like security with VeracodeTM certified code has all the qualities to broker a long-lasting partnership with the bank and the customer with agility.

Banks can expand the reuse of legacy core banking, offer services to brands as a BaaS player, or launch greenfield initiatives; with WaveMaker, the possibilities are endless.

So, this time when the user swipes right, banks can swipe right back at them!

*Watch this space for our next article on our banking software components

Low-code development and BaaS APIs: is this embedded finance’s hockey stick moment?

By Vikram Srivats, Vice President, WaveMaker

Enough has been said and written about the effect of the pandemic in hyper-accelerating the shift to digital – for enterprises and consumers alike. This is one widely accepted fact we can note and move on from.

The combination of low-code development and BaaS APIs are enabling more companies than ever to add banking services to existing apps and products

However, another rising wave has been afoot for a few years now – something that Bain Capital Ventures (BCV) thinks is far greater than the Internet, Cloud, and Mobile combined (yes, you read that right) – with a projected market value of $3.6 trillion by 2030. BCV heralds this wave as the Fourth Platform: financial services in an embedded (or integrated) form within technology-driven businesses.

Andreesen-Horowitz (a16z) and CB Insights talk about this being the banking industry’s “AWS moment”, with new Banking-as-a-Service (BaaS) players offering all (or parts of) the banking stack as-a-service for a new crop of fintech and tech-driven brands. a16z further predicts that every company will become a fintech company – embedding finance across digital and traditional brands – by leveraging offerings from BaaS providers.

Embedded finance and BaaS are two sides of the same coin. Brands and fintech offer embedded financial services to consumers and businesses while BaaS providers are the suppliers and enablers for those brands and fintech.

Two trends collide to form one massive opportunity

With the pandemic driving a tectonic shift to online, virtual, and instant gratification, embedded finance allows brands and disruptive new financial products to gain and delight customers, increase share-of-wallet and create stickiness. From a customer standpoint, the financial experience is in the moment, contextual and seamless within the brand experience – to the extent that the finance is almost invisible.

For example, think of Apple – which now offers a credit card backed by Goldman Sachs – or Shopify – going above and beyond by offering embedded payments, balance accounts, and loans to aspiring e-commerce businesses. With the likes of Amazon, Google, Doordash, Chime and Affirm, the list of embedded finance and BaaS-powered use cases and players is growing rapidly.

This growth is primarily fueled by a whole slew of capable BaaS players – Synapse, Treasury Prime, Stripe, Marqeta, Bond, Finastra, Railsbank, Solarisbank, Unit, Galileo, BBVA Open Platform, GPS, and many more – offering differentiated and compelling technical and financial propositions. These BaaS players in turn have partnerships with one or more banks and offer APIs (sometimes a single API) for a brand or fintech customer to call and access the offered financial service via the API.

In a way, things have come full circle – from the software powering financial services (core and engagement platforms) at FIs, we now have banking subsumed into software and offered via APIs.

BaaS APIs are becoming the new currency in the world of financial services

With this BaaS revolution going on in the background, the low-code market has grown exponentially, with more than 100 platform providers – with different specializations – competing for market share. 

Microsoft, Mendix, OutSystems, and ServiceNow are some of the leading players while there are specialist challenger firms more focused on specific personas (professional developers, citizen developers, and business process users) and target areas (apps, workflow, automation, analytics, and so on).

To say that low-code adoption was propelled further by the pandemic is an understatement. Whether for businesses urgently wanting to digitally transform or for more advanced corporations, low-code has comfortably hit its stride as a new paradigm in software development.

Now, with over 2,000 fintech launched in 2019, the rise and maturity of BaaS offerings and differentiated embedded finance use cases/opportunities, and a world where APIs rule, developers are now the first customers of the banking and financial services capability stack.

Brands and fintech, banks and third-party software developers, independent software vendors, and system integrators need to find, attract, hire, train, mentor, motivate, manage and drive world-class development teams to deliver business outcomes.

They must do all this in the face of non-trivial challenges:

  • Talent wars in a field of wider opportunities as business lines blur and career options abound for software developers.
  • Walking the fine line between investing to build a truly high-quality product that customers will love, yet balancing cash burn and ROI.
  • Navigate a web of technology choices for every aspect of the tech stack, including most importantly, the BaaS vendor stack itself.
  • Be prepared to execute quickly – and pivot on a dime – to get ahead of the market in an extremely competitive, dynamic, and fast-paced environment.

A breed of developer-friendly, open, API-driven, modern, enterprise-grade low-code platforms could be the answer. Here is how:

  • Serious B2C and B2B2C digital experiences at the speed of change – delivered using visual full-stack development with pre-existing widgets, themes, styles, and layouts – while still playing well with existing assets, best practices, and architectural choices.
  • Significantly cut development (specifically UI) cost by reuse – Lego-like composable experience development by dragging and dropping custom-built, rich multi-API widgets – “prefabs” – that combine powerful functionality, pixel-perfect UI, and data.
  • Democratized and collaborative development – Citizen developers build out experiences based on user journeys and hand them to pros to make apps “enterprise-compliant”; or in a B2B2C context, expert developers build out the core app which is then extended and customized by less-skilled professional services teams.
  • Deliver on tough innovation problems – convert teams to full-stack development, become agnostic to tech stack changes, handle custom UI demands through app lifecycle, move B2B customers to a self-serve model, and more.
  • Peace of mind guaranteed – apps built are performant and secure, the tech stack is modern and future-proof, deploy anywhere without lock-in, generated code is “real” code that can be exported and extended (as an insurance policy), easily available, low-cost skills for writing custom extensions, no price tag for scaling up apps/app objects/app end users and such like.

In 2020, Microsoft cited research predicting that more than 500 million new apps will be built in the next five years, which is more than the total number of apps built in the last 40 years, even as companies struggle to find software developers. According to KPMG, despite the overall market softness in H1 2020, H2 rebounded and saw almost $72 billion in fintech investment (across PE, VC, and M&A deals). Klarna, Revolut, and Chime raised mega rounds north of $500 million each. KPMG goes on to predict that embedded finance will emerge as the *new North Star* in fintech.

Low-code development layered on BaaS APIs may be embedded finance’s hockey stick moment

Embedded fintech and low-code development are massive scale markets in their own right. The next 1,000 or 10,000 fintech, FIs, and brands that deliver embedded financial services will need to be laser-focused on their customers and business to compete and win. Agility, automation, and reuse will underpin composable enterprises and personalized experiences, and modern, powerful low-code platforms already are delivering complex, compelling and contextual experiences for discerning development and business teams globally.

To further explore banking solutions by WaveMaker, please view our exclusive BFSI offerings here.

Or, start a conversation with our expert consultants for solutions to your unique requirements.

Originally published in Fintech Futures

WaveMaker v10.8.0 is out!

Team access to artifact repository, improved workflows for artifact publishing, prefabs versioning, and more

WaveMaker 10.8 brings capabilities and features that harness the power of artifacts and prefabs on the WaveMaker low-code platform--especially for teams. Prefabs are custom widgets that can be reused across projects within a team. With this release, the platform consolidates its strength on prebuilt software components by making collaboration across teams faster and easier to manage.

WaveMaker continues to enable enterprise IT teams, ISVs, and all stakeholders to co-create value faster and better with low-code.

Teams - Together and Transparent

Artifacts in Teams

Artifacts are reusable components that can be developed and maintained independently. Various components such as prefabs, project shells, template bundles, and themes come under the umbrella of artifacts on the WaveMaker low-code platform. V10.8 allows the sharing of a central repository of artifacts in teams promoting collaboration between team members.

Team members can view a list of all available artifacts providing clear visibility. Developers have complete access to the repository of available components and are free to choose the artifact version that suits their requirements best. This in turn makes activities such as documentation, maintaining change logs, and version control of artifacts a seamless process.

A new and improved flow

Artifact approval

With 10.8, developers creating and using artifacts across teams and projects can manage their workflows seamlessly. Consider a scenario where a developer publishes an artifact and waits for approval from the team admin. The admin can then review the artifact on the team portal and approve the same, making it accessible for all developers to use or reject it and send it back with changes.

Not just that, the same prefab or artifact can be versioned multiple times with each version visible to all team members. Developers can search and view available prefabs under projects, teams, or system prefabs and import specific versions into the projects.

One component, different forms

Support for specific prefab versions

Different projects can use different versions of the same prefab with a scope for upgrading. Developers can choose versions that suit their requirements with the help of changelogs and get real-time notifications of newer versions. Minor patch updates on prefabs can be published independently using branch support. Development teams can update patches and upgrades seamlessly without disrupting the existing environment and projects.

For ISVs, having access to the latest versions of artifacts is of great value. This allows for both forward and backward compatibility with respect to prefabs with minimum disruption. With every new update, WaveMaker continues to bring developers together, fostering collaboration, and helping them build powerful applications.

To know more about WaveMaker 10.8.0, please read the release notes here.

Leveraging low-code for API-driven development

Create, publish and consume APIs effortlessly with WaveMaker low-code platform

Digital transformation is no longer a buzzword. It has become a way of life for enterprises that want to stay in business. In the current post-pandemic era, business maturity is being evaluated in terms of digital maturity. The road to digital adoption has many emerging technologies in force but working silently behind the scenes and aiding this rapid acceleration, is the unseen ‘super glue’ of all business services - Application Programming Interfaces (API). Technically, APIs have been around for two decades at different levels of operability but it is only in recent years that there has been an explosion of sorts in the usage of APIs.

The demand for multichannel experiences and the everything-on-cloud approach has accelerated the use of APIs. Whether it be composable architecture or microservices, APIs enable the kind of business collaborations that were unheard of before. The partnering of transportation services with a bank, retail shops with payment apps, and banks offering investment opportunities, loans, currency transactions, and payment services on an e-commerce platform have all been made possible by the growth of APIs. Similarly, offloading certain business tasks to ecosystem partners and liberating internal services from silos has been fueled by the synergy between APIs.

API-driven development

API-driven development is the practice of designing and building the API contract first and then developing the application around the contract. Also, known as the API-first approach, this paradigm involves the front-end developers building mocks around APIs and creating refined end-user experiences. In parallel, the back-end developers implement the underlying logic of the APIs.

Dedicated test suites are created around these APIs and, in a way, they foster the idea of test-driven development. In an API lifecycle, the API Publisher designs and deploys the API whereas the API Consumer discovers and integrates the APIs. Each of these roles has multiple functions associated with them and those functions define the characteristics of the API.

API Management with WaveMaker low-code platform

WaveMaker is an open standards-based, developer-centric low-code platform built for modern development practices. The platform enables app developers to play the role of an API Publisher and API consumer. The platform has a natively integrated component called the API Designer which is used to ease the process of designing, creating, and consuming APIs.

  • API- first approach: With WaveMaker, a REST API is generated automatically for every service that is imported. These APIs are available for consumption as well as modification through the API designer that can be used for:
  1. Exploring the various APIs generated by the platform
  2. Testing the APIs 
  3. Customizing APIs generated by Java services
  • API GeneratorWaveMaker generates standards-based REST annotations for the above services which can be consumed by API tools for generating documentation using the API generator. The design of these auto-generated REST APIs can be updated further by configuring their description, visibility, method types, and parameter types.
  • Open APIs: The platform generates core REST APIs endpoints using Swagger/Open API compliant contracts for database services, Java services, web services, custom code business logic, or even third-party imports. It also to generates UI functionality for Create, Read, Update, Delete (CRUD) operations for REST APIs which conform to Open API specifications. Integrating an existing REST endpoint with any of the 100+ UI widgets offered by WaveMaker is also straightforward without writing a single line of code. Open API helps WaveMaker apps consume other WaveMaker APIs enabling applications within an enterprise to talk to each other.
  • API Security & TestingSecurity is auto-enabled for an application that can be viewed in the API designer. API security is ensured by securing it with role-based access within the enterprise. API endpoints are also OAuth protected. Once the REST APIs are defined successfully, they can be tested with the “Test” tab. On successful testing, APIs are published along with the applications.
  • Legacy APIs: APIs are invariably REST-based but there remain big remnants of legacy SOAP-based APIs. WaveMaker automatically creates a REST API endpoint for the SOAP services that are imported into an application thus enabling the reuse and modernization of legacy technologies.

WaveMaker offers an API-driven development platform with:

developer-friendly low-code platform abstracts the complexities of API management and provides UI-based connectors to work on the endpoints without having to hand-code. WaveMaker scores high on effortless API creation and management with an API-driven approach and an in-built API designer. The platform’s inbuilt adherence to the rules of the API game and its innate ability to convert any service as an API makes the job of all stakeholders so much easier.

APIs have become an inherent part of software building. Programmableweb (API directory) had a listing of mere 54 APIs in 2005. Today there are close to 24000 APIs listed there, and this is excluding the internal enterprise-level APIs and the ones that haven’t been made discoverable yet. Fuelling this expansion are tools and platforms that help us design, manage, test, produce, and consume APIs. Rapidly, easily and securely.

Composable architecture with WaveMaker low-code

Imagine your enterprise architecture, not as a collection of disparate business processes with some loosely defined interdependencies, but as a neatly fit, well composed, well maintained, synchronized set of autonomous and API-driven Packaged Business Capabilities (PBC). Each process fitting into another like a well-thought-out jigsaw puzzle. What’s more, the scope for adding more such processes is unlimited and the pieces to the puzzle are interchangeable. Such a modular architecture makes it possible for each of these PBCs to have separate life cycles of its own which can then be deployed, tested, and reused causing minimum disruption.

composable-architecture

If this visualization evokes your interest, welcome to the world of  ‘composable architecture’.

PBCs are in fact, products by themselves either built in-house or by SaaS vendors or best of breed application factories. According to Gartner, by 2023, 30% of applications will be sold as PBCs.

Why compose?

A composable approach to application development helps businesses deliver the needed solutions at the pace of modern business change. - Louis Vistola, Devops.com

CIOs are using composability to tackle disruptions - pandemics, natural disasters, market fluctuations, and changing customer needs. Composable architecture brings several benefits to the composable enterprise concept, specifically the agility and innovation to respond to changing business needs. It reduces the need to build configurability reducing complexity and thereby reducing the QA cycles. Other than the possibility of unlimited scaling, it also focuses on shortening the gap between IT and business, bringing deep personalizations based on roles, and the ability to build new business models.

Role of low-code platforms in the
journey to being composable

As organizations move towards digital transformation, the low code plus composable combination offers maximum flexibility, delivering value at greater speed. - Elizabeth Wallace, RTInsights.com

Low-code is built on the premise of visually composing applications and services with the help of built-in components. Therefore, a low-code platform like WaveMaker becomes a plausible choice for the rapid development and integration of PBCs. However, where, in the journey of building a composable architecture does a low code platform play its part?

Depending on the size and affordability of the enterprise, a low-code platform can don many hats.

  • Use it to build new PBCs
  • Democratize application development
  • Increase collaboration with IT and business users
  • Use it as a business capability development tool
  • Define new user experiences and customize your applications
  • Utilize low-code as an aggregator/ integrator of various PBCs
  • Provide a visual abstraction over complex API calls

The list is exhaustive.

A low-code development platform like WaveMaker comes with an innate plug and play approach, and can do a lot of heavy lifting for an organization looking at composability. Let’s see how.

API-driven approach: The API Designer

Application Programming Interface (API) management market size is set to
grow from USD 1.2 billion in 2018 to USD 5.1 billion by 2023

Application Programming Interfaces(APIs) are the catalysts in creating a well-composed architecture. PBCs expose their functionalities using APIs. When all processes within an enterprise are API-enabled, developers and business collaborators can access them seamlessly to suit their needs resulting in faster delivery and increased composability. All communication across enterprise applications is streamlined with the help of APIs.

WaveMaker enables an API-driven app development approach. The platform extends its capabilities beyond just publishing, wrapping, and sharing APIs within the enterprise, by also enabling partners and third-party developers to consume APIs vital to their business. Representational State Transfer(REST) APIs are autogenerated for any application that is created on the WaveMaker low-code platform. For every service that is imported on the platform whether it be database, Java, SOAP, or a third-party service, an API is auto-generated. This enables easy composability of critical services like databases and third-party functionalities into the application canvas and the larger ecosystem of applications. The platform has a feature called ‘API designer’ where all APIs available to the application can be viewed, tested, and customized.

Wavemaker is also OpenAPI Specification 2.0 (OAS) compliant and extends the functionality of OpenAPIs by integrating REST endpoints in a Web/Mobile application. Once a REST endpoint is generated, it can be easily integrated with any of the 100+ UI widgets available on the platform without the hassles of hand-coding. What’s more, applications within the enterprise can talk to each other.

All platform-generated APIs deliver enterprise-grade security, OAuth capabilities, and users are provided with fine-grained control over the usage of APIs.

Reusable software components: Prefabs

Within the WaveMaker studio, “Prefabs” are customizable, reusable, distributable, components/widgets that help in accelerating digital app development. ‘Prefabs’ are the building blocks that enable composable architecture through WaveMaker. These groups of components are gathered in the Design-Toolbox within the WaveMaker Studio. More than 100 prefabs covering a wide range of features cater to different use cases throughout the product. Every enterprise customer owns an artifact repository of components that can be as granular as a UI widget or an entire workflow such as a Loan application microapp.

Similar to an application, prefabs have their own development cycle - a prefab is developed, tested, and deployed independently. Additionally, it can be retrofitted to suit varying business scenarios and repurposed. In fusion teams, Prefabs can be created by developers and can be consumed by non-developers (business users and citizen developers) to exponentially accelerate development. WaveMaker users can just gather (drag and drop) the necessary prefabs from the enterprise repository and then compose an entirely new application with the centralized built-in module.

You can find a detailed article on prefabs here.

Microservices

“The golden rule: can you make a change to a service and deploy it by itself without changing
anything else?” - Sam Newman, Building Microservices

Microservices are known for their composability, but are microservices akin to PBCs? A PBC is composed of several microservices and in some cases, a microservice can act as a PBC providing a tangible business capability. Therefore, the ability to support microservices is a crucial tenet for a low-code application development platform that enables composable architecture.

Since REST APIs are auto-generated in WaveMaker, Microservices are inherently supported. Some of these APIs are available for further customization based on the app integration needs and as Sam Newmann says, the primary benefit of using microservices is that you can change and deploy a service with minimum disruption - An important principle when it comes to composability.

Integration of features and modules happens more often at the customer experience layer. Micro Frontends, in the microservices world, is a scalable design practice that enables users to produce composable independent modules which can serve in building a new app or progressively integrate features to an existing app. WaveMaker is the only low-code platform to support Micro Frontend modules extending rapid development benefits to Micro Frontend development. It adopts the runtime integration approach for Micro Frontends & works with the Single-spa framework.

WaveMaker also enables seamless deployment of business services into the choice of infrastructure. Enabling business services as individually versioned microservices makes the entire CI/CD process effortless leading to what we call Zero DevOps.

Low-code platforms and composable architecture share a symbiotic relationship. They have shared goals namely agility, velocity, collaboration, and the ability to build powerful applications that can be plugged into the enterprise ecosystem without disruption. Technical tools and platforms that allow enterprises to pivot and adapt rapidly are the need of the hour. Composable architecture requires the ability to utilize several modern technologies such as API enablement, reusable software components, support for REST and SOAP services, modern CI/CD technologies combined with microservices (Kubernetes), multi-cloud enablement, and data protection.

WaveMaker is an open low-code platform that delivers all these and more.

Plug and Play with Prefabs

Enabling composable architecture with custom-built software components

In WaveMaker, ‘Prefabs’ are customizable widgets that enable composable architecture. They are reusable, distributable, and independently testable micro applications that can be dragged and dropped into any WaveMaker project. They cover a wide landscape of operations and are present in the enterprise repository of every customer. As of now, the WaveMaker studio contains more than 100 different prefabs ready to be plugged into any application canvas of choice.

Prefabs can be rendered for diversely different business scenarios and can be reused by multiple teams within an enterprise. They can emulate commonly used components like ‘Location Indicator’ or can even abstract independent business workflows like ‘Account Management. Prefabs are ideal for blended teams consisting of business users and IT developers within the enterprise

Composable architecture through prefabs

Composable architecture is the ability to create applications with prebuilt software components. It is akin to creating a Lego model. Similar to the model, software components interlock with each other to create a larger artifact – the application. Just like a model, a singular component can be removed, repurposed, or fit elsewhere to suit the changing needs. What’s more, new blocks(read components) can be added to the model to make it larger and stronger. Prefabs are the Lego ‘building blocks’ of the WaveMaker platform. These components could be as fine-grained as a ‘list box’ or as macro as an entire workflow. What’s important is that these various components can be easily placed into the application canvas with seamless synchronization. Simply put, the components can talk to the application. Prefabs are not just abstractions in UI format, they are also components with characteristics and behavior. One that can be easily integrated with the help of exposed methods and events. This plug-and-play model of orchestration is made possible by their respective REST APIs. During application deployment, WaveMaker resolves all prefab dependencies and deploys the app as one single component onto a Docker container. As the application expands, further prefabs can be added to the canvas ensuring scalability and flexibility.

Easy API consumption

Prefabs can be effectively used to talk to complex API calls. This can be done by abstracting these calls with a UI layer in the form of a prefab. A business user then can simply drag and drop the prefab into their WaveMaker project and set custom properties to suit their application. Their behavior is invoked by the associated events or method calls. From OAuth APIs to third-party widgets, prefabs come to the rescue by encapsulating the complexity in a UI shell.

Prefab repositories

Developers can create custom component repositories solely for use in a single application (application repository). Additionally, an enterprise can create a custom prefabs repository, one that contains software components customized to their brand. Independent contributors can even publish prefabs to the general repository of the platform that can be reused across enterprises.

Third-party Widgets

Third-party widgets can be repurposed as prefabs on the WaveMaker platform. This can be done easily by just importing the widget-specific files to the platform and then abstracting it with a UI element to create a completely new component. They can further leverage the extended features of the external widgets to customize it even further. Popular prefabs like YouTube, GoogleMaps, Docusign, and QRCode ship with WaveMaker. Additionally, OAuth services for Facebook, LinkedIn, Instagram are rendered through prefabs on the WaveMaker platform. A similar repository for WaveMaker Online is currently being developed.

A multitude of benefits follows the usage of prefabs. Reusability, encapsulation of functionality, scalability, speed of composition, building blocks of composable architecture, and consistent quality are some of the given advantages. WaveMaker customers, especially ISVs and core software builders use prefabs for easy customization and faster implementations.

In the banking & financial software world, prefabs can be domain-specific and an extremely crucial asset to deliver differentiated brand experiences to banking customers. For instance, general workflows such as loan repayment, account management, transaction management, and user management can be developed as prefabs in the enterprise repository which can then be retrofitted into custom banking solutions.

At WaveMaker, we understand the dynamics of the market in terms of the need for speed and differentiated brand experiences. Prefabs enable composable architecture, faster go-to-market, and hyper customization to empower core software builders developing modern applications and platforms.

You can find a detailed guide to prefabs here.

The future of low-code
is open

By Mayur Shah, Senior Director – Product Management, WaveMaker

The low-code market is seeing meteoric rise across the world, as companies try to keep up with digitization demands and shrinking IT budgets. Even as we witness increasing low-code adoption among professional as well as citizen developers, an intriguing question comes to mind – What lies ahead for low-code, and could it ever become a mainstream approach for modern development teams?

The answer may well be an open source, low-code platform that offers high productivity, while supporting seamless integration with the overall fabric of modern software development practices within an enterprise.

It’s feasible to assume that low-code will evolve to become open low-code, resulting in greater innovation and agility.

To further understand what this means, let’s dive deeper. What are open systems?

According to Wikipedia, open systems are computer systems that provide some combination of interoperability, portability and open software standards.

Over the years, the software industry has seen great benefits from designing, implementing and consuming open systems. TCP/IP protocol standards, UNIX systems, Web browsers, REST APIs – all of these are shining examples of open standards that went on to become highly successful and widely adopted. By remaining open, they enabled higher interoperability, streamlined development and fostered rapid innovation.

Low-code is now at a critical stage in its adoption curve. For the last few years, we have seen citizen developers successfully execute shadow IT with low-code and churn out applications at a breathtaking pace. Today, low-code platforms are hardened for enterprise use, are programmed to understand the scalability and security needs of a complex application and have integration capabilities mature enough to seamlessly fit in with existing tools and technologies. As a result, we are now seeing greater adoption of low-code within the professional development community, covering a diverse set of use cases from simple dashboards to complex applications. The natural next evolution of low-code is that it becomes mainstream within enterprise IT, and is used to build mission-critical applications and systems. So, how does this next phase play out for application development?

The Case For an Open Low-Code Platform

The approaches and techniques of modern software development teams has changed dramatically to meet the demands of modern, software-enabled business. Developer velocity and organizational agility have become key benchmarks for high performing software development teams, as those metrics have a direct correlation with software excellence and superior business performance. According to a research report by McKinsey, teams that belong to the top quartile with regards to developer velocity score have 60% higher total shareholder returns and 20% higher operating margins. Such teams can experiment faster and release code to production without delays.

As application teams continue to embrace low-code for mainstream development, it is vital that low-code platforms support developers so they are encouraged to employ modern application development and delivery best practices. Low-code should introduce minimal disruptions to a developer’s working practices and workflow. Also, it is important that low-code can integrate seamlessly with the fabric of the overall enterprise application architecture. This can happen if a low-code-platform is open standards-based and flexible so that the rest of the enterprise application infrastructure can coexist with it.

What Makes a Low-Code Platform Open?

Developer-Centric Features

Developers like control, flexibility and a unified experience. They find comfort in sticking to their preferred languages, tools and application development and delivery workflows. A low-code platform that offers productivity with equal flexibility, with a focus on building robust enterprise architecture, is bound to be the future of application development. Platforms should focus on providing a unified developer experience across concept, design, integration, development and deployment stages of the app life cycle, employing a technology stack that is modern, best-of-breed and cloud-native. It’s equally important to provide a way for developers to easily bring any external innovations into the low-code platform.

Visualization, Customization and Ownership

Many low-code platforms do not generate 100% of an application’s code. Also, most of the code generated by proprietary platforms is also proprietary, and quite often remains hidden and not easily accessible or extensible. A platform that generates open standards-based, real code is a great asset, especially for professional developers building complex applications that require extensive customization and deep integration with enterprise tooling (security, testing, debugging, integration etc.). The code generated should be based on developer-friendly, best-of-breed application stacks and standard design patterns. This way, application teams will have complete familiarity with and understanding of the code. Enabling full export of the code allows teams to own the code created by the platform.

Flexible Application Architecture

The application architecture should be loosely coupled, supporting microservices and micro front ends that can be independently built, deployed and scaled. This way, architecture can support cloud-native application development easily. Also, all other aspects of the application life cycle should allow for plug-and-play capability. This includes, but is not limited to, plugging in custom UI components (widgets, templates), custom security providers, custom back end code, logging frameworks, event driven systems, etc. A plug-and-play model ensures that development teams can integrate custom providers that are fine-tuned for the enterprise.

Modern Development Best Practices

Modern application development practices have evolved to allow teams to experiment faster and release code to production at a never-seen-before pace. Optimizations in performance and scalability have resulted in applications that can support millions of end users. As developers warm up to low-code, the platforms should align with and implement all modern development practices while building applications. The idea is to minimize friction in a developer’s journey towards low-code, so that they continue to leverage the same design principles, application tooling and enterprise integrations as they do in the complex programming world.

Infrastructure-as-Code (IaC)

Developers need a way to continuously deploy software so there is always a version of the application ready for production. Low-code platforms should support an IaC option, so code generated is always deployable seamlessly on the developer’s infrastructure of choice. Platform should integrate to build, test and release systems (version control systems, CI/CD, artifact repos, container image repos, Kubernetes clusters and public or private cloud instances, for example). This way, artifacts built by low-code are continuously integrated and deployed to the enterprise’s operational systems.

Low-code is at an inflection point within enterprises, as it becomes the platform of choice for digital transformation and application modernization. This is the opportunity for low-code platforms to become a key ingredient of an enterprise application architecture. An open low-code approach will allow application development teams to benefit from the underlying best practices prevalent within the organization.

Low-code is not merely a productivity tool; it has the potential to be a technological and cultural catalyst that drives enterprise innovation and business agility.

Originally published in DevOps.com

Java Spring Boot, Microservices, and low-code – A formidable mix

“Because they are so long-lived, atoms really get around” says Bill Bryson in his book, ‘A Short History Of Nearly Everything.’

programmer from the 90s could say the same about ‘Java’.

Ubiquitous in its presence for nearly a quarter of a century, Java's journey is one of many milestones. From its inception in 1995 as an unopposed ‘internet programming language' to the' de facto standard for Microservices' today, Java has evolved to become an all-pervasive technology. Name any major product, and Java is behind the scenes. Google, LinkedIn, Uber, Netflix, Spotify – all have been built by Java. From mobile applications to desktop, embedded systems to web servers, scientific to business applications, there is a bit of Java in everything.

The same could be said about Java-backed architectures. Microservices is one such architecture of repertoire. Departing from complex monolithic systems, microservices are based on providing functionality in the form of decoupled services. These independently deployable services are in turn developed and maintained by small teams. The result is a framework based on independent but collaborating functionalities. Reusability, testability, maintainability, scalability, and easy deployment are key benefits of a well-defined microservice.

The Java ecosystem has well-established frameworks for developing microservices. Microservices demand modularized architecture and a lightweight messaging system for data exchange. Something that Java can provide easily.

Java’s foray into the world of microservices or to put things into perspective, microservices’ consolidation as an architecture of significance rose with the advent of Java Spring boot, Jersey, and Swagger.

Spring Boot- “Loose coupling and Tight cohesion”

Of the three, Spring Boot rules the roost when it comes to creating decoupled, independent, and interactive services. It helps in developing services rapidly because it follows a convention-based programming paradigm rather than a configuration-based one. Its purpose-built features make it easy to build and run microservices at scale. Coupled with Java Spring Cloud, administration and testing of applications becomes easier. Applications can start small and then iterate faster to scale up, that too on multiple platforms with reduced cost- One of the reasons why Java Spring Boot is considered the de facto standard for microservices.

Java Spring Boot has matured over the years. Being an Open-Source framework it is backed by a large community resulting in an extensive array of readily available expertise in Spring and all its components.

While we talk about Spring Boot and its natural fit in microservices, let’s talk about another enabler in terms of microservices – Low-code platforms.

Low-code platforms and microservices – An intersection.

Abstraction- A common goal for both low-code and microservices. How does a low-code platform aid in simplifying a complex solution?

While the services themselves aim to be simple, the architecture and interactions in a microservice can be complex. Low-code can help simplify these complexities. Low-code platforms such as WaveMaker can effectively model microservices by providing front-end visualization to the back-end complexity. In some cases, low-code can be used to add a layer of abstraction on top of the enterprise microservices to provide end-users with a clean interface. In other scenarios, it can act as an orchestrator between services created with different platforms. A low-code aimed at professional developers may also allow them to write custom code for services.

Continuous delivery, unwavering stability, and unhindered scalability form the ethos of microservices. Java Low-Code platforms enabled by Spring Boot offer these key advantages in the world of microservices. Let’s see how.

WaveMaker – Low on Code, High on Java

Aimed at professional developers, WaveMaker is a powerful, enterprise-grade Java low-code platform. Built on the foundation of sound Java pedigree, WaveMaker was launched as a multi-tenant cloud edition in 2015 by a team of middleware experts. WaveMaker uses a proven open standard stack – Java Spring, Bootstrap, Angular, and Docker to enable app development on the cloud.

It offers flexibility and speed with component-based microservices and auto containerized deployments to the cloud. The platform allows for one-click API creation, where microservices are auto-created and developers can use existing database logic and reuse existing Java code in IDE’s of their choice.

These APIs enable developers to write business logic or integrate with third-party libraries. How are these APIs generated?

For every Java Service created in WaveMaker, its REST API contract is auto-generated and is available for integration with the front end. But the developer only has to use the unique ‘API Designer' present in WaveMaker. This API designer helps create custom API with auto-generated API endpoints. WaveMaker then uses the concept of ‘Variables' to interact with the REST API layer to access the services.

All this while, the structure oiling the machinery is the Java Spring Framework. In fact, in WaveMaker, the Services Layer is auto-generated using Spring. Custom queries, procedures, and Java Services can further be used to extend the app functionality.

Scalability is another factor that WaveMaker caters to in the form of ‘Spring Sessions’. Since WaveMaker generates open standards code based on Spring for the back end, horizontal scaling for applications can be achieved using Spring Session Module. Java Spring best practices are ingrained into WaveMaker.

Built with Java and used by professional developers, WaveMaker is a common intersection point between Low-Code, Java Spring Framework, and Microservices. As Java continues to evolve and grow, WaveMaker follows a similar path emulating its success.

WaveMaker 10.7.0
What’s New?

WaveMaker v10.7 is here!

In this release, you will find capabilities and features that aim to empower professional developers to build complex and scalable applications using low-code. As always, WaveMaker aligns itself with the latest technology stack and industry best practices for modern software delivery.

With v10.7, WaveMaker continues to enable enterprise IT teams and ISVs to build faster and build better with low-code. Here’s how.

Multiple paths, one destination

Version control, Branching and Hotfixes Support

Do you have multiple teams working in parallel on different features and hotfixes? WaveMaker in its earlier releases provided support for an array of source code repositories like Git, GitLab, and BitBucket to support version control. WaveMaker 10.7 goes one step further. Software teams that have adopted Agile or Scaled Agile (SAFe) need to work on multiple streams of development simultaneously. To support this, WaveMaker creates a project workspace mirroring branches created in the corresponding Git repository. This allows them to deploy new features to production continuously and rapidly while teams work on the next version of the app. ‘Branching’ makes it easier to manage large-scale projects with multiple release trains and versions during its life cycle.

Where there is data smoke, there is business fire

— Thomas Redman

Database Integration: Support for AWS RedShift

Enterprises are leveraging data warehouses to examine and analyze petabytes of data and gain valuable insights. AWS Redshift is one such data warehouse of importance. If you are a low-code user interested in strengthening your data capabilities through Redshift, WaveMaker 10.7 is just right for you. Developers can now connect to the underlying RedShift database schema in a matter of minutes with a few clicks and create logical data models mirroring the Redshift data source. They can then proceed to leverage the 150+ UI widgets and templates that WaveMaker provides to rapidly visualize data from the RedShift data source.

Database Integration: Support for SAP HANA

Are you looking to create purpose-built applications to automate interactions that are tedious to achieve in SAP? Now you can import your SAP HANA database into WaveMaker and build that application without having to copy the data.

In Version 10.7, WaveMaker supports a native integration to the SAP HANA database as a primary data storage. Application developers can then easily model on top of the HANA DB with WaveMaker’s in-built visual tools and expand S / 4 HANA’s existing database. They can even build new web / mobile apps with the power of the SAP HANA database. WaveMaker facilitates developers to leverage the advantages of this in-memory cloud DBaaS (Database as a service) with just a few clicks.

In addition to these, WaveMaker now provides support for all new versions of existing databases such as MySQL, PostgreSQL, and MS SQL Server. To see a list of all the databases and their versions that we support, click here.

Keeping it within

UI Artifacts now published to NPM

Many Enterprises have strict guidelines on accessing private repositories for application build and dependency management. With this release, all UI artifacts required for generating the Angular app will be published to Node Package Manager (NPM) repository. This removes any dependency on external cloud servers (S3 or Maven providers). Additionally, customers currently integrating WaveMaker to their custom CI/CD pipelines can now pull the dependencies from standard npm repositories while pushing the application across the pipeline.

Safe and Secure

WaveMaker is now Veracode Certified

WaveMaker has strengthened its security credentials with the achievement of “Veracode™ Verified Standard (Veracode Seal)” for WaveMaker generated application code. Going beyond addressing OWASP’s top 10 vulnerabilities, Veracode scans run extensive checks on WaveMaker generated code and at all times WaveMaker comes out unscathed. This in effect, translates to faster and easier development because developers can now focus on building the software rather than worry about its security aspects. Apart from fortifying the platform, WaveMaker application developers can easily implement constraints on the number of concurrent logins that are allowed for their application users. WaveMaker supports myriad ways to integrate SSO into its application. In WaveMaker 10.7, the SSO flow is optimized to let application users log in automatically if their SSO session is still active.

Nothing but the best

Technology Stack Upgrades

WaveMaker continues to strive to provide the “best-of-breed” technology stack to all its users. With this release, WaveMaker-built apps can leverage newer versions of several open-source libraries including spring framework, spring-security, ngx-bootstrap, logging to name a few. The complete list can be found here. In addition to these WaveMaker 10.7 has added several features keeping customer requirements in mind.

Optimizing the queries that read the database metadata has resulted in faster import of the Database Schema. On-Demand pagination and Infinite Scroll support on table widget, the ability to group data shown in dropdown menus, search auto-complete widgets are some new enhancements to keep an eye out for. To see the complete list of new features, please read our release notes here.

With each release, WaveMaker strives to bring low-code closer to modern development teams building serious applications. Keep watching this space, there is a lot more to come.

Weaving security into low-code development

Can low-code help financial software builders focus on the 'first principles'?

Enterprises, on average, use about 1000 cloud apps, even though CIO think it's only 30-40. As one can tell, the enterprise software landscape is complex. Organizations work with a wide range of applications that don't speak to each other, look/work very unlike each other, often unable to even exist in the same tech environment. 

This is especially true in the financial services industry, where banks and financial institutions are inching towards end-to-end digitization. COVID-19 has only hurried this digital transformation, forcing businesses to catch up or fall behind. In trying to balance the complexity and the hurry, organizations often lose out on building robust software. 

While handling the minutiae, they forget the first principles. 

In this article, we explore how low-code can help financial software builders focus on first principles to create robust, integrable and sustainable applications for their customers.

Software first principles

If you are building an enterprise application today, it must be: 

  • Built on a modern microservices-based architecture
  • Components-based
  • Cloud-native, containerized and deployable across multi-cloud environments
  • Device agnostic and omnichannel-ready
  • Easily integrable with Open APIs
  • Focused on code security

How low-code helps you focus on first principles

“I think [low-code platforms are] probably the most important technology tool that CIOs need to look at. We do not have enough staff and our staff who are strong at App Dev really need to focus on the customer-facing pieces that are going to move the needle”, says Issac Sacolick of Star CIO. The fundamental benefit of a low-code framework is that it abstracts and automates the programming process to accelerate software development. In doing so, it helps you create applications that are consistent, integrable, sustainable and secure. Here's how.

Low-code opens doors to modern architecture

By 2022, 90% of all apps will feature microservices architectures that improve the ability to design, debug, update, and leverage third-party code.

IDC FutureScape

Development teams across the globe understand the advantages of microservices-based architecture, and are adopting it rapidly.  But, among traditional development teams, this can be a tedious process. Modernizing monolithic legacy software or building new microservices-based products involves not just changes to development processes, but also setting up DevOps teams, changes to organizational culture etc. 

Low-code systems can help leap past these obstacles. A robust low-code platform can help professional developers build microservices-based applications at scale.

Low-code enables reusability with components and prefabs

Developer time is wasted in repeatable processes. Be it basic UI templates or complex forms, tables and interactive charts, low-code frameworks can help automate parts of development. In fact, you can also generate from your own data model, and navigate through data and their relationships right from the low-code platform. This can come especially handy when ISVs need to rapidly customize their applications for each of their customers. 

A low-code platform can help accelerate development with out-of-the-box widgets, templates, prefabs and more.

Low-code is prime for building cloud-native apps

A robust low-code platform can take you beyond just ‘cloud-ready' development. With zero DevOps, auto-generated APIs, auto-scaling, app-sizing, proactive monitoring etc. Cloud-native low-code application development is now possible without a bastion of cloud experts on your team. It can also enable one-click deployment across multi-cloud or hybrid-cloud environments.

A low-code platform can automate many of the development and operational aspects of building cloud-native apps.

Low-code accelerates the development of omnichannel apps

Omni-channel customers spend an average of 4% more each time in the store and 10% more online than single-channel customers.

Harvard Business Review

Financial software builders face pressure to build apps that offer a consistent and seamless omnichannel experience. Customers want to access information, make transactions, raise requests and speak to agents across their online banking solutions, mobile banking solutions and in-person channels. They want to have a continuous and engaged experience across them all.

To achieve this, traditional app development teams have a multi-functional team of mobile developers, web developers and core application developers replicating the application for each channel. Low-code tools eliminate the need for this, and create responsive applications by default. They also have built-in components and widgets that facilitate seamless engagement across channels.

By automating the adaptability and responsiveness of your app, low-code platforms accelerate superior omnichannel experiences, without corresponding investments.

Low-code platforms build integrable apps

Low-code abstracts a set of complex processes to accelerate development. APIs are an important part of that. They enable applications to access and consume vast amounts of data from multiple sources. They also integrate across upstream and downstream layers to connect information and application components. For instance, API helps banks or financial institutions to enable their services or share transaction data to a third party like Google Pay. It provides the flexibility of communication between two parties, increases workflow efficiency, enables real-time data sharing, and improves customer experience.

A low-code platform can help financial software builders make apps with composable APIs from underlying services and entities.

Low-code helps build secure applications from the start

The auto-generation of code in low-code tools brings with it security measures built-in at all application layers. With a good low-code platform, you can configure compliance levels, customize authentication and authorization, and even enable platform-driven automatic upgrades free from security vulnerabilities. 

For instance, code generated by WaveMaker, our low-code platform, is open standards-based. The platform enables secure coding practices making apps hardened for penetration testing and enterprise-grade security.  Given that it's also ‘Veracode™ Verified', WaveMaker drastically reduces the time developers spend in rounding off security for their apps. This verification covers third-party open-source libraries you use to generate code and all vulnerability checks listed in the CVE library. In all, it significantly de-risks application teams from compliance and security issues, without compromising on speed of delivery.

A low-code platform enables organizations to incorporate security at every stage of application development.

Choosing the right low-code platform for building
financial products

If you're an independent software vendor developing software for the financial services industry, a robust low-code platform can accelerate your product development, and enable rapid customizations at scale. To gain maximum leverage from your low-code platform, make sure they empower you to focus on first principles.

  • Ensure that your platform is attuned to building cloud-ready apps. Look for a platform that can automate containerization, enable DevOps and ease cloud deployments.
  • Check the API capabilities of the low-code platform. Make sure it can enable integrations that are closer to business functions, giving standardized access to org data and services. 
  • Try the reusable components. 
    • Understand the limitations of the reusable components and prefabs included in the platform.
    • Check if compliant third-party components can be integrated.
    • Ensure you can create customized components and make them reusable within your organization.
  • Verify security standards. Test the credibility of the product by checking for  industry-standard certifications. Look for the protocols that govern authentication, authorization, protection against the 10 OWASP vulnerabilities etc.

For all these and more, consider WaveMaker.

Know more about WaveMaker's banking solutions & financial offerings

Banking on low-code: The secret sauce of digital banking systems that are crushing it

By Vikram Srivats, Vice President, WaveMaker

So far, the low-code bastion has been mostly custom applications (built by “citizen” developers) – which are, sort of, spectrally opposite to core software platforms built by professional coders.

The tide is now turning.

Software platforms, specifically in the banking world, are embracing – even infusing – low-code capabilities – either through build or buy (license, OEM) routes.

But first, the backdrop: It is no secret that banks – and all financial intermediaries in general – are rushing to digitally innovate their business and transform their technology. And we know that these interventions target both top and bottom-line impact, while purporting to deliver speed, agility and simplicity in operations. Add in a host of headwinds – pandemic induced credit losses, muted revenues in a low-interest environment, rise in challenger banks that are digital-only, and fintechs that threaten to drive new non-interest business models on a modern tech platform – and you have a real test of banks’ resilience over the next 4-5 years.

To make good on the digital innovation and technology transformation theme, banks must buy or build banking software (core and channel facing systems) based on 4 foundational pillars:

  1. API marketplaces – increasingly becoming the core of digital banks to expand the reach of their intellectual property, democratize access and cast a wide net.
  2. Cloud-native or Cloud-ready – designed or ported to the public Cloud; service mesh ready for hybrid or multi-Cloud environments.
  3. Component-based and customizable – address varied customer needs in an agile, low-cost and even self-serve manner.
  4. Enable ecosystems – for banks to stay relevant in the long run, embrace a world of co-opetition and lay the foundation for service offerings and business models that can drive new value.

With this backdrop, market-leading digital banking systems – cores and application portfolios – are increasingly turning to low-code capabilities (and third-party low-code platforms) as a significant intervention.

Here are 4 value plays that low-code drives for banking systems providers:

  1. Accelerate – using a homegrown or a third-party low-code platform, providers significantly accelerate the development of serious, Cloud-native modules, components and applications.
  2. Modernize – Leveraging an available API backplane, a low-code studio can generate consumer-grade, responsive front ends (UI/UX), enabling rapid modernization.
  3. Optimize – A low-code enabled (OEM version) or infused banking system allows banks themselves to configure, compose, extend or customize certain parts of a digital banking core or application portfolio – reducing/optimizing professional services effort from the provider and evolving the provider-client engagement to the next level.
  4. Proliferate – A custom low-code platform with industry-specific componentry can be offered as a layer in front of a banking API portfolio – to open up the ecosystem for the provider’s client and dramatically ease the process for third parties to use democratized assets to build a plethora of applications – very quickly.

In short, Low-Code + Banking Software = Results (digital innovation and tech transformation).

Temenos, a Swiss banking system provider, bought Kony (a digital banking SaaS company and a low-code platform vendor) for $600m in 2019. EdgeVerve, a wholly owned subsidiary of Infosys, a $14b IT consulting and services provider, has built-in low-code capability in its Finacle Digital Engagement Suite per leading analysts that profile digital banking systems. In mid-2020, new age composable banking platform provider, Mambu, partnered with Argentina-headquartered Veritran, an enterprise low-code platform provider, for the Latin America market.

Per Forrester, EdgeVerve and Temenos feature as Leaders in their Wave reports on digital banking platforms (processing and engagement) across 2019 and 2020. Mambu is a Challenger per Gartner’s Magic Quadrant for Retail Core Banking. Low-code capability infusion seems to be clearly correlated with leadership in the banking software domain. We should expect other leading players – TCS, Oracle, Finastra and FIS – to follow suit.

And future banking platforms with leaner digital cores will only serve to further drive the embedded adoption and proliferation of low-code capabilities – whether homegrown or licensed as OEM from third party low-code platform providers.

Epilogue:

A recent McKinsey report on the banking industry points out that the COVID-19 pandemic will cause $3.7 trillion of revenues – more than half of the total financial intermediation industry revenues – to be foregone and never come back. In that same scenario, return on equity would fall from 8.9% in 2019 to 1.5% in 2021, with North America bottoming out at -1.1%.

It is not all doom and gloom though.

The report points out that there is a hopeful picture – if banks do the hard work on productivity and capital management, their ROE can return to pre-pandemic levels by 2024.

What has all this got to do with low-code development?

(Hint: low-code => high productivity)

2024 awaits the resilient and transformed banking industry.

To futher explore banking solutions by WaveMaker, please visit:

next.wavemaker.com/banking-financial-services/

 Or, start a conversation with our expert consultants for solutions to your unique requirements.

Originally published in Finextra

Low-code for the banking and financial services industry

BLOG

Low-code for the banking
and financial services industry

“One in four retail branches to close in Europe,” predicted a study mid-last year. This comes as no surprise, given the number of challengers that core banking systems of traditional banks face today. For instance, neobanks — mobile-centric retail banks, often without physical branches — have tripled in number in the last three years. Over 30 neobanks went live in the middle of a global pandemic, including niche ones like Daylight, a US bank for LGBT+ members. This isn't euro-centric either; there is a significant boom in digital banking across Asia and Africa too.

As the pandemic forces customers to do as much interaction as possible online, “70% of account openings, deposits, consumer loans, and credit card applications will happen remotely over the next three years.” Enabling digital banking experiences of existing offerings is only one part of the story. To truly emerge successful in the 21st century, banks and financial institutions also need to devise innovative new offerings for the digital banking world.

More importantly, this needs to be rapid, agile, adaptable, and scalable. It is here that low-code software development will play a crucial role.

What low-code can do for banking and financial services

#1 Build new apps swiftly

Low-code accelerates the app development journey significantly, often by over 50%, while also reducing costs proportionately. This can be game-changing for banks and financial institutions that wish to offer innovative services to their customers.

Whether you need an app that lets users buy cryptocurrency or simply complete their Know Your Customer (KYC) compliance remotely, a financial services and banking low-code platform can help you develop and deploy it within weeks, if not days! In fact, that’s what a Fortune 100 insurance company did with WaveMaker. They used the WaveMaker platform to swiftly develop innovative applications, with 80% less coding than traditional development would have needed, and without any additional investment in skilled resources.

Low-code achieves this with:

  • Framework-driven approach: Component-based UI, prefabs, and repeatable templates ensure consistency, even at scale.
  • Seamless integration: APIs, connectors and CI/CD integrations enable new and existing applications to work together effectively.
  • Democratizing development: Banking Low-code eliminates the need for specialists, be it in design, development or DevOps; and saves businesses from outsourcing innovation/differentiated offerings.

#2 Modernize existing apps or refresh UI

One of the biggest costs associated with application development tends to be technical debt.

With rapid advancement in technology, banks and financial institutions are expected to deliver a sleek and enjoyable experience for the end user, forcing them to regularly modernize their applications. They must do this without compromise on the complex and highly secure backend technology that powers it.

low-code platform can help banks achieve this, while also minimizing technical debt in the long term. It does so with:

  • Cloud-native technology: Session-less architecture, decoupled front-end and back-end layers, and configuration-driven models make it easier to modernize legacy systems in small parts, without disrupting the business.
  • Performance and scalability focus: Auto-containerization, microservices architecture, and optimization for code assets boost application performance, bringing legacy apps to modern standards.
  • Adaptable integrations: SOAP and Java-based connectors offer custom integrations, that facilitate applications being modernized to function effectively with existing practices.
  • Reusable UI: Once designed, low-code allows users to reuse UI elements such as layouts, widgets, navigation, styles, etc., enabling consistent experience and performance across the board.

#3 Offer limitless personalizations

Studies show that “80% of consumers are more likely to make a purchase when brands offer personalized experiences.” The risk of not personalizing is high too: Gartner found that brands risk losing 38% of customers to poor personalization efforts.

Enabling unique, personalized digital banking experiences for customers will differentiate leaders from the laggards. Same goes for the various B2B customers of independent software vendors (ISVs) in the banking industry for core banking software.

Banking Low-code can make such personalization for the financial services industry not only possible, but also scalable and effective. For instance, a 65-year old, California-based credit scoring and financial data analysis company personalized the lending experience for over 1,500+ banks with WaveMaker. Low-code powers this with:

  • Powerful customization capabilities: Low-code vs. traditional development isn’t an either/or equation. A open standards-based low-code platform not only enables customizations, it also allows the application to accommodate developer-written code for complex functions.
  • End-user personalization: ISVs building financial platforms can offer their end-users (Banks) personalized user experiences based on markets, geographies, languages, accessibility needs, etc. with low-code development.

#4 White label low-code for custom solutions

Not all banks and financial institutions have the luxury of large in-house technology teams to build their applications. Several specialized ISVs who develop apps exclusively for the banking and financial services industry, are in need of efficient ways to build and reuse application components.

It is here that white-labeling of low-code platforms like WaveMaker can help. Low-code platforms can be customized for different user personas and can help by:

  • Empowering citizen developers: With drag-and-drop functions to build complex enterprise applications, business users can also contribute, without knowing to code.
  • Building differentiated applications: Templates, prefabs and reusable components ensure that the basic functionality exists, for developers to only work on personalization and feature extensions.

As we speak today, the financial services industry is going through a sea change. From being a supporting function, IT today shapes business models, operations and even service delivery entirely. And as PWC recommends, simplifying legacy systems, taking SaaS beyond cloud based core banking low-code, adopting robotics/AI, and preparing enterprise architecture to connect to anything — from enterprise databases and big data to IoT — will become top priority for global players in the financial services industry.

Banking Low-code can offer the speed, flexibility, and customizability needed to create personalized banking experiences for customers.

Explore WaveMaker use cases for banking & financial services

Speed, scale and savings: Three reasons ISVs must adopt low-code in 2022

BLOG

Speed, scale and savings: Three reasons
ISVs must adopt low-code in 2022

In 2020, Forrester had predicted that 50% of developers will use a low-code product. And then the pandemic happened. Instead of derailing the prediction — like the pandemic did for most trends of last year — it accelerated it. So much so that Forrester predicts that the “accelerated adoption of low-code platforms will change how teams organize.”

Today, low-code is no longer one of the many tools that help development, but a strategic initiative that fundamentally shapes the way software delivery will happen. Enterprises already understand this. For independent software vendors (ISVs) though, this can be a different ball game.

Why were ISVs resistant to low-code

As a ‘software company', most ISVs pride themselves on having excellent developers, building products that are robust, customizable, secure and scalable. For long, low-code development was seen as a means for citizen developers or business users to build prototypes, which then the ‘real developers' built by hand. With reason.

Most low-code development platforms available today can not handle complex business logic or application requirements.

Until now.

What low-code can do for ISVs in 2022

If there is one change that 2020 has brought to the world, it's the widespread acceptance of remote work. For employees to work remotely, enterprise software needs to work remotely as well. This shift to the cloud, and perhaps a SaaS model, requires ISVs to rapidly modernize their software. Low-code can enable that.

#1 Fuel rapid application modernization

Low-code can make software development faster by 10 times, as compared to traditional methods. Features like reusable elements, drag-and-drop and process modelling let individual developers or small teams release in days or weeks! Pair it with an agile-DevOps process, and it can modernize legacy applications to support enterprise needs of the future, without any disruption to current paying customers.

With low-code:

  • Existing teams need no reskilling. Developers and even business teams can be onboarded quickly and can use the product effectively.
  • Existing processes are not disrupted. A low-code platform like WaveMaker integrates with existing processes to enable modernization.

#2 Enable scale without compromise on customization

ISVs often maintain multiple implementations of their products for each customer. Even when on cloud, modernizing applications across these implementations — and their customizations — can be a complex endeavor.

Low-code platforms like WaveMaker leverage component-based models and micro-services with session-less architecture to build large, customizable applications at scale. With simple API integrations, ISVs can also ensure their applications work seamlessly with a wide range of other software that the client uses. 

With low-code:

  • ISVs get complete ownership of code that the platform generates. Any edits / customizations needed can be handled effortlessly.
  • Development teams get to choose and maintain their coding infrastructure.
  • There is no runtime dependency.

#3 Save costs

The biggest advantage of low-code development is that it doesn't require ‘specialists' for every function. A lean team of professionals can use low-code to build or modernize an entire application. With powerful abstractions over technical programming, low-code platforms can empower development teams, making it easier for non-specialists, junior programmers and even citizen developers to build software.

Low-code reduces expenses both for the ISV and their end customers. It also frees ISVs from the expense of regular maintenance, while reducing development costs multi-fold.

With low-code:

  • Dev teams can generate and maintain open standards based code, without needing specialists for each function.
  • The consistency of code generated ensures longer usability and easier maintainability.

WaveMaker for ISVs

Unlike most low-code platforms, WaveMaker is built to handle extreme customization, enterprise-grade security and scale, all of which are essential for ISVs.

  • Open-standards based code uses popular frameworks like Angular, Spring, Hibernate, Cordova, etc. to help modernize apps without full scale development.
  • WaveMaker's Java-based platform ensures rapid development, easy integration, responsive design and scalable architecture.
  • It combines micro-services with session-less architecture and auto-generated REST API to build customizable cloud-native apps.
  • It keeps data secure with RBAC and protection against Top 10 OWASP vulnerabilities.

If you’re an ISV looking to leverage enterprise-grade low-code technology to modernize your application, get a demo or contact us here.

Seven assumptions to avoid when considering an enterprise low-code platform

In the journey of digital transformation, the path to modernization could be a challenging one. When faced with technology modernization, dealing with legacy systems such as 5250-based, green screen applications, tightly coupled business logic, monolithic code base structures and limited knowledge of the application architecture, what choice do you have? You take a look at what's trending in the market. You observe that there is an increase in the spending on enterprise low-code technology (to the tune of $21.2 billion by 2022). Consequently, you decide to get on the bandwagon.

You choose a low-code development platform and begin the process of modernizing your applications. Fast forward a few months and you realize that the easy to use, drag-and-drop feature is great to build a prototype but the platform falls short in etching out the intricacies of a serious enterprise application. You also realize that when you want to scale up and build more applications and increase the number of users there is an additional cost. Added to that you have runtime dependency and added cost of deployment on infra of your choice. These among many other challenges edge you towards a reality check and it makes you wonder whether, in the urgency to modernize and be competitive, was the low-code development platform a right choice?

Every enterprise is keen to ride the low-code wave, and in line with the modernization narrative, they should. The challenge arises when low-code is adopted without learning about the ‘nuts and bolts' of the platform and understanding how it fits their requirements. This is when a reality check occurs, when there is a glaring gap between expectations and reality. More often than not, the reality of technology modernization and digital transformation is different from what is expected. It's a fact that while companies have reportedly spent $1.2 trillion on digital transformation in 2019, analysis indicates that just 1% of these efforts would actually achieve or exceed expectations.

Expectation Vs. Reality. Bridging the Gap When Adopting an Enterprise Low-Code Platform

Assume nothing. Know what to expect to mitigate reality checks 

Before adopting an enterprise low-code platform, it is important to take into account the expectations and requirements of different stakeholders. CIOs, CTOs, Application and IT Leaders expect that an investment in a low-code platform must speed up time to market of application development and delivery, reduce operational costs, address the skills gap, bridge silos between users, developers and IT teams, ensure scalability, and promote growth. IT teams expect low-code platforms to take the pressure off by enabling business-users build their own applications with minimal IT support, thereby giving them the bandwidth to innovate.  Developers are a league of their own, and assume that they “tell” the platform what the application should be. Professional development teams expect low-code platforms to automate time-consuming and mundane tasks of code generation, so that they can focus on developing application features that will provide differentiation and improve user / customer experience.

Taking into consideration these different expectations, let's take a look at some of the assumptions that create the gap between expectations and reality, and what can be done to reduce it.

Assumption 1: The platform is built for enterprise-grade application development

  • Expectation – You assume or expect that all low-code platforms are designed for professional developers. That the enterprise low-code platform has the technology stack and architecture to help development teams build complex, enterprise-grade applications.
  • Reality – Not all low-code platforms support professional application development. Most platforms are designed for citizen developers or business users who typically build prototype or shadow IT apps using template-driven UI.
  • What could be done to reduce the gap – Take into consideration the technology stack offered and the platform architecture to understand if it can support serious, enterprise-grade application development.

Assumption 2: Low-code will replace coding

  • Expectation – With the promise of a WYSIWYG development environment and visual drag-and-drop application development, you expect that by using a  low-code development platform it will replace manual coding.
  • Reality – Complex, enterprise grade applications usually have intricate business logic. Building a rich application often requires developers to go native and there is a certain degree of manual coding needed to give attention to details of the application.
  • What could be done to reduce the gap – Low-code application is not about replacing manual coding it is about optimizing the time of developers. When adopting a low-code development platform, you need to maintain a balance between low-code and high code. In this way you can shorten the time frame of time-intensive tasks such as testing and allow developers to focus on other intricacies of application development.

Assumption 3: The platform generates quality code and testing is not required

  • Expectation – You assume that as the code is auto-generated and not manual there would be a lesser chance of errors. You may also expect that the enterprise low-code platform generates quality code and has built in security and testing features therefore applications built would function successfully.
  • Reality – Some applications built using low-code fail to perform, owing to several reasons, from coding or business logic errors, integration issues, to security threats.
  • What could be done to reduce the gap - While the promise of low-code is to build applications that would be functional and secure, you need to have a testing strategy in place. You need to ensure the platform has features across the development lifecycle to test applications for functionality and security.  This would reduce the level of risk associated with implementation failures and security threats.

Assumption 4: The platform is scalable and supports increasing growth

  • Expectation - You assume that you can easily scale up to build unlimited number of apps and support an increasing number of users at no additional costs.
  • Reality – When the time comes to build more applications, increase the number of users, or move to another development environment, you realize many low-code platforms have an additional cost involved and do not have the capabilities for scaling up.
  • What could be done to reduce the gap – It is important to assess if the platform provides dev-time and run-time scalability and consider if the licensing model of the low-code platform fits your scalability needs. While there are platforms where you need to pay to increase the number of users or applications you can develop, there are pricing models where you can choose to pay per developer. Therefore, identify your scalability needs first to make sure the licensing model is suitable.

Assumption 5: You are not locked in to the platform and can customize applications after migration

  • Expectation – In a situation when you need to migrate to another platform, you assume that the low-code provider can provide the assurance you will be able to generate the code and recompile applications.
  • Reality – While your application may run, do you know if you can make changes to the code or are you locked in to the platform? Is the code readable to customize applications? In situations of migration, generated code is usually algorithmically accurate, although the code is not readable by humans, making it difficult for developers to make any meaningful code modifications required.
  • What could be done to reduce the gap – Given the significant impact of applications on operations, anyone using a low-code platform must check and test the code generated. Make sure the code generated is syntax-agnostic and that the code is readable and customizable which are important factors in long-term maintenance of applications.

Assumption 6: There is no runtime dependency and you are free to deploy on infra of your choice without separate cost for deployment.

  • Expectation – You expect end-to-end freedom in using the platform, from application development to deployment. You assume there is no runtime dependence and that you can deploy applications on infrastructure of choice, from containers, virtual machines to on-premise infrastructure.
  • Reality - While application development is free, many low-code platforms have a separate cost for deployment and use in-house runtime engines. The applications built on the platform are deployed on select clouds and in their environments, making it a challenge to gain ownership of code and rebuild applications.
  • What could be done to reduce the gap - To minimize operational cost, ensure the low-code platform has an open-source runtime engine, one that gives access to the runtime libraries used and allows developers to customize applications without being locked-in to the platform.

Assumption 7: Underestimating the complexity of managing APIs during integration

  • Expectation – During the integration process, you expect the platform to provide developers with a visual approach to embed data elements directly into the application, connect to data sources, and even allow them to configure business logic and design data models inside the application.
  • Reality – This would probably work fine if your application is integrating with only a few other systems. The challenge arises, when you have to integrate more than a dozen systems and manage APIs.
  • What could be done to reduce the gap – When you have to integrate several systems, it is best not to underestimate the complexity in managing APIs. What you need to understand is the type of documentation that the low-code provider offers and how it would enable managing APIs in the long run.

Modernization, as a part of digital transformation, is an intensive affair. Through 2021, Gartner  predicts that digital transformation projects, by large and traditional enterprises, will take twice as long and at double the cost than anticipated. On the other hand, smaller and agile enterprises will be more successful in implanting modernization and digital transformation initiatives. Regardless of this factual prediction, enterprises, large and small alike, can still gain leverage by adopting emerging technology solutions, such as low-code. Solutions that constantly evolve, adapt to the challenges of technology modernization and make the journey of digital transformation smooth sailing and successful.

How low-code can help enterprises left-shift application security

Modern enterprise application needs have become intricate. They demand application development and deployment to be cloud-native, agile, scalable, and secure. The app ecosystem has become intertwined, and enterprise applications have become complex beasts, built on monolithic systems. The transformation continues. Modern application development is becoming more agile and scalable and deployment of applications on the cloud is increasing. Application architecture is transforming from monolithic to microservice-oriented architecture. Developers and IT Ops are collaborating giving rise to the culture of DevOps. With the increasing pressure on high performance, DevOps teams are urged to use more sophisticated technology and techniques.

Besides achieving agility and scalability, DevOps teams are also entrusted with achieving enterprise application security goals. App Security has become a high-priority goal and a shared responsibility. It’s reflected in Gartner’s “Magic Quadrant for Application Security Testing, 2020” report, there’s a 50% increase in the number of end-user and client conversations about AST (Application Security Testing) tools and DevSecOps in 2020.

To embed application security across the development cycle requires various levels of automation testing and setting up of configurations at different stages of the application development and deployment process. What development teams are doing is that they are using container technology and microservices to “pull security” early into the DevOps process. In addition to application security, another trend highlighted in Gartner’s report is the increasing attention (of 65%) on container security.

While many enterprises are already running cloud-native, microservices-based, containerized applications in production, there are several challenges; from technology immaturity, a steep learning curve, to the lack of operational expertise and know-how. What’s taking precedence today in high-performance development teams is the left-shift application security earlier in the stages of development.

“Shift Left” App Security – The Guiding Force Behind High-Performance Development Teams

App Security has become a business imperative. In Forrester’s Report on “The Top Security Technology Trends To Watch, 2020”, integration of application security tools with CI/CD pipeline is a major priority in 2020. Application security has become the primary focus of high-performance DevOps teams and by “left-shift application security” parameters, security is a shared responsibility and is being implemented by developers. Moreover, with the rise of DevSecOps the silos of application and infrastructure security are being bridged.

AppSec – The Primary Focus of DevOps in a Containerized Environment

DevOps teams not only have to mitigate operational issues related to performance, integrity, availability of containers in production environments, they also need to ensure security is embedded early in the DevOps process. With greater urgency to automate application security testing (AST) in the DevOps process, the attention of DevOps teams needs to be directed towards the integration of the CI/CD toolchain with application security tools such as software composition analysis (SCA), static application security testing (SAST), and container security.

When embracing the DevOps culture and migrating applications to the cloud in a containerized environment, security must be embedded across the development lifecycle. To ensure compliance of performance and resiliency, the focus needs to shift to service-level and container-specific monitoring. DevOps teams need to monitor applications within containers and across containers at a service level. “Pulling in” application security earlier into the development lifecycle would form the beginning of what is called DevSecOps.

DevSecOps – Breaking the Silo of Application and Infrastructure Security

The ‘mantra’ of DevSecOps is “shift left”, encouraging developers to move security from the right end of the development and delivery process to the left end (beginning). True to its abbreviation, DevSecOps – development, security, and operations – ensures the integration of security is automated across the lifecycle, from application design, testing, deployment, and delivery.

With the essence of DevSecOps being “software, safer, sooner”, it enables seamless integration of application and infrastructure security with the DevOps process. By allowing developers to address enterprise application security issues earlier before the application goes into production, it makes security issues easier to fix without disrupting the development cycle. Breaking the security silo, DevSecOps makes security a shared responsibility of IT Ops, security, and development teams.

Integrating security and testing across the development lifecycle may seem like a daunting challenge. However, there are emerging technology and tools available to ensure security is pulled in early enough. Low-code platforms give enterprises the leverage to embedded security when developing cloud-native applications, managing containers, and adopting microservices-based architecture. To implement the practice of DevSecOps, low-code gives the opportunity to address and improve application security across the development lifecycle.

The Window of Opportunity – How Low-Code Enables Enterprises to “Shift Left” Application Security 

Low-code platforms help enterprises by integrating application-level, security features such as authorization, authentication, auditability, certification, performance monitoring, and security architecture, across the application development lifecycle. By automating application-level security features, low-code platforms ensure robust authorization and authentication systems that have built-in encryption and provide XSS and CSRF configurations to address security threats and vulnerabilities. To help developers configure security features when building applications, low-code platforms provide fine-grained controls, built-in encryption options, comprehensive authentication and authorization processes, OWASP compliance support, and data protection.

While application development and deployment processes are transforming so is application architecture, which is moving from monolithic legacy systems to microservices-based architecture. With microservices, there are many hands-on the deck. Enterprise applications are made into smaller components and many developers are working on different functionalities at various stages of the development cycle. At this time, when application architecture is transforming, security goals remain unchanged. In fact, the demands for enterprise application security are heightened and they need to be imbibed in the development process. Low-code platforms support microservices-based architecture and enable the “left-shift application security” of security parameters by allowing developers to configure security protocols, set privileges, and automate testing before the application goes into production. Moreover, as enterprises leverage next-generation app delivery tools such as container technology, low-code platforms help to embrace containerization at scale without disruption in existing processes and without requiring the reskilling of existing resources.

Low-code’s promise is that of “Zero Complexity” DevOps Automation. It ensures minimal disruption of existing development teams, enables on-premise and cloud deployments seamlessly, automates CI/CD processes, saves on security infrastructure costs, and enables DevOps teams to focus on core application needs.

If you think the “left-shift application security” principle of pulling security earlier into the DevOps process may slow down the speed of development, think again. It shouldn’t be a trade-off to choose between accelerating application development and managing application security threats and fixing failures.  Achieving time-to-market delivery and security goals can be simultaneously achieved if you manage the DevOps process using emerging application development and deployment tools. The window of opportunity here is to streamline processes, using a sophisticated technology stack, and utilizing next-gen technology that low-code offers to nurture AppSec innovation across the development cycle.

Navigating six risks of pandemic era digital transformations with low-code

By Vikram Srivats, Vice President, WaveMaker

Ensuring a successful climb out to a digital paradigm without running the gauntlet of costly delays.

The Covid-19 crisis is shifting profit pools – according to McKinsey1, the gap in economic profit between the top corporate performers and everyone else has widened dramatically. And the numbers are staggering – the top quintile of companies grew its market-implied annual economic profit by $335 billion, while the bottom quintile companies lost $303 billion, over a period from December 2018 to May 2020. Clearly, this is becoming somewhat of a winner-take-all scenario.

With the acceleration of trends (e-commerce, remote work, digital) driven by the pandemic, specifically for companies with middling performance, this is a call to action to build the resilient, future-ready business and operating models. And many of them are doing exactly that. During a recent quarterly earnings call, Microsoft CEO Satya Nadella said, “We’ve seen two years’ worth of digital transformation in two months.”

By now, almost every corporation gets all this.

But how do they ensure a successful climb out to a digital paradigm without running the gauntlet of costly delays and embarrassing failures that plagued many earlier corporate digital plans in fairer weather?

Beyond an array of best practices (reducing silos, no-BS decision-making, talent redeployment, shifting operations, and multiplying productivity), low-code based software development has the broad capability to mitigate potential risks associated with wholesale digital transformations in these uncertain times.

First, a quick primer on low-code/no-code. Simply put, it is a visual development approach to automating software development that involves little to no hand-coding, significantly speeding up applications coming to life. With the growing demand for new applications, modernizing existing/legacy applications, and new platform development – and not as many software developers to go around, low-code development has gained steam over the last few years. Gartner predicts that low-code application development platforms will be responsible for more than 65 percent of all app dev activity by 2024, while Forrester expects the low-code market to represent $21B in spending by 2022. Major technology players including Salesforce, Microsoft, Google, Oracle, Amazon, Pega, and ServiceNow have joined the low-code/no-code bandwagon, with deployed platforms and tools as part of their larger product portfolios

What are the risks?

But what specific risks does low-code development help navigate and mitigate?

Here are 6 clear examples:

Complexity risk – With a visual, low-code paradigm, enterprises and software providers can take quick, bite-sized chunks out of the business complexity due to Covid-19. Low-code simplifies and democratizes collaborative application development to support new workflows, increased tracking, additional procedures, shifting ways of doing business, and increased overall administration – to tackle the needs of remote workforces, supply chains, and customers.

Schedule risk – The stakes for hitting a scheduled target have never been so high. Burdening your IT with demands for critical applications, and gathering a full-stack team to hand-code applications that may take weeks to deploy no longer remains a sustainable approach. Companies can instead use low-code acceleration to minimize impact from the invariable bumps (scope creep as an example) in any project, besides pandemic induced inefficiencies (lumpy productivity of 100 percent remote teams).

Budget risk – The mantra of doing more with less – specifically, more applications with less budget – is what low-code development delivers at its core. According to Gartner2, worldwide IT spending will decline by 7.3 percent this year, compared with a rise of 1 percent it calculated for 2019. Against this backdrop, low-code is exactly what the doctor ordered for companies that are making do with fractional budgets and increased oversight on spending during these times when budget overruns may be considered heresy.

Technical risk – Enterprise architecture teams no longer have the luxury of doing a double-take with technology choices if their initial choices do not scale are not secure, or simply don’t offer a solid runway from the current to the proposed future. When it comes to building enterprise applications, creating extensible frameworks goes a long way in coping with changing business needs, adding new capabilities, and re-using frameworks for future initiatives. Best-in-class low-code platforms are built around modern web architectural choices and enterprise best practices, are based on open standards, generate real code that can be exported and extended, offer enterprise-class security options, and seamlessly blend in with testing and deployment practices. Corporations using such low-code platforms have the peace of mind that they will get it right – the first time.

Talent risk – While the pandemic has disrupted the livelihoods of millions of working professionals and increased talent pools, hiring the right tech and software development talent at the right time, at an affordable price, and ensuring they are productive – remains a monumental challenge. Bridging skill gaps of existing talent to scale to modern web and mobile development is not trivial either. Low-code platforms do the heavy-lifting of software development, mitigating the need for learning coding skills in a language and eliminating the need for multiple specialist roles (UI, database, backend, deployment). Low-code-powered teams are inherently lean, modern-skilled, agile, full-stack development teams.

Market risk – The ultimate test of organizations wanting to climb steeply during Covid-19 is how they weather unanticipated market risks at different altitudes. With the order of magnitude productivity gains, low-code powered business and software development teams quickly and nimbly dodge external risks, prototyping and producing critical-to-business applications at a pace that is near-impossible with traditional development. What it brings to the table is a quick, flexible, scalable, and cost-effective approach, to accelerate the development of business-critical applications and to modernize existing applications and legacy systems.

Going mainstream

In a way, enterprise-grade low-code platforms were built for this moment – helping professional developers effortlessly switch to a low-code way of churning out applications in high-rate-of-climb digital projects. And helping them succeed without compromising logical granularity, pixel-perfect UI or enterprise-scale, and security standards.

Covid-19 may well be a temporary phase in our collective history books a few decades down the line, but this may go down as the era in which low-code development became mainstream – and a basic checkbox for corporations in a high digital attitude climb out to navigate a plethora of risks and join the winner's circle.

Originally published in ITProPortal

Modernization with cloud-based application development platforms

BLOG

Modernization with cloud-based application development platforms

Worldwide IT spending has been substantial in the last few decades. While these legacy systems are robust, the challenge is in maintaining them and making them relevant to evolving business environments. Especially in 2020, where the priority of investment in technology is more focused on cost optimization and operations. In such times, how do you modernize and extend the capabilities of existing legacy systems?

How do you transform IT infrastructure, cost effectively?

The technology modernization journey is one that demands agility, mobility, and scalability. Given these primary business drivers and with initiatives driven by growth and transformation, there is an increase in IT spending, especially on public cloud services. The revenues from worldwide public cloud services market according to IDC totalled $233.4 billion in 2019, and the IT spending on cloud infrastructure is forecasted by Gartner to grow by 19% in 2020. What makes investment in cloud services promising is that it offers cost optimization, operational resilience and business agility.

The public cloud services market includes Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). Cloud application development and deployment services is a sub segment of this market, referred to as Application Platform-as-a-Service (aPaaS).

The Potential of Cloud Application Development Platforms

A promising proposition in the technology modernization journey

Let's take a look at the core advantages of cloud application development platforms and how they offer cost optimization, collaboration, flexibility to utilize resources optimally, mobility, and accessibility to the latest technology and software.

  • Reduce costs and optimize computing resources - By using cloud application platforms, you do not need to invest in physical infrastructure such as servers and data centers. With the access to on-demand services and resources, you not only save millions you also reduce the risk associated with dependency on traditional computing resources.
  • Support collaboration and reduce time-to-market - Different stakeholders working on application development projects, from the developers, designers, testing experts, to the client, can collaborate using a cloud application platform. This real-time collaboration and sharing of content and components, reduces iterations, improves application development and shortens the time-to-market.
  • Utilize resources on-demand and customize requirements - In a conventional IT investment plan, there are resources that would stay idle during off-peak periods. Cloud application platforms allow for utilization of resources optimally, on-demand. During peak times, you can customize your capacity and cloud requirements, thereby saving on investment in resources, such as servers and storage equipment, which could be under-utilized during low demand periods.
  • Enable mobility and access to services on-the-go - Mobility is an important aspect of modernization. Users want access anywhere, everywhere, on all devices. Using cloud platforms, you provide your users with access to applications on several devices including their mobile phones and even using a web browser. As the platform is linked to databases and integrated with APIs, users can access services across devices at any time, giving them the mobility to function on-the-go.
  • Gain access to the latest technology and get a competitive edge - Cloud application platforms also gives you access to the latest technology and trends. Something you would have found difficult to achieve in a conventional IT system setup. By leveraging the latest technology in the market, you can increase your potential to gain a competitive edge.

Time-Sensitive and Cost-Conscious Demands of Enterprise Application Development

The potential of cloud-based, low-code platforms

In the high-speed journey of modernization, enterprise application development projects have become time-sensitive and cost-conscious. Cloud-based, low-code platforms address both these demands. Not only do they help you to develop applications with speed, they also enable you to utilize resources optimally, reduce development cycles, improve time-to-market rates and lower costs.

A cloud-based, low-code platform, could typically be considered as a Containerized Cloud, one which comprises many instances. An instance here can be compared to host computers which do more than just storing and managing data. In a work space instance, users can develop apps independently and they each get a container which isolates their workspace from the other users. In an app deployment instance, when apps are deployed in the cloud, a separate container is allocated for each app, thereby ensuring apps are deployed independent of each other. In a platform, multiple internal services are managed and run using separate Docker Containers and they can talk to each other with REST services. Platform containers orchestrate and direct the Docker engine to perform operations such as starting or stopping a user container.

Rather than relying on expensive, one-time, customized solutions, low-code platforms offer the flexibility to customize, collaborate, integrate, and deploy according to your changing requirements. The important features of low-code platforms include drag-and-drop visual development, ease of integration, multi-device support, extensive customization, granular security, app containerization using Docker technology, and instant one-click deployment to private and public clouds. It's these features of low-code platforms that make them a necessary investment to address the demands of modernization in this cloud-enabled environment.

Evaluating low-code platforms? 6 questions every enterprise must ask

If you are reading this, you are probably in the phase of considering a low-code platform or you are already using a low-code platform to address your application development needs.

The pace of change in technology adoption is leading to an increasing demand for cloud-ready, enterprise-grade applications. There is a sense of urgency to develop and deliver applications with speed. Application development cycles have reduced from weeks or months to days. While the promise of low-code platforms is to accelerate application development with ease, not all platforms would be suited to your business requirements, scalability and application development strategies.

Despite the pressure, it’s time to pause and take stock of your existing systems and resources to identify how you can adopt technology meaningfully. Understand your business needs, your existing systems and processes, and the skillsets of available resources. To leverage the power low-code has to offer, you should take the time to evaluate and choose a platform that suits your enterprise needs.

Over the years, as low-code providers, we have come across some insightful questions from customers before they decided to partner with us. To understand the evaluation parameters when assessing a low-code vendor, this Webinar by Deepak Anupalli, Co-Founder and Head of Product Engineering at WaveMaker will help.

Let’s take a look at six critical questions every enterprise must ask their low-code vendors:

1. Is the platform purpose-built for developers? Is it easy to use and learn to build web UI or mobile applications?

  • Keep in mind who will be using the low-code platform. Identify the type and skillsets of your developers.
  • Consider the capabilities the platform offers, because it should appeal to professional developers and empower them to do more.
  • Get to know what type of technology stack the platform has and if you need to reskill your existing development team.

Ideally, the low-code platform should give your developers the bandwidth to focus on innovation, and the complex and critical functions that would make the application rich.

2. Does the platform support a ‘real code-behind’ strategy? Is the code generated readable and modifiable? Does it allow for interoperability of code changes across IDEs? Customization is a key aspect when developing enterprise apps with real world applications.

  • You need to know if the low-code platform generates code that can be customized, modified and integrated across development environments.
  • Also consider whether the technology stack and architecture of the low-code platform supports compliance requirements and existing business components. This will ensure that the applications built are according to compliance and security requirements before they are released.
  • You also must assess whether the platform supports an open standards-based technology stack, because then you can use the capabilities of mature software tools and proprietary code without having to reskill or disrupt the use of existing tools.

Like Deepak said, “You don't have to reinvent the wheel. A low-code platform that supports an open standards-based technology stack gives you the right level of maturity of software that has taken years to perfect. It also gives developers access to open standards libraries and open source frameworks like Angular, Spring or Hibernate. In this way you don't have to reinvent the wheel in using a completely different type of software when you can get access to the same kind of capabilities by leveraging an open-standards based technology stack.”

Listen in to Our Real-World Success Stories

3. Does the platform help to build scalable applications to cater to larger user base or growing use cases? No application can be scalable right away. Application scalability is deep rooted into the architecture and technology used by the platform. In terms of scaling applications, modern applications use microservices-based architecture instead of monolithic architecture.

  • First, identify your scalability requirements. Are you going to increase the scope of application to include new use cases? Do you aim to increase your user base? Do you want to scale horizontally and want your applications to be deployed onto a cloud infrastructure?
  • Also get to know the architecture that the platform supports. This will help you to understand whether you can scale applications to a growing use case, larger user base or based on your data or user scalability requirements.

Listen in to Our Experiences

4. Does the platform have architectural best practices in place that include enterprise-grade security? Enterprise grade security has become a critical requirement. And one of the primary reasons for delay in application delivery is getting clearance for security compliance and governance rules.

  • Make sure the platform has security as a feature that is deep rooted into all the layers of the application, from the database layer, APIs, to the front-end UI components.
  • Also ensure the platform integrates with the identity management system in onboarding users and uses existing permissions for role-based information access and existing security infrastructure to secure applications.

5. Does using the platform minimize risk and maximize digital transformation efforts? One of the key aspects when using a low-code platform is leveraging existing assets. To succeed in your modernization efforts, you cannot just replace existing technology, you need to integrate them with existing systems and create modern workflows and processes.

  • Make sure the platform has built-in integration features that allows for integration with REST APIs and SOAP web services and existing systems.
  • Also make sure the platform can generate all data structures and methods, and enable developers to manage integration and configurations without the need for them to write custom code.
  • The platform must also democratize application development to enhance existing skills across teams, thereby minimizing risk and dependency on skills.

6. Is the pricing or licensing model scalable and affordable? There is a lot of confusion and complexity in understanding of licensing models of different platforms, especially when you want to build more applications.

  • Identify the right pricing model and strategy that fits your needs, one that is not short-sighted. The licensing and pricing model should be affordable and scalable for your application use cases.
  • The platform cost should not be disproportionate to your scalability needs. Whether you are building a complex application, increasing your user base or expanding your business use case.

Nothing holds truer today than the statement by Marc Andreessen that “software is eating the world”. In the last decade, software development has rapidly evolved and there is an increase in cloud and mobile adoption. The increasing change in pace at which software is getting delivered is faster than what enterprises and users can keep up with. Given this fact, it can only mean that it's time to pause, assess and improve the technology you have to deliver more with less.

When assessing a low-code vendor, to understand the evaluation parameters and find examples of how low-code can deliver value, you can get a first-hand perspective in this Webinar by Deepak Anupalli, Co-Founder and Head of Product Engineering at WaveMaker.

 

Is your low-code platform truly scalable?

In 2020 there are 2.7 billion smartphone users and counting. 90% of their time on these devices are spent on apps. This is just mobile applications, there are also web applications used on the desktop for personal and professional purposes.

With the increasing number of app users, developing applications at scale has taken precedence in the market today and low-code platforms are leading the evolution in application development. And these are not just ordinary applications that users demand, companies also need enterprise-grade applications that provide high performance to meet their business needs.

At a time when application development is in demand, high performance and massive scaling are primary business drivers. From an IT Leader's point of view, it's about speed, performance and business continuity. How fast can applications be developed cost-effectively? How to scale applications to meet the demands of business users? How can modern applications be developed to transform and complement existing legacy systems, without disruption?

At the rate at which apps are consumed, the questions arise. What is the breaking point of the applications that your enterprise can build? How scalable is the platform on which your applications are developed? Is the low-code platform you use truly scalable?

While low-code platforms have taken a front seat in terms of scalability, only those platforms thrive that can manage variable workload, support multiple developers, provide resilience in service availability and sustain user experience in production. Only if all this can be achieved by the low-code platform you choose, can it prove itself to be truly scalable. To find out if your low-code platform provides scalability, whether it is dev-time or run-time scalability, use this simple checklist.

The best way to extract the real value of your low-code platform, in terms of scalability, is to make your internal processes and architecture design aligned to your scalability needs.

Meet demands with capacity planning. Scalability is all about adjusting capacity to meet your demands. It is important to first identify the number of developer logins and app deployments permitted on the platform, based on your license terms. For instance, you may have the infrastructure capacity to develop and deploy applications but it may be restricted by your license terms, and vice versa. When setting up, find out the platform capacity and know if it suits your scalability needs.

Use an architectural design suited for enterprise scalability. AD&D teams spend a lot of time to manage, validate and fix large application systems that use different architectural designs. To save time, make teams more agile and create reusable applications at scale, choose low-code platforms that are built to have a microservices architecture model, as it provides the required scalability.

When evaluating a low-code platform ensure that applications built on the platform follow modern application architectural models. A truly scalable low-code has well-defined REST APIs that separates the UI and the backend layers, allowing for developing applications at scale and ensuring that the best practices in terms of performance and design are followed as per industry standards. Ideally, the low-code platform must have fast API creation and binding tools, with automated API documentation, to help you re architect your monolithic, legacy applications to modern, microservices-based microapps.

Streamline operations for faster deployment. The premise of scalability also revolves around the ability to deploy applications with speed. By using a low-code platform that has containerized application delivery, development teams can ensure faster deployment, streamline operations, increase scalability, and portability. With cloud-centric applications pivoting on the scalability factor, low-code platforms that use the Docker containerization model provide a resource-optimized environment that ensures deployment to cloud providers and Kubernetes. Moreover, those platforms that provide auto-containerization also power microservices-based deployments at scale.

The increasing demand for applications today has led to large-scale deployments, which need to have low response times for high concurrent requests. What makes a low-code platform truly scalable is when it is built to use architecture that is stateless, one that allows to develop applications at scale for deployment on container-based systems. When addressing the demand for massive scaling of applications, the best way is to align your internal processes and architecture design to the low-code platform you choose.

Wavemaker - Process Automation with Workflows

Software Automation, today, has been the bent of mind in almost all sectors - fast-moving consumer goods, manufacturing, banking and finance, infrastructure, telecom, and more. The post-Covid world has posed serious challenges to both humans and industries. Industries and Plants are grappling with absent migrant laborers with the social distancing exigencies. As a result, plant closures and productivity losses have led to huge losses in businesses. So much so, many businesses are considering automation of their shop floors with robots.

Given the context above, the bare minimum the IT industry can do to foster the pressing need for automation is a speedy and convenient software delivery model to the business stakeholders.

While low-code platforms like Wavemaker have been around for rapid software development, the business logic if automated with workflows further accelerates this.

Wavemaker has been farsighted in this paradigm and has capabilities for integrating with automated workflow engines already in place. A Wavemaker application can integrate with the open-source lightweight BPM product - Camunda.

An organization made up of multiple nations wanted a solution that is completely open source and not locked into any commercial software. So WaveMaker's application architecture of code generation in open source technologies combined with Camunda’s open source Engine was the clincher.[/vc_column_text][/vc_column][vc_column el_class="hide-mobile" width="1/6"][/vc_column][/vc_row][vc_row bottom_padding="30" class="builder-advantages"][vc_column width="1/1"][vc_row_inner][vc_column_inner width="5/6"][vc_column_text]This organization has a Mechanical Plant with thousands of machines, requiring the automation of inspection and assessment of maintenance Tasks for its machines.

This includes

  • Task identification
  • Request for approvals for the identified Tasks
  • Creation of Task Sequences
  • Logging results of Assessments in the Database
  • Review of Assessments, and further studies if required

Each of these steps typically requires the intervention, across the hierarchy, of Subject Matter Research Officers (SMRO), Subject Matter Experts (SME), and Maintenance Management Officers (MMOs).

A step like the Assessment of a task has its own workflow.

Implementing the entire business logic to such granular levels using traditional development methods would impede the speed of development, efficiency and tracking and so a lightweight Workflow Engine is a good fit.[/vc_column_text][/vc_column_inner][vc_column_inner el_class="hide-mobile" width="1/6"][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width="5/6"][vc_column_text]The business stakeholders for the plant chose Wavemaker which provided an easy modular implementation along with Camunda.

  1. Wavemaker provides widgets for quick development (using the drag and drop features)  of clean User Interfaces. 
  2. The Workflow Graphical representation is made using the Camunda Modeler. 
  3. The Rules or Decisions are set up in a Decision Management table in Camunda.
  4.  A REST endpoint for invoking the Camunda workflow is created and imported into Wavemaker.
  5. Java code with Spring-based REST APIs for all CRUD operations on each database entity is generated when the Maintenance Task Database (MTDB) is imported into the WaveMaker Application.  
  6. Wavemaker provides pre-processing / post-processing hooks for customizations before and after the DB Calls.
  7. The  Business Rules are externalized to Camunda decision flows so that any change in business rules does not impact the Wavemaker Application.

Here is a snippet of the Interaction Diagram at a high level -[/vc_column_text][minti_image img="23885"][vc_column_text]The Wavemaker Application and the Camunda Workflow can be deployed separately in different cloud instances so as to be able to scale them horizontally. [/vc_column_text][/vc_column_inner][vc_column_inner el_class="hide-mobile" width="1/6"][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row]

Has your low-code platform still got you locked in?

Has this happened to you? You want to build an application within weeks. You find a low-code platform that allows you to build an application with speed, using only a small team of professional developers. After building a custom application you decide to move to another platform. That's when you realize you are “locked-in”!

The low-code platform you used generated proprietary code and it required a subscription to run applications independently. You have problems with data access and control, as the platform uses proprietary technologies, and code maintenance and access to libraries is a challenge.

Being “locked-in” is a challenge many developers, architects, and application teams face while using or moving applications in different platforms. To address this challenge and understand the extent to which you could be locked-in you need to first ask some of these questions:

  • Are the applications built on the platform independent?
  • Can applications run without dependencies or do you need a subscription?
  • Is the platform open and flexible to allow two-way IDE interoperability?
  • Does the platform provide a simple way to access and export data?
  • Does the platform help to easily create, share, and consume APIs?
  • Does it offer an open-source runtime library, making deeper customizations free from lock-in?
  • Is the pricing and licensing option future proof?

Lock-In is Not Binary. It's not Black and White.

In Gregor Hohpe's book, The Software Architect Elevator, he talks about how modern ‘elevator architects' are instrumental in aligning organizations and technology, reducing friction, and charting a transformation journey. When they ‘ride the elevator' from the penthouse (where business strategy takes place) to the engine room (where technologies are implemented) they understand that the common attribute in system design like lock-in is not binary, it's not black and white.

The attributes of a “lock-in” come in different dimensions, in the form of a platform, code, or vendor lock-in. The approach to understanding lock-in cannot be in an all-or-nothing manner. It needs to be considered across the application development and deployment lifecycle, at a broader level in terms of business / vendor, platform, and code lock-in. And while the seductive proposition of low-code is to build applications faster with leaner teams, you need to consider the different dimensions of a lock-in to unlock the real value of low-code.

The Real Value of Low-Code is How it Addresses Different
Dimensions of a Lock-In

Platform Lock-In. Can you run applications on infrastructure of your choice?

Once you build an application, the question is does the platform allow you to run applications on infrastructure of your choice, on-premise, private or cloud? How certain are you about the cost of running your applications in say a year or five years from now? To avoid being locked-in to a low-code platform, you must consider how your applications will be run in the future, on what type of infrastructure, and other aspects of accessibility, scalability, and portability.

By supporting hybrid and multi cloud app deployments, low-code platforms allow running of applications on infrastructure of your choice. With the increasing importance of delivering and deploying applications on cloud infrastructure, you can lower infra TCO by leveraging container technology. Docker containerization helps you to manage your IT app infrastructure, faster than VMs, enabling portability of workloads between cloud vendors. Low-code platforms that support cloud-native architecture, and have auto-containerization and application delivery integrated, can help you seamlessly deploy and scale applications on infrastructure of your choice.

Code Lock-In. Can the auto-generated code be extended and customized?

You could get locked-in to a platform in various ways, from proprietary application-level services to control over associated access rights. Moreover, when shifting platforms, exporting and re-importing projects is a tedious affair. With the need to copy-paste code, it makes the development process time-intensive and error-prone.

Given that the majority of the code is auto-generated by a low-code platform, the quality of code, the flexibility to extend and customize is something development teams need to be particular about. Taking a developer-centric stance, low-code platforms adopt a standards-based ‘real code-behind' approach. This provides extending code in the future and interoperability of code changes across inbuilt editors and external IDEs (Eclipse, IntelliJ).

Distribute applications freely without concerns of being lock-in to vendor-specific frameworks. The low-code platform you choose must be built on an open-standards based technology stack, one that allows you to distribute applications without licensing concerns, and without a lock-in to vendor specific frameworks.

Write and extend custom code in an IDE of your choice. Another aspect of a code lock-in arises when you need to build applications on one platform and use it on a custom Integrated Development Environment (IDE) of your choice.

To optimize application lifecycle management, low-code offers a unique development experience. The IDE sync feature in low-code platforms enables you to mix-and-match custom code written in an IDE of your choice, such as Eclipse or IntelliJ, with the platform components.
To know how you can seamlessly sync project changes between our low-code platform and the IDE of your choice, check out The Studio WorkSpace Sync Plugin. Using this plugin, you can pull the latest project changes made on the platform and ensure they are applied to the IDE code, you can push IDE changes to the platform, and synchronize projects.

Keep in mind that when switching vendors, you are also moving to a new product. You could be locked-in to a product because it becomes difficult to release new features, manage updates, make heavy customizations, configure integrations and setup proprietary extensions.

A low-code platform allows deeper customizations using custom methods and extensions accessible from frameworks, without being locked-in to a product or the platform. With access to an open-source runtime environment and libraries, a low-code platform uses popular frameworks used by millions of developers, making it easier to make customizations and avoid a product lock-in.

Synchronice and track code changes with version control systems. Most development teams also face the challenge of tracking and updating code when version upgrades happen. Every time a version is released, most of the times applications need to be rewritten to maintain the existing extensions and customizations built.

To synchronize changes and track code changes, low-code platforms offer version control services. By using an inbuilt version control system (VCS), you can manage changes to your projects files, including source codes, documentation and web pages. Low-code platforms provide an integrated version control system where you can configure external VCSs such as Gitlab, Bitbucket, and Github.

Business or Vendor Lock-In. Is the licensing and pricing option future-proof?
A business or vendor lock-in is typically what IT teams mean when they say ‘lock-in'. This type of lock-in could happen when you are switching from one vendor to another. Commercials such as support agreements and licensing that you sign up for could get you locked-in to one vendor.
To avoid a business or vendor lock-in, begin with asking whether the pricing suits the requirements and size of your enterprise and if it is future-proof when you want to scale in the future.

Software development platforms have always had some type of proprietary nature embedded. With open source technology like low-code, this has changed. Low-code platforms take an extensible approach to application development and delivery, one that supports open source technologies. That being said, when evaluating a low-code platform, you need to be aware of not getting locked in to the ‘abstraction'. The abstraction of code extensibility, data accessibility, flexibility to customize, and freedom to track and manage components in the application development and deployment process.

How you use your technology will determine its success. Be aware of the types of lock-in.

Unlock The Real Value Of Low-Code

How a Low-Code Platform Can Improve Your Enterprise Application Development Strategy

How many applications are used in your enterprise? Be it a messaging application, project management tool, virtual meeting software, or HR application, critical enterprise applications have become the lifeline of business operations.

As enterprises become more hyper-connected, the virtual workplace and marketplace has transformed into a complex ecosystem. It has become an environment that demands seamless interaction, collaboration, and communication between people, applications, and devices.

While traditional organizations are accustomed to working in silos, the age of agility is driving them to bridge these gaps. The foundation of an agile organization is about enterprise-wide collaboration, bridging silos, the autonomy of cross-functional teams, alignment with business and application strategy, and self-driven teams that focus on innovation. The agile model in theory is a great concept. Implementing the concept, however, is a challenge many enterprises find difficult to address.

To achieve enterprise agility, it helps to have a low-code platform as a part of your technology toolbox. What low-code offers is an environment that empowers teams with specialized skillsets to innovate, encourages collaboration to ensure quick turnaround time of ideas to apps, automates processes to ensure optimum resource utilization and allows for deployment at scale.

Accelerate the idea-to-app turnaround time. Accelerated application development and delivery is a primary factor in agile development. Low-code platforms provide a visual development environment, auto-generates code, enables code-customization and extensibility using prefabs, provides the flexibility for 2-way workplace sync with IDEs, and allows for complete integration with CI/CD pipelines.

Empower development teams to innovate. There is a lot of time spent by development teams in manual coding under traditional application development. With low-code application development, code is auto-generated, it is extensible and can be customized to build applications at scale. By using visual drag-and-drop features, low-code helps to build core applications, giving development teams the time to work on complex components of applications.

Create leaner and agile teams. Typically, traditional development teams are made of different types of profiles, from professional front-end developers, back-end developers, UI designers, UX experts, database developers, DevOps, to quality analysts.

By providing access to full-stack technology, low-code helps to create leaner and agile teams. You can reduce the dependency on specialists, encourage upskilling, focus on business logic and drive innovation because the low-code platform can take care of end-to-end application development and deployment.

By providing auto-code generation, integration with existing applications using smart API integration tools, auto-generation of DB schema, and auto-containerization for seamless deployment, low-code streamlines development teams, making them leaner and agile to address the hyper demands of application development.

21st century IT leaders recognize the importance of agility. At a time when the market and workplaces have moved to virtual realms, there is a greater emphasis on seamless communication, collaboration, and coordination. The premise of enterprise-grade low-code platforms is the ability to provide an environment for innovation by automating manual processes and to create leaner and agile teams by empowering them with a modern technology stack. This is why low-code has become mainstream and why it is considered to be a technology that is future-proof.

Originally published in Inspirationfeed

Future proofing traditional Java programming teams with low-code

Enterprise needs today have become more demanding. The new sense of urgency, to evolve, to modernize and drive mobility, scalability, and flexibility has led to enterprises embracing a ‘digital first’ approach and adopting new technology extensively. While this translates to reinvention in the way of working and the use of technologies, it does not mean that every aspect of the business needs to be reinvented.

Old systems and skills, that have stood the test of time, need not be discarded altogether. Instead, upgrading systems and updating skills can help to meet new enterprise demands with old tools and can result in easier implementation and better ROI on IT investment.

A relevant example of how emerging technology is combined with conventional tools is the use of low-code platforms with traditional Java programming in application development. Twenty years on and many enterprise servers are still using the Java programming language and successfully running Java-based, mission-critical applications. The fact that Java is still being used speaks of its evolution and effectiveness in addressing enterprise demands even in the age of cloud computing and container technology.

When creating application development strategies, there is often a debate about whether low-code should be preferred over traditional Java programming. However, this is not an “either / or” decision. While low-code platforms are designed to provide core functionalities, with the help of experienced developers customization and specialized functions can be added to applications. After all, a low-code platform is ultimately built on a programming language like Java.

With low-code platforms gaining momentum, the role that traditional Java programming plays cannot be ignored. By combining old with new technologies, here’s how the micro and macro levels of application development can be covered to meet new enterprise demands.

Give developers the bandwidth to innovate

In certain application development projects, combining low-code with manual coding helps developers spend more time on complex functions. As the low-code platform can be used to create core applications rapidly, developers can focus on critical specifications to make the application rich.

Build apps that support multiple device ecosystems and operating systems

Enterprises today need to build applications that can run on different operating systems and devices. Such an ecosystem requires application development using neutral languages and coding for specific parts of the application that have distinct functionality.

Java development teams have to make an enormous effort in manual coding to create modern applications that work in dynamic environments. Here’s where low-code platforms help by enabling developers to duplicate core functions of applications that can work across devices and environments.

Ease the application maintenance process

Specifications of IT hardware and software are changing more frequently than before. As the technical requirements constantly change, relevant modifications to the code is necessary to ensure the app functions. When enterprises rely entirely on traditional Java development teams, manual changes in code makes app maintenance a tedious affair.

App maintenance can be made easier by using low-code platforms. Using visual development interfaces and modular components, low-code platforms manage and maintain applications in the backend giving enterprises the time to focus on the design and critical functions of the application.

Streamline the application deployment process

Deployment of applications is a complex process because every line of code needs to be tested in a lab environment, and trials to ensure multiple app instances function in specific configurations needs to be conducted. Testing before deployment requires intensive manual programming and its complexity makes it a time-consuming process.

With pre-built modules, low-code platforms help to test app functionality before their release. With the actual development and production environment accessible in a cloud ecosystem, testing and deployment using low-code is simpler and faster.

To optimally utilise the skills and experience of development resources, enterprises need to combine the technical strength of traditional systems with the speed, agility and scalability that modern technologies offer. By combining the old with new technologies, not only can applications be developed, maintained and deployed faster, rich applications can also be created by allowing traditional development teams to give the required attention to detail.

In a market environment where change is constant and the future is uncertain, future-proofing seems to be the safest way forward. Stay relevant to stay ahead by upgrading your legacy systems with a modern low-code platform. Find out how our low-code platform can help you adopt new technology meaningfully.

Originally published in TECHGYD.COM

How IT Teams Can Ensure Business Continuity Using Low-Code

Remote working is not as ‘Instagram worthy’ as it may seem. While it may be a dream to work from anywhere and anytime, there are many challenges for those working remotely. A bigger challenge is faced by IT teams who have to provide support for such a sudden transition. At the outset of this pandemic, the overnight shift of employees working remotely has put immense pressure on IT teams to enable business continuity.

From accessibility of internal applications, sign-in assistance to password generation, IT teams are burdened with requests from remote working employees. Added to this there are other considerations IT teams need to address, from cyber threats, unsecure VPNs, authentication issues to reliability of on-premise servers.

Where to begin? To ease the pressure, IT teams are using emerging tech like low-code platforms to support remote dev teams, from providing cloud-powered IT infrastructure, application-level security, collaboration tools to real-time IT support.

Let’s take a look at how low-code platforms help IT teams support high-performance remote teams and ensure business continuity.

  • Providing cloud-powered, IT Infrastructure – If one thing remote working has done is it has pushed enterprises and teams to become cloud-native. As development teams are now required to move from monolithic systems to microservices, the demand for scalable and cloud-ready applications is increasing. Low-code platforms are architected based on Docker containerization model and provide a lightweight IT environment. This cloud-powered, resource-optimized environment not only reduces the pressure on IT teams it helps to develop, test, and deploy applications faster.
  • Ensuring application-level security – Building secure apps is one of the major concerns for remote dev teams. IT teams need to ensure application development best practices are followed and that applications are tested though relevant security hardening suites. With baked-in security features, low-code platforms offer application-level security in two main areas of authentication and authorization. By enabling the authentication feature, IT teams can control access that users have to different components of an application. With granular authorization, comprehensive authentication, and OWASP compliance support, secure applications can be developed.
  • Supporting collaboration for agile operations – Remote dev teams need to be agile and digitally dexterous, and they demand tools that support collaborative project management, workstream collaboration, and smart meetings using video conferencing. IT plays an important role in improving collaboration across the development lifecycle. To streamline the process of collaboration, low-code provides an ideal IT solution to achieve agile operations. By creating an agile feedback loop, that allows sharing of service-delivery infrastructure and monitoring of user experience in a unified manner, collaboration with development and test teams can be ensured.
  • Reducing the stress factor for IT Support – The shift to remote working has also aggressively driven modernization of legacy systems. Implementing modernization initiatives involves a change in roles, processes and tech infrastructure, creating friction points and adding stress on IT.  Finding IT support for legacy systems is difficult and the skillsets of IT teams to maintain and support modern tech has to be up to mark. Here’s where low-code platforms can make a difference. By empowering business users to develop applications based on their needs, low-code platforms reduce the burden on traditional IT teams. Using a drag-and-drop approach there is minimal coding and code maintenance is hassle free. By reducing the time spent on support, IT teams using low-platforms get the bandwidth to deliver more and can focus on core IT functions of optimizing infrastructure and processes.

The essence of remote working is digital dexterity and the pressure is on IT teams to materialize this. To meet the demand for flexible IT infrastructure, application-level security, real-time collaboration and support, IT teams need to embrace technology with commitment. Where technology is changing faster than it can be supported, IT teams have to mobilize to keep up with the ‘Speed of Change’. As enterprises embark on the road to digital transformation and modernization, IT needs to shift gears to prevent being a roadblock. With the focus on business continuity, IT teams have become ‘backstage warriors’ and they need to use all available tools to realize their credo of “the show must go on!”

To know how IT teams can support remote dev teams using a low-code platform, take a walkthrough.

Get started with WaveMaker

WaveMaker launches Theme Builder for creating uniformly great looking UI

A no-code tool for developers to build application style templates once and use them everywhere; ensures brand consistency and eliminates repetitive work.

The low-code vision is that every developer can easily build scalable digital apps with great looking UI out of the box. Quickly call in a database, auto-generate APIs, create services, compose a page, drag-n-drop elements into it, and push it to the cloud - voila! WaveMaker goes one step further. It puts the power of low-code in the hands of professional developers. All parts are customizable, giving them maximum control over functionality and user experience.

But customization is a double-edged sword. While there is an explosion of digital apps in the enterprise, keeping all the apps looking consistent and conforming to the corporate brand identity is a challenge.

The WaveMaker Theme Builder solves that challenge. It is a no-code tool for app developers to create common CSS styles - colors, fonts, button styles, icons, spacing, etc. -- that can be applied across all apps developed in the enterprise.

Get started with the WaveMaker Theme Builder

The tool makes it easy to maintain a complete and updated app design, and make sure all apps look refreshed always. It also provides users with industry-standard styles like Material Design that can be applied. Without writing a line of code.

Enforcing a consistent look & feel for applications is not new to WaveMaker, but it was restricted to a widget or UI component, not the entire project. However, that just doesn’t cut it when all apps in the enterprise are expected to have a  “Natural” and “Beautiful”  look and feel that is in line with the brand identity. It takes considerable coding effort to create a customized brand theme. The Theme Builder eliminates that coding effort by providing a no-code way of creating themes.

Here are some advantages of using our Theme Builder:
Reduce manual coding effort and save precious time – Make changes with built-in code editor, and preview custom styles applied to web components instantly. Switch between different theme styles, preview changes, and integrate design elements across the application. Build a custom theme just once with a few clicks without having to write a line of code and apply it across every instance.

Maintain complete control on design elements – The essence of a brand is in its unique design elements such as the colors, font, style, and icons. The burden of meeting those standards falls on developers. WaveMaker’s Theme Builder gives you complete control over design elements to build uniform looking apps as per your brand guidelines.

Select from the latest fonts family – Get access to global font styles that are trending while building modern applications. Theme Builder gives you access to the latest market-trending fonts family and you don’t have to download .ttf or .woff files.  Just click, create, and apply.

Pick the perfect style - Choose from flat, material, or gradient styles to best reflect the mood of your app.  Theme Builder will be refreshed to provide popular industry standards, including Material Design. Pick a Flat style for simple two-dimensional designs or choose gradients to add color and depth to your themes. Use the Preview pane to see components changing real-time when different styles are applied, bringing your customized themes to life much faster.

Here’s to finding the perfect balance between rapid development and impeccable brand consistency.
Play Video

How Are You Building The Technology You Need For The Post-Pandemic World?

By Vijay Pullur,
CEO, WaveMaker.

A 2009 cover of Time magazine featured the headline "The Future of Work." "Throw away your briefcase; you're not going to the office," it began and proceeded to make several pronouncements that might have been alarming 10 years ago.

Since then, the conversation around the future of work has been everywhere, and everyone has joined the bandwagon.

For over a decade, we have been imagining what this future might look like. Today, the future has arrived, seemingly overnight, and has turned all our realities upside down. This global pandemic has not only taken the whole world by surprise, but it also paused the global economy without the slightest warning. COVID-19 has marked the tipping point in the way we are conducting business. Companies are being compelled to consider permanent work-from-home policies, and enterprises that have been dragging their heels on digital transformation are suddenly at risk of being left behind.

As the world reels from being under lockdown, IT will be the backbone to ensure business continuity 

In times of crisis such as this, organizations are bound to struggle with resource constraints, with their highest priority being business continuity and keeping their existing customers happy. In our current world of uncertainty — where our place of work, mode of work and even nature of work keeps changing — technology has proved to be an enabler that can help us adapt quickly and execute mission-critical priorities.

In one major overnight sweep, communication and digital apps seem to have taken over the world. Teams across the globe are using social networks, collaboration tools, online learning platforms and e-commerce apps to remodel their work and life. Remote working and virtual meetings have become the new normal, and technologies that were perhaps familiar to only fringe tech communities are now taking center stage.

Converging technologies such as high-speed internet, 4G/5G, analytics, mobile, cloud, artificial intelligence, machine learning and robotics are being tested and used to introduce innovative approaches. Seamless communication, collaboration and innovation have gone from buzzwords to urgent necessities, once again highlighting the critical role IT plays in alleviating business pain points.

In the immediate post-COVID era, IT will help companies optimize efficiencies 

Once the dust settles, and as we work toward rebuilding our world in the aftermath of COVID-19, I believe the economic impact of this crisis will be witnessed for several quarters to come. Enterprises will have less cash flow and fewer resources to manage and execute strategic business plans for the year. Companies will solely focus on optimizing productivity thanks to tighter budgets and shrinking customer spends. Every business will restructure itself to enable a remote productive workforce and avoid wastage at all costs to navigate the tricky waters of the post-COVID era.

Automation will become an answer to many challenges companies face as they seek to optimize resources and avoid manual toil. As businesses face the realities of working in an economic downturn, they will gravitate toward automation platforms and systems that enable them to scale quickly and with much less effort. Today there are tons of enterprise-grade platforms to choose from, be it project management software or collaboration programs or communication tools.

For your own enterprise, the needs may be different. It could be a timesheet app for the remote team you did not have until now, a mobile app for customer support because your call center is understaffed or even advanced dashboards for insights you never thought you were going to need.

Some companies will find the need to accelerate their in-house development and deployment of critical business applications. They will seek a quick, flexible, scalable and cost-effective approach, either by creating new applications or upgrading existing applications and legacy systems. Building a large team of specialists to create elaborate applications that take weeks to deploy will no longer be an effective or sustainable approach. Enterprise-grade platforms around low-code, CI-CD, and IT security and compliance that empower teams to address evolving business needs will start gaining ground.

"Doing more with less" will be the new mantra, and businesses will turn to leaner agile teams that leverage automation and enterprise platforms to accelerate results.

In the long term, IT will be your ultimate competitive advantage

Further down the line, as we settle into the new normal and start to arrive at some version of stability, technology will become your business differentiator in the long-term game. Tightening costs and optimizing efficiencies can get one out of survival mode, but the way a business uses and implements technology will become their ultimate competitive advantage. Companies will succeed not just based on their offerings, but the way they design and develop their mode of delivery, business model and customer experience.

If there is one thing that the COVID-19 crisis has taught us, it is that disruptions like these doubtless bring challenges, but they also present new opportunities. At the end of the day, your team's agility and smart leveraging of technology will decide how well your company is poised to grab those opportunities. In a future where the new normal will be constant change, IT has the potential to be your competitive advantage to drive disruption, implement change and future-proof your business.

Originally published in Forbes

Fast Forwarding on Tech Trends Too Soon? Use Emerging Tech to Make Remote Working Work

Within a matter of weeks, the way we work, live and do business has drastically changed. In the rush to contain the situation, we’ve turned to technology as our saving grace. In doing so, we’ve effectively hit a “fast-forward” button on many tech trends that were already in place. From remote work and virtual events to virus-monitoring big data, technologies that were perhaps only familiar to a fringe tech community are now entering center stage, these changes are likely here to stay.

While communication, collaboration, project management and innovation have become buzzwords, the challenges of remote working continue to impact businesses. Let’ take a look at the implications of the current rapid change in work environments and how technology can help alleviate challenges:

1. Communication

Communication is the number one issue in most work environments — not just among remote teams. However, varying time zones and flexible schedules can wreak havoc on workflow and team collaboration. Thus, employers need to step in and provide enough structure and leadership to set the tone for communication among their staff.

Tips for Improving Communication Among Remote Teams

Tools and processes are only as good as the people who use them. Ask for team member input and honor their preferences to the best of your ability. Find or build communication applications that connect team members. Using a low-code platform can help to create modern applications that will ensure better communication between team members at a speed that your business demands.

2. Project Management

Project management is hard enough, and it can seem a challenge when team members are dispersed worldwide. However, depending on your industry and types of projects, several online tools exist to align team members, assign tasks, track progress, and make changes. If you already use software applications to manage projects for in-office teams, you would have no problem managing remote employees with the same tools.

Tips for Managing Projects with Remote Teams

Cloud-based project management tools work best for virtual teams. There are dozens of options to choose from, so try the demo versions of platforms until you find one that makes sense for your project and team. Also, consider using the agile project management method and hold daily scrum calls to keep everyone on task and to maintain leaner and meaner teams. Agile is especially helpful for projects with fast-approaching deadlines and numerous milestones.

3. Innovation

There’s something to be said for whiteboard sessions and sharing creative energy with colleagues. Since the remote workspace changes the nature of collaboration, it can also create barriers for creativity and innovation. Team members may not catch the same vibes over the phone as they would live in a meeting room.

Tips for Harnessing Innovation within Remote Teams

Give your teams the space and processes they need to communicate freely, share ideas, and hold brainstorming sessions. Leverage video conferencing and online apps like Zoom, Slack, Lucidchart, Webex, and Teams to document the development process. To provide bandwidth for innovation, empower your teams with emerging tech such as low-code. This not only helps them to deliver more with less, it gives them access to a modern software stack and an environment to collaborate, upskill, and focus on tasks that deliver business value.

4. Security

How do you keep information safe among dispersed team members and devices? You want to ensure that your company’s sensitive and confidential information is secure no matter where your employees work or what devices or applications they use.

Tips to Ensure Security within Remote Teams

Education and training are essential when it comes to information security. Help your employees understand the risks and how to mitigate them in their daily tasks. Create security policies that set requirements for anti-virus software, uploading and downloading information and applications, creating passwords, and clicking on email links. When creating your own applications using low-code platforms, security is typically inbuilt and is an integral part in the entire application development lifecycle. With granular authorization, comprehensive authentication, and OWASP compliance support, applications can be developed using fine-grained controls with out-of-the-box security. In this way your remote teams can build and use secure and scalable enterprise-grade applications.

In a future riddled with uncertainties, a forced metamorphosis or transformation is necessary. How business is conducted, the way teams work, and the work culture is changing and you need to be prepared and agile to tide over. In such times, technology has proven to be a robust backbone on which business continuity is ensured. Making the most of this situation, now is the time for you to adopt technology to transform the way your remote teams work and future-proof your business.

Originally published in Techstory

How a low-code platform empowers an agile leader to achieve enterprise agility

It’s the time of disruption, where, as an enterprise you need to innovate, adapt, and embrace change quickly.

Processes need to be modified and customized, and teams need to be flexible, lean and agile, to keep up with the changing situation. Enterprise agility has become a necessity and to be agile has become a way of being and working.

What it takes to drive the change that the current situation demands is an agile leader empowered with the right tools. There are several enterprise tools an agile leader can use, from team collaboration programs, communications tools, project management software and other tools required to enable transition to remote working successfully. The widespread adoption of enterprise tools has led to an increasing demand to build enterprise applications.

In times when quick changes are required, you may think how you can transform your enterprise to become agile. One of the ways most companies are empowering teams and driving continuous change is by using low-code platforms to create enterprise applications fast. Let’s take a look at how a low-code/no-code platform can be used as an agile leader’s tool to achieve enterprise agility:

Move Quickly to Respond to Business Needs Using an API-Driven Approach

Agile means to be able to move fast. Speed is essential to business success. The company that moves faster to solve a problem, and creates a product to respond to a need will be the business that wins. Agility is often more achieved when actions are led by aspiration.

Businesses are looking for platforms that reduce cycle times and improve organizational agility by delivering applications at the pace of business. As an enterprise solution delivery, low-code provides rapid application development using WYSIWYG drag and drop feature and offers the ability to edit generated code.

APIs today form the essence of business applications and application architecture. With an API-driven app development approach to integrate Private Cloud and DIY maintenance, most low-code platforms support APIs at best.

  • Create and reuse custom components or business logic across applications using reusable API “Prefab” modules and team collaboration capabilities including version control and shared projects.
  • Integrate with third party REST APIs with the assurance that the low-code platform provides full lifecycle support including authentication and authorization.
  • Enable two-way integration with automatic API creation for existing business logic.

To respond quickly to business needs, using low-code platforms with API-driven approach can help you to create auto-responsive apps for websites, tablets, and smartphones at the desired speed.

Embrace Rapid Change by Driving Value

In the face of rapid change and uncertainty, agile leaders thrive. They do this by creating an environment where stakeholders push change forward by driving adoption through frequent, incremental changes that constantly produce value.

According to Gartner, application leaders will need to identify ways to leverage technology and by 2024 the focus of successful application teams will be on how to use technology to meet their customers’ needs and wants.

Teams will need to move from the current focus on the technology of applications to pursue design thinking to foster a culture that sees things from the customer’s perspective. One of the ways to imbibe design thinking in platform strategies is by using rapid application development. Low-code supports all key principles of ‘Design Thinking’ to solve the problem right.

  • Low-code lets you Prototype / POC’s to ‘show’ working software to the end users and not just ‘tell’ a story, for early/timely feedback.
  • It enables a cross-functional team for radical collaboration bringing their own unique perspectives to solve real problems right.
  • It enables you to focus on the process and iterate it for improving.  This can fill the gap that exists in many organizations that have successfully passed through the initial rounds of agility and are looking for a set of practices to help them enter into the third wave of Business Agility.

The premise of solving the right problem, solving it right, and realizing the value at the earliest is best supported using emerging tech such as low-code platforms.

Inspire Creativity and Innovation in Your Employees

Agile is not only a way of working it is also a way of being. Fostering an agile culture in an organization, it’s important to make sure employees have time for creative thinking. It’s not enough to establish methods of automation and develop a cadence of smaller releases, so work is constantly improved upon.

Leaders must inspire creativity and innovation within employees so that they can contribute directly. Low-code allows developers to think and iterate at a granular level, making a big difference in customer satisfaction or cost optimization. What low-code platforms provide is an environment of collaboration where continuous learning culture is nurtured.

  • Innovation doesn’t always come from continuous improvements, but also is generated when the norm is shaken up, and the status quo is rapidly improved. Modifying solutions based on customer needs is an innovative approach to change and low-code platforms support modification and customization.
  • By using a low-code platform you can have ideas and fresh perspectives from professionals of multiple backgrounds. Therefore, motivating people to learn from each other and collaborate on projects and creating a ‘fun’ environment.
  • The backbone of innovation is technology and low-code is rapidly growing to meet the demand for new mobile applications and the possibility of delivering them via the cloud.

Organizational agility is driven by technology teams led by agile leaders. Low-code platforms lets technology teams build enterprise applications substantially faster to meet rapid changing business objectives thus aligning the agility between IT and Business.

Not only can you build leaner and smaller teams who deliver fast, using low-code you can offer a workbench to nurture full-stack developers and create an environment of continuous learning, collaboration, and innovation.

At a time when we need to navigate around the ‘new normal of constant change, the future-proof software stack that a low-code platform  offers is the perfect intuitive toolset that agile leaders need to drive the disruption.

Originally published in Business Matters

Sacrificing Security for Speed: 5 Mistakes Businesses Make in Application Development

By Mayur Shah,
Senior Director,
Platform Marketing & Management

Earlier this year, the Democratic party in Iowa announced its plans to use a smartphone app to calculate and transmit their caucus results. Using technology to improve the speed of governance, one would think, “What could possibly go wrong? A lot, apparently. The app’s failure on results day was attributed to reporting and coding issues.

While security was the matter of concern from the day of its announcement, the inevitable happened. Data and security breaches happen almost every minute. University of Maryland researchers find cyberattacks every 39 seconds. The last decade has seen many data breaches, putting personal information of billions of users in the hands of dubious entities. Every enterprise, from Yahoo to Facebook and Target to Home Depot, has been under attack—and this is likely to continue. Research has found that cybersecurity breaches will result in over 146 billion records stolen by 2023.

Poor security is putting enterprises, governments and citizens at risk every day. Yet, in a hurry to leverage technology, companies bring unsecured applications to market all the time. In essence, they sacrifice security for speed. Adding to this, today’s modern web and mobile applications are built with latest and greatest technology stacks and frameworks, heavily reliant on client side functionality, and integration to multiclouds and third party systems using a myriad of APIs. Also teams are more diverse and work collaboratively using remote workforces.

These trends increase the security challenges the application development teams need to be aware of, and leverage platforms that provide built-in controls and protection against these to avoid security breaches and attacks.

While prioritizing speed over security in application development take into consideration the following mistakes that you need to avoid and address.

Not Looking at Data Security Holistically 

Data tends to be the most important and valuable aspect of modern web applications. Poor application design and architecture leads to data and security breaches. Application development teams generally assume that by providing the right authentication and authorization measures to the application, data will be protected. This is a misconception. Right measures to provide data security involve focussing on data integrity, fine grained data access and encrypting data while in rest as well as in motion. In addition, data security needs to be looked at holistically from the time the request is made to the time response is sent back across all layers of the application runtime.

Not Considering Security Across the Application Development Lifecycle 

Today’s modern web applications are highly sophisticated and built with a big focus on simplistic user experience combined with high scalability. This combination can be challenging for application development teams from a security perspective. Most development teams focus only on silos when securing the application (only client, server or integration layer). Teams should focus on end-to-end full stack security when developing applications. Also application teams should enforce security best practices incorporated by default as part of the collaborative development process.

Not Focusing on API Security

Most of the modern web applications use APIs from systems and services which include internal enterprise systems, cloud SaaS APIs, partner APIs and third party product APIs. Today, almost all web applications tend to expose their own functionality to the external environment as a core set of APIs. What’s more, nearly 100% of web applications today tend to expose its own functionality as a core set of APIs to the external world. Teams need to make sure they are using external APIs with proper security guidelines and protocols as well as exposing their own APIs with multiple choices of protecting them. API access needs to be protected with both coarse grained as well as fine grained measures.

Not Providing Strong Authorization and Authentication Methods

Authenticating your application and authorizing what users can access is an important part of application security. Without this, you are leaving your attack surface wide open. Your application needs to incorporate stringent and strong measures for authentication to prevent unauthorized access. This includes multi-factor authentication, passwordless authentication, single sign on and if using passwords very strong password policies. It must also offer fine grained role-based access control preventing access of sensitive and confidential data to non-privileged users. Moving to a market with ambiguous weak authentication, lack of fine grained control, improper session control and insufficient logging might not seem like a probable risk until you’re attacked.

Not Incorporating Vulnerability Testing Throughout the Development Lifecycle

Security threats are evolving faster than anyone can keep track of. The Open Web Application Security Project (OWASP), a community of application developers and security professionals, identifies the top 10 security risks each application team must mitigate. This includes risks across injection, data exposure, misconfiguration, security deserialization and so on. Development teams should incorporate vulnerability assessment as a continuous process and not leave it at the end of the deployment cycle.

Automating Security with Development Platforms

Integrating security into your application development process does not have to slow you down. By utilizing key technologies such as a low-code platform, you can accelerate development and enable security procedures at the same time.

While promising accelerated development, what an ideal low-code application development platform offers is a visual development environment and code-customization with two-way workplace sync with IDEs. It also enables autogeneration of code, ensures extensibility and reuse with prefabs, and allows for full integration with CI/CD pipelines.

One of the important features of a low-code platform is built-in security, one that ensures automation of the development of application-level security features. A perfect platform provides a configuration for prevention of security vulnerabilities such as XSS and CSRF and ensures in-built encryption, robust authentication and authorization systems, along with enterprise-grade auditability and traceability.

While speed may be the name of the game, rolling out your applications without considering security would have little positive impact if they fail to function and are not secure. One of the best ways to integrate security across your application development lifecycle is to leverage the benefits of low-code platforms that are designed for professional development, those that have built-in, application-level security features. While your application development plans may be time-critical, security cannot be an afterthought, because sacrificing security for speed may make it longer for you to mitigate the risks than achieve your application development goals.

Originally published in Devops.com

Low-Code Empower IT And Drive Digital Transformation – WaveMaker

By Vijay Pullur,
CEO, WaveMaker.

Recently, I was in conversation with a business associate who is an IT leader of an insurance company. Our conversation revolved around how digital transformation is revolutionizing the insurance industry faster than other sectors. He spoke about how the expectations include technology in every sense, from self-service dashboards, faster claims processing, simpler and smarter purchasing experiences, and insurance as a service. As our discussion veered from digital transformation to the new wave of modernization, he made an interesting statement. All he wished in the coming year was to automate systems without disruption, reduce labor-intensive processes, minimize IT dependency and reduce application maintenance and support costs.

It seemed to be a reasonable wish, considering that in this IT-powered world, digital transformation and modernization seem to have taken center stage. Ours is a world where speed is critical and enterprises are under pressure to deliver faster and build rapidly and with greater efficiency.

As the hypercompetitive landscape becomes more hectic, enterprises are aiming to operate faster and smarter, placing "digital-first" strategies in the limelight. A recent example of companies investing in modernization and digital transformation is the Google’s acquisition of Appsheet, a no-code mobile app development platform. With the aim to revamp the approach to application development, Google acquired this platform to empower development teams to develop, deploy and deliver applications seamlessly.

The fact that 40% of technology spending (that’s more than $2 trillion) was on digital transformation in 2019 illustrates the importance of having a "digital-first" strategy.

In 2020, CIOs and IT leaders are focusing on modernization to achieve operational excellence, agility, mobility and scalability. The central plot in most digital transformation stories is the modernization of legacy systems, and as it becomes a mainstream priority, the protagonist in this story is emerging technology. In this plot, the role of software application development must be considered seriously, more than just serving as props. The first step that will usher in successful transformation is understanding how technology has evolved and how it can be adopted.

Over the decades, software application development has witnessed an interesting journey. Growing in complexity over time, it has evolved from using spreadsheets and simple scripts to custom software development by IT teams and rapid application development (RAD) or low-code development by business users. The pace of developing software applications has accelerated. The tech infrastructure has also moved on from on-premises to cloud environments, and from software as a service (SaaS) to application platform as a service (aPaaS) to infrastructure as a service (IaaS) solutions.

Along with the evolution of technology, the roles of stakeholders such as application leaders, IT teams and business users are also changing. While there is an increasing overlap between roles, the gap between business and IT teams does not seem to have reduced. Here is where technology plays an important role in bridging the gap between silos and upskilling existing teams to reduce the skills gap.

In modernization initiatives, technology is being widely adopted to accelerate application development. APaas solutions and centralized application development platforms help to harness the potential emerging technologies. With low-code development, you can develop, deploy and integrate applications with other services seamlessly. Rapid application development platforms bring more control to IT teams, to deliver and innovate more with less. Giving more power to IT and professional developers instead of citizen developers also addresses the issue of shadow IT.

While modernization and digital transformation initiatives are implemented at a breathtaking pace, not all stories have spelled success. Owing to many challenges, the success of projects has been tepid, and hesitation has been high. Modernization of legacy systems have witnessed several friction points such as concerns about security, stress on IT teams, alignment of business and IT, and the absence of a strong modernization strategy.

Another challenge the industry is currently facing is the shortage of technical talent. As the dependency on specialist roles continues to increase, enterprises are looking toward technology as a solution. For instance, rapid application development platforms are considered a viable solution because they reduce the dependency on technical resources, empower existing teams to upskill and enable development teams to achieve more with a self-service approach to application development.

These challenges aside, one of the questions most IT leaders are asking is “How do we ensure business continuity and transition with least disruption in business operations?” Disruption seems to be one of the major challenges and is addressed by rapid application development platforms that offer the power to develop applications quickly and ensure seamless integration with existing systems.

As IT leaders vacillate about decisions to modernize systems, mulling over necessary change is only going to make it more difficult to transform. Taking a strategic approach to modernization is of the essence, and the main factor that can make or break your efforts is how well you manage the entire application and software development life cycle.

The competitive landscape requires you to raise the stakes. It requires you to do things better and with greater speed. It requires you to try different approaches to address challenges.

The year 2020 and beyond will witness rapid change, technologically and culturally. What enterprises need to understand is that digital transformation should be considered an ongoing state of change rather than as a one-time project, and the approach has to evolve constantly. Rapid application development is gaining speed because it provides a platform-driven approach to app modernization and it focuses on bridging gaps and breaking silos. It helps to align business and IT teams, bridge the IT skills gap and break the application, infrastructure, and organizational silos. If we are to usher in the coming decade, we need to transform to keep up with the digitally dexterous, hypercompetitive and IT-powered world.

Originally published in Forbes

Delivering a major product update from home

By Deepak Anupalli,
VP of Engineering, WaveMaker

COVID-19 has disrupted life in many ways, bringing new challenges as well as opportunities for everyone to learn and innovate new ways of coping up with this crisis. Working from home is never easy, amidst daily chores, fetching essentials, keeping the kids occupied etc. staying on top of a product release is an unprecedented task.

A major product update was planned to go out to customers on April 1st week and we were hit by COVID lockdown, from March 18th our teams started working from home. It is a very humbling and commendable effort by the team to come forward to make the release happen. WaveMaker 10.4 is released on April 20th, a big Kudos to WaveMaker Team !

What did we learn?

Amidst the crisis and lockdown, being a software product organization the best way we can help the world is to create better software. In these times, having a clear purpose for our team to achieve something better, learn new things, be closer to one another and keep our morale high is very important. There is nothing better than to work as a team to accomplish more and better.

How did it happen

1. Better collaboration using the right tools.

Collaborating with a large distributed team is very tough, unless we have the right tools to track the tasks, their progress and information needed for the team members at the right time. Understanding where the team is stuck and changing course, making right decisions is the most important job for the product leads. Collaboration doesn’t necessarily mean getting onto a video call for everything and going on for hours, effective communication is the most important aspect of collaboration.

2. Over communicate and share everything with the team.

Team learned to document every detail, summary of the discussions, notes from brainstorming sessions, videos, presentations etc. Having an internal collaboration platform, like Groupe.io helped team members to do this effectively and also engage every member in conversations. Conversations are very crucial as they capture the decisions made in developing the features, which improved collaboration across development, testing & devops teams.

3. Bring the team together, by setting a clear routine

Daily morning stand ups to discuss the priorities for the day and deliverables from each individual. It is very important to be empathetic to each one and understand one another’s personal situation amidst the crisis, alongside working together to achieve the objective.

4. Enabled for remote working

Leaving aside the productivity and collaboration tools like G-suite, JIRA, Groupe.io, WaveMaker started the journey with cloud infrastructure, embracing AWS and container-based delivery model, since the inception. Having all the platform infrastructure and deployment environments on the cloud, enabled us to connect and deliver easily.

5. Most importantly, fun!

Of course, there are Yoga sessions, virtual birthday celebrations, games, and fun!

Check out all the new features in the 10.4 release here

Model Driven Development vs Code Generation – WaveMaker

Low-code products provide rapid acceleration of app development using Model Driven Development. The idea of using a model as a starting point to describe your business semantics and then from the model generate application artifacts can be very powerful as it eliminates a lot of code development while building your application.

Low-code products take this approach to accelerate and help deliver applications faster with higher productivity. With that said, there are two interesting angles that low-code products take:

1. Full dependency on Model Driven App Development
2. Partial dependency on Model Driven App Development

Full Dependency on Model Driven App Development

In this scenario, the Model is used to abstract the business semantics and logic, and it is then interpreted at runtime into a working application. There is no real code that is generated and the application is always dependent on the model for its functioning.

This is good for business users to define the model and then have the application derived out of it. The downside is there are very little opportunities to do very specific customizations as there is no code generated or accessible. Magic happens underneath the covers if you will and at any point there is no way to independently take the application out and maintain or enhance outside of the Low-code products. Many Low-Code Products that are business process driven fall into this bucket and suffer from lack of real code generation, customization and more importantly independent existence of the application.

Partial dependency on Model Driven App Development

In this scenario, the Model is used as a starting point to describe business semantics and relationships, and is automatically converted into real code. There is no runtime interpretation of the model. The Application relies on software generated code to be fully functional.

The approach allows users to abstract the business semantics as one is still starting with a Model driven development but allows greater flexibility and customization by allowing developers to access, modify and fully extend real code that is auto generated using the model.

Magic still happens but is fully visible to the developers. At any point in time, since code is always generated it is always accessible. The application can be extended using real code. The application can be exported and has an independent existence outside the low-code product as well. In some ways, you get the best of both worlds, (acceleration and freedom). WaveMaker Low-Code Platform falls into this category and more importantly supports this approach with fully standards based modern technology stack and architecture suited for cloud native application development and delivery.

Originally published in IT BRIEFCASE

Evaluating Low-code Platforms for scalability - Wavemaker

The enterprise application market is expected to grow to 250 billion USD by 2024. This is hardly surprising given enterprises are developing more applications than ever before. As enterprises plan to deliver more enterprise applications, pressures of speed-to-market and the lack of talent available necessitates organizations to look for better and smarter alternatives. The application development platform is one such solution. Simply put, a low-code platform is a set of tools that enable application teams to plan, design, develop, test, and deploy applications — consistently and cost-efficiently.

Low-code is the next stage in the evolution of app development platforms. It enables rapid application development with GUIs for programming, pre-fabs and templates for replicability, and CI/CD integration for automated deployments. An important transformation that low-code brings to the application development landscape is the empowering of citizen developers and business users to build enterprise-quality applications, even without specialized programming skills. Gartner finds that "By 2024, low-code application development will be responsible for more than 65 percent of application development activity."

As enterprise applications are large, complex, and come under immense compliance scrutiny, IT leaders worry about the scalability of such platforms, and the applications they build.

Here's how low-code platforms are poised to deliver enterprise scalability

Low-code platforms are poised to deliver both dev-time and run-time scalability. Dev-time scalability is the ability of a low-code platform to scale in line with the development needs of your organizations. It should enable multiple developers, across teams/geographies, programming several use cases, for loosely connected applications, across web, mobile and other platforms.

If you're an application development leader, use the following checklist to assess if your low-code platform offers you dev-time scalability.

  • How easy is it to onboard new developers to the platform?
  • How well would it handle multiple teams working on multiple applications at the same time? Does it allow you to give role-based access?
  • How comfortable is it for both citizen developers and professional programmers to collaborate on the platform?
  • Can you add custom code to the application developed by the low-code platform?
  • How convenient is it to do end-to-end application development — from research / planning to deployment and maintenance?
  • Does it offer organization-wide collaboration tools and templates to quickly replicate pre-built elements across teams?
  • Can it develop on a wide range of development technologies/languages?
  • Does it integrate and communicate well with your existing tools?

Run-time scalability is the ability of the applications developed using low-code platforms to deliver a seamless user experience in production at scale. This means that the application needs to be able to handle large volumes of users, perform complex operations, at high standards of performance and reliability. There is no reason a low-code platform can not do this. John Rymer, Forrester’s principal analyst serving application development & delivery professionals, identifies real-world experiences of developers who have used low-code platforms for applications like full-scale ERP or route 1.5 million orders per day.

If you're the operations lead of an enterprise application, evaluate your new low-code platform for rum-time scalability using the following metrics.

  • Does it enable rapid deployment with containerization?
  • Does it automate tasks for faster deployment?
  • Can you deploy to any cloud, multi-cloud, hybrid-cloud, or on-prem environments?
  • Does it integrate with your CI/CD pipeline for automated deployments?
  • Can your developers deploy applications on-demand independently? Does your low-code platform offer self-service DevOps?

If the answer to the above questions is yes, you might rest assured that it offers runtime scalability. But remember that the role of the low-code platform in application scalability is limited.

To make your application truly scalable, you need to design your architecture for scale: Make sure that there is no single point of failure, build for a 10x use case, enable monitoring and maintainability, and gain visibility of scalability costs as well. If scalability is an important concern for your enterprise application — as it should be — then your best bet is to create internal processes and architecture design that enable such scale and combine them with a low-code platform that would support it.

Originally published in CIOReviewIndia

Low-code : The ‘Bank’able solution for ISVs

Banks are at our doorsteps. Quite literally. The innovations in the fintech industry have ensured that “Bankers’ hours” are transformed into a “round-the-clock” experience. With new players such as neo banks, challenger banks, mobile wallets, and even e-commerce entering the market, customers are lining up at the virtual counter and traditional banks are striving to keep pace. Volatility in the banking sector is not new. However, emerging markets, new fintech products, changing customer needs, dynamic regulations, and most recently the pandemic has brought unprecedented changes in the banking industry.

Customer expectations border towards instant gratification. Getting a loan for many has become as easy as ordering a pizza. While this might be true for the progressive banks, some in the brick-and-mortar mode are struggling to survive. Mid-sized banks are reinventing themselves with new products, while the big guns are rolling out customer experiences to the swipe-friendly generation X and Y and Z.

With banks rolling out products and services at an accelerated pace, can ISVs afford to stick to the traditional methods of software development in such a dynamic environment?

In such a do-or-die situation, technical collaborators act as strategic enablers for banks to revive and rejuvenate their banking applications. The modernization of existing banking technologies is not without its challenges. Banks are increasingly looking towards cloud-based SaaS products to create or supplement their banking solutions or are trying to build applications on top of existing legacy systems. Banks meanwhile are mainly concerned with four priorities with respect to modernization:

  • Enhancing customer experience with swift go-to-market
  • Modernizing existing legacy systems
  • Adherence to changing regulations and compliance issues
  • Security

Along with tending to the above, some priorities that banks and in turn, ISV’s need to take care of while building banking solutions.

Creating an Omnichannel Customer Experience

Banks are now faced with the scenario where If a product is not rolled out in a few days’ time, the moment is gone and so is the customer. Financial institutions are now faced with the challenge of creating impactful customer experiences across channels in a matter of weeks. Low-code enables developers to create applications for both mobile, web, tablets and laptops, and even kiosks. Whether it is supporting hybrid apps or native ones, almost all low-code platforms enable the same. Low-code platforms help developers create applications for multiple channels with a single source code providing a continuous experience to the customer across channels. ISVs focusing on business logic can speed up the process by letting low-code bear the weight of easy drag-and-drop visual modeling. Moreover, the agility of the entire process allows business users to collaborate and give real-time feedback eventually churning out Minimum Viable Products in tandem with the market requirements.

Modernizing legacy systems

Evolving customer needs and a diminishing legacy workforce have forced banks to think in terms of either rebuilding or re-architecting legacy systems into a cloud-based SaaS architecture. Encapsulating the existing systems using Open Banking APIs is another option. Technical collaborators can use low-code to iron out these challenges involved in the process.

Data models can be either reused or remodeled. Certain low-code platforms have capabilities of reverse engineering from existing data models into newer database models. While this gives programmers control over the application interfaces, it helps in redesigning the database model for new-age applications. Existing business logic can then be integrated with the backend using low-code.

Building Applications on top of the legacy Layer

In this case, low-code platforms can be used to build responsive UIs on top of legacy using a REST service. Without touching the core logic, low-code can be leveraged to create integrated and optimal applications with a lower turnaround time and better interfaces whilst still using the resilience of legacy core.

Adherence to changing regulations

The current economic situation has imposed a disparate landscape of regulations across banks globally. Technical innovation and regulatory boards have a symbiotic relationship. A change in regulation demands a change in applications. This would require nimble applications to be created/updated without affecting the customer experience. Posed with this challenge, ISVs can dive into the code and customize existing business logic and keep compliance issues at bay. Also, timely releases of the MVPs with respect to changes in regulations keep both business users and customers satisfied.

Security

This is where the role of professional developers is of prominence vis-a-vis the citizen developer. Good low-code platforms have inbuilt security features that get implemented without programmer intervention. However, professional developers, through scrutiny of the code have the ability to make sure that API endpoint permissions are secure and that security vulnerabilities have not been breached. In addition to this, ISVs can offer banks, legal agreements like security and compliance certifications and service level agreements to fortify their products.

In a study conducted by the Everest Group, it has come to light that over 50% of mid-sized banks are mulling switching over to a cloud-based architecture to power their banking services. Digital transformation in banking, quicker go-to-market, enhanced customer experience, resilience, compliance, and security remain catalysts fuelling this change. Low-code platforms cater to all these and more. A case in point is that of a prominent European bank that migrated from an on-premise banking solution to a cloud-based one using Azure DevOps. Using a low-code platform available in the Azure marketplace, the technological collaborators managed around 600 applications in a matter of weeks. The takeaway? Reduced costs by 50%, fast deployment of products, adherence to compliance and regulations, and effortless partnership with business users.

It would be only prudent of ISVs to utilize the ability of low-code platforms to cater to these factors thereby creating “bankable” solutions. To do or not to do should not remain a question!

How low-code helps IT leaders to create agile teams – WaveMaker

In 2020, whether or not an IT organization needs agile teams is no longer the debate. The advantages of agile methods on team efficiency, project visibility, scale, and long-term software robustness are rather clear. Gartner observes that enterprise-class agile development and agile ops are sliding into the trough of the hype cycle, meaning, challenges in building and managing agile teams will make themselves more apparent in the near future.

Before we discuss these challenges, let’s understand what we define as an agile team. An agile team for us is a cross-functional group of people who use the required technology and collaborate seamlessly, to develop and deliver a working and tested increment of a product. Typically, agile teams are organized around products or features; and have a seamless intersection across the business, technical and organizational architectures. As a result, agile teams will eliminate dependencies and inefficiencies, empowering them to develop high-quality solutions, quickly and efficiently, to solve real-world problems.

But it’s not as easy as it sounds. Building agile teams — especially for full stack development — is a long-term journey, riddled with practical challenges.

Finding full stack developers

Developers in the end-to-end application development process are often expected to deal with the underlying complexity of integrating, configuring, and developing various systems and frameworks. In the era of modular development and microservices, this can be very complex and time-consuming, often requiring your team members to upskill. In smaller teams, this might just be unaffordable.

Needing specialists

Application development requires highly skilled resources across various phases of the development lifecycle such as  UI design, application architecture, security, performance, etc. Firstly, hiring a specialist in each of these areas can be expensive. Even if you can afford this it can be unnecessary. Even counterproductive in some cases such as when there is not enough work to keep a specialist meaningfully engaged, it could affect their morale and that of the team.

Mounting siloes

A KPMG survey in 2019 found that 45% of their respondents mentioned siloes between business and IT as a key driver for adopting agile. Yet, ironically, when you seek to adopt, agile at scale, siloes can become inevitable. This can then disproportionately affect team collaboration, and even extend the distance from your business requirements.

When unable to overcome these practical challenges, agile teams fail to realize the potential they can achieve... They lose speed-to-market, efficiencies, and even human connections, leading them back — sometimes without their own knowledge — too old ways. This can be dangerous: As they will continue doing agile, conducting daily standup meetings, for example, without actually being agile.

But it doesn’t have to be this way!

Low-code can help IT leaders address all these challenges and more to create leaner and agile teams.

To define low-code in simple terms, it is a visual development approach that enables developers to build web and mobile applications using a graphical interface, instead of writing code. As a result, developers and agile teams with varying levels of experience and various skill sets can come together on the common ground towards accelerated development. Here’s how.

Low-code abstracts complexity and prepares smaller agile teams for a full-stack development

Low-code eliminates the need to find and onboard developers with universal knowledge of the application stack by abstracting the complexity and providing accelerators across the development life cycle. Using low-code platforms, developers easily manage end-to-end application development from UI design, focused code development to deployment; as well as easily own micro-functionality (also known as microservices).

Low-code helps generalists perform specialist roles

With a robust low-code platform, developers with conceptual knowledge of the application landscape will be able to handle end-to-end development more seamlessly. For instance, even without being a UI specialist, a developer would be able to build quality UI for their application. Low-code platforms can also handle integration, security, customization, standards compliance, etc.

This makes developers self-sufficient, and the development process nimble.

Low-code breaks team siloes

Visual prototyping has proven itself to be a gamechanger in translating business requirements into application features. As business users play with working screens and different tools, they are able to see how their brief translates into functionality, and therefore learn to articulate better. On the other hand, developers design the UI, process flow, business logic, etc. visually, enabling faster feedback cycles.

A low-code platform can also serve the purpose of a common integrated development environment (IDE) for your team members to work interchangeably on different aspects of the project. Without relying on myriad tools, languages, and frameworks, your developers can collaborate easily, allowing them to spend less time on cross-training, hand-offs, and documentation.

Low-code accelerates development

The most important promise of agile development has always been speed. IT leaders aspire to build agile teams to take their products to market faster and adapt to market demands quicker. Low-code can help you achieve both.

Eliminating bottlenecks and facilitating collaboration, low-code allows business users to engage more deeply and offering ‘visibility through visual prototypes. With a better understanding of requirements right at the beginning, teams and managers save a lot of time and energy that might otherwise be spent on rework, resulting from clarification of requirements. As a result, you can make the best possible version of your product as quickly as possible.

All of this saved time can be invested in developing new features and testing new functionalities with your customers. If that isn’t worth trying, what is!

Accelerate agility for Rapid Application Development

“Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.” - The Agile Manifesto

This is one of the key principles of Agile software development. This ‘environment and support’ — what has come to be known as the agile organizational structure — comes in various shapes and forms. A specific and well-documented model is that of Spotify, which groups its teams as squads, tribes, chapters, and guilds.

You can dive into the details of the Spotify engineering culture here, but for the purpose of this article, here’s a gist...

  • A squad is a cross-functional team including developers, quality analysts, designers, operations, and so on, who own the product/functionality end-to-end.
  • A group of squads working on a similar business problem is a tribe.
  • Within tribes, there are chapters around competency areas like front-end development or design.
  • And then there are guilds, organization-wide communities formed around specific areas of interest like automation, leadership, etc.

In theory, this is a great model. Squads, being autonomous, can develop and deploy applications faster. Chapters can help strengthen specialized skill sets. Guilds and tribes can encourage collaboration and knowledge-sharing.

In practice, though, implementing this model can be a challenge. For instance, without coordination and leadership support, guilds might not amount to much. Shortage of specialized skills might mean that a developer or a QA is expected to juggle multiple squads. Each tribe might turn into a silo, affecting organization-wide standardization of programming practices or optimization of tools.

To overcome these challenges and accelerate organizational agility, enterprises need an intervention: a low-code platform.

A low-code platform is a visual development approach that enables application teams to accelerate development with graphical user interface-based coding and pre-existing repeatable configurations. In short, with simple drag-and-drop actions, teams can quickly and securely create enterprise-grade applications. Organizations typically adopt low-code to expedite their development and save cost. Yet, they often find that low-code platforms have a positive effect on organizational agility and culture. Here’s how low-code makes it happen:

Strengthen the developer toolbox, eliminating the skills gap

The developer role is among the hardest to fill. As the need for enterprise applications grows, the supply of developers to build them will be an important bottleneck. It is here that a low-code platform does two things well. It makes your business user a citizen-developer, who can build usable applications without much coding knowledge. Also, it transforms programmers into full-stack developers, empowering them to make their squads truly autonomous.

As a result, developers play a more meaningful role within their squad. They can even jump easily between squads without any drop in productivity. Chapter leads can use low-code platforms to reduce the burden on their training resources — in that, they don’t need to train their developer to hand-code every feature. This ensures that the speed of development is not entirely dependent on the developer’s skill set.

Accelerate the idea-to-app journey with rapid prototyping

Another complaint about application development teams is that they are often sitting on a huge backlog of user stories. Manually coding each of them takes time and energy. With low-code platforms, app teams can prototype rapidly and collaborate with business teams instantly, to test far more features than they used to. This clears the backlog and paves way for experimentation with all kinds of ideas.

Boost adaptability-to-change with automation and integration

Welcoming change, even late in the Software Development Life Cycle (SDLC) is a fundamental principle in the agile manifesto. By freeing up time spent in hand-coding the application, data integration, and manual deployment, low-code allows for focus on the customer. With low-code, making changes to apps is easy, managing those changes is easier.

Ease deployment at scale

By its very nature, enterprise application development demands scale. With hundreds of microservices and containers across multi-cloud environments, application deployment itself requires large operations teams. Yet, having multiple operators within each squad is not the most optimum use of organizational resources. A low-code platform with auto-containerization, cloud-native architecture, and integrated CI/CD pipeline can automate much of the deployment process.

The foundations of an agile organization are Autonomy of squads, alignment with product strategy, organization-wide collaboration, self-driven communities, and innovation through experimentation. This requires significant financial investment in hiring and training; as well as cultural investment in encouraging collaboration and fostering innovation etc. While this is necessary, it might also be time-consuming.

A low-code application development platform, as part of your technology toolbox, can give your squads and tribes the ‘environment and support’ they need to excel at their job. And by extension, they accelerate the organizational agility required to stay competitive in this environment.

6 Questions before choosing a low-code platform – WaveMaker

Whether it is code transparency, data ownership, Integrated Development Environment (IDE) interoperability, API connectivity, hidden costs, or vendor lock-ins, there are many restrictions when using a No-code platform. In modern application development plans, vendor selection is a complex decision-making process.

While many low-code platforms claim to have features such as “No vendor lock-in”, export to external IDEs, custom integrations, and no extra cost for additional features, in reality, there are many restrictions you may have to workaround. When selecting a low-code platform, it is important to know the scope and restrictions involved. The following will help you understand whether a low-code platform is truly open:

Question 1: What happens if you decide to move, will you get “locked-in” to the platform?

A “lock-in” includes different aspects, from the creation of standalone applications, data access, and control, to open-source or proprietary code generated. When examining the platform, you need to approach the answer to this question through several angles.

  • What type of applications does the platform create? You need to know whether the applications created on the platform are stand-alone or if they need a subscription to run. Ideally, you want to create applications that can run independently without dependencies on the tool, to ensure they will work even if you move away from the platform.
  • Do you have data access and control? It is important to know how you access your data and where it is stored, whether on their servers or in-house. If data is stored on their servers, make sure you find a simple way to download or export the data.
  • Does the platform have proprietary technologies or open standards? You need to know the type of code the platform generates. Is it open-source or proprietary code? If required, can it be maintained manually? While many vendors claim “no vendor lock-in”, they use proprietary technologies to generate code, making code maintenance and access to platform libraries a challenge. The low-code platform you select must use proven, open-source technologies where the platform libraries are easily accessible under open source licenses.

Question 2: Can you customize applications and integrate custom business logic?

Real-world, enterprise applications have complex business logic. While many low-code platforms serve the needs of citizen developers helping them build applications with simple use-cases, you need to make sure the platform you choose allows for customization based on your business logic. The best choice would be to use a platform that allows business users to create applications first and then enables the technical team to customize. In this way, you can integrate custom business logic and customize applications, thereby reducing iterations and accelerating delivery

Question 3: Is the platform open and flexible to allow two-way IDE interoperability?

The main criterion when selecting a low-code platform is its flexibility and openness. In application development, interoperability between development environments is critical, where interfaces can completely understand and work with other systems without restrictions on access or implementation. The platform you select must have the ability to export project code to external IDEs and re-import it to the platform. Along with this two-way IDE interoperability, the ideal platform will offer an open-source runtime library, allowing for deeper customizations free from lock-in restrictions.

Question 4: Does the platform make integration with external systems easier and allow custom integration?

One of the challenges of application development and modernization is database integration. Many platforms, due to a non-standard data model, use multiple tools for integration. This results in writing custom Java code for database integration making it an onerous affair. An ideal platform must be designed taking into consideration business data that is stored and accessed across proprietary systems. It needs to provide a range of integration options that add functionality to your applications and also enable you to create and reuse custom integrations.

Question 5: Does the platform make it easier to create, share and consume APIs?

APIs are important as they act as an interface between systems, allowing applications to talk to each other. Low-code platforms have easy-to-use, drag-and-drop technology to generate APIs. While most platforms are limited to providing support to connect APIs, what you need is a platform that adopts an API-first approach. The platform of choice would be one that automatically generates APIs and integrates business logic. It needs to allow developers to effortlessly create, share, consume, and bind APIs to UI components.

Question 6: Are there any hidden costs in the licensing structure?

One of the main aspects when selecting a low-code platform is pricing. There is no standard, one-size-fits-all licensing structure, and hidden costs could increase your budgeted cost. To be certain you know what you pay for, you need to know the type of charged by vendors such as fee for end-user seats, developer seats, run-time, distribution, and maintenance fee. Some platforms also provide standard email support included in the cost.

There are many questions the answers to which will help you make a better decision when selecting a low-code platform. The most important criterion, however, must be how it fits in with your business goals and how it can empower your teams to deliver more with less.

How low-code can power your Agile DevOps teams – WaveMaker

In the 13th Annual State of Agile Report, 97% of respondents report that “their organizations practice agile development methods.” 22% of the respondents said that all of their teams are agile. We don’t need evidence to show that the adoption of agile methodologies for software development is on the rise. Look around you and you’ll find that everyone is going agile in one way or another.

An important reason teams adopt agile practices is it helps accelerate software delivery—it changes organizational processes and steers teams towards technology excellence. In fact, that’s how the agile movement began. The principles of the agile manifesto set development teams up for success in the fast-paced modern world. It encourages teams and leaders to welcome changing requirements; build projects around motivated individuals; communicate face-to-face; and plan for sustainable development.

Alongside these mindset shifts, the practice of agile also needs a fundamental transformation in the way teams are organized. Bringing business people and developers to work together throughout the project was the first direct challenge to the plan-build-run model. This has been the foundation of IT organizations of the previous generation.

Plan-build-run, the predominant model of the waterfall development era, broke IT into three units. The planning unit included the business people, responsible for strategy, demand planning, financial management, etc. The build unit performed software development. And the run unit took care of operations and maintenance.

As the agile movement gained ground, the plan and build teams came closer, bringing major changes in how teams formed and worked. Agile development teams were cross-functional and often self-contained, in that they can develop and deliver a product all by themselves. In agile teams of today, business and IT teams are often co-located, making it easier to communicate face-to-face. Unlike the waterfall era which enabled extreme specialization, agile teams are made up of ‘generalizing specialists’, that is software professionals who have specialist skills in more than one area and a generalist knowledge in software development and the business domain. It would look a bit like this.

In most agile teams, operations are still an independent silo, leaving much room for improvement in the software delivery process. As a solution to this problem, we see DevOps taking shape since the last decade, especially among agile teams. The agile manifesto says “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.” To do that, bringing together business and development teams alone is hardly enough. Enabling frequent delivery, which has since come to be known as Continuous Integration/Continuous Delivery (CI/CD) needs a closer collaboration between developers and operations as well. A modern agile DevOps team would look like this.

If you’ve ever tried to build an agile DevOps team, you’ll know this isn’t an easy cocktail to brew. Bringing together a cross-functional team of motivated professionals to deliver great quality software, consistently in short delivery cycles, needs more than just intent.

What you need is a low-code application development platform designed to accelerate development processes for agile DevOps teams without adding to the cost of efforts needed in doing so. Low-code application development is the process of using development environments with Graphical User Interface (GUI) and pre-built configurations, instead of hand-coding software. Low-code is distinguished by:

  • Visual programming
  • In-built integrations and pre-fabs
  • Out-of-the-box security tools
  • Development and deployment automation

In essence, low-code platforms abstract and automate a significant part of the application development lifecycle.

How Low-Code Can Transform Agile DevOps Teams

Accelerate development by empowering developers, whatever their skill level

The fundamental change a low-code platform can bring to application development is that it makes it easy and convenient for developers across skillsets, including citizen developers and non-technical developers to write code. It eliminates the need for ‘specialists’ and enables ‘generalizing specialists’ to perform all their tasks..

Even for complex tasks requiring specialized skill sets, a low-code platform can enable you to be a self-contained team, democratizing application development. It also helps build reusable components, making them easily available for enterprise teams through the platform, and making it significantly easier and quicker to scale.

Accelerate development and shorten delivery cycles

Whether you are modernizing legacy applications or building state-of-the-art apps, low-code will expedite your coding process, by allowing your developers to use a simple drag-and-drop interface that will auto-generate code. Out-of-the-box widgets, templates, and native UX for mobile apps in line with best practices and design guidelines ensure consistency across applications and teams.

The common platform also brings business and development teams on the same page for feedback, iteration, and improvement. This will accelerate staging and testing cycles, by offering a visual prototype of the application in progress, improving collaboration and cooperation.

Streamline deployments

A low-code platform can enable instant multi-cloud deployment across public and private clouds, and on-premise. With a singular shared code-base, it can also enable cross-platform mobile app deployments, while maintaining code quality. It can offer innovative release management possibilities, version control, high availability, application portability, and a lot more. Through deployment automation, a low-code platform can streamline your deployments and give you better control over your application.

Ensure better security and governance to your application landscape

In a world where applications are constantly under attack, enterprises can no longer afford to consider security as an afterthought. A low-code platform integrates security protocols throughout the application development lifecycle such as authentication, authorization, certification, security architecture, auditability, performance monitoring, etc.

Enterprises focused on application development are moving towards agile DevOps to address the challenges of bringing complex ideas into reality. As the agile manifesto recommends, “To empower individuals, give them the environment and support they need, and trust them to get the job done, without compromising on consistency and quality of code across hundreds of teams deliver software rapidly without investing in large development and operations teams. Harness the change required to gain a competitive advantage while also ensuring utmost security and governance

A preferred solution to address these challenges is low-code platforms. By abstracting and automating complex development and deployment tasks, a low-code app development platform can accelerate your application development without compromising on quality, security, governance, and scalability.

Is the buzz around no-code and low-code extreme or justified?

18 weeks or more. That’s about the time it takes to build a mid-sized mobile application using traditional application development. Given the industry expectation to deliver fast, do you have that kind of time to build applications? Do you have the skilled resources required to address the demand for applications? Do you feel that you need to improve your time to market for application development?

Traditional Application development has always been a tedious and laborious journey for developing and delivering applications. While it gives you great flexibility in terms of development choices, it includes drawbacks like slow time to market, needs for highly skilled teams, and lack of automation.

In today’s digital transformation era, businesses want more applications in less time with fewer resources and complexity. Consider for a moment that you want to build a supplier registration application. Think about it, what would take 18 weeks to build the application using traditional development would take just 8 weeks using a low-code platform. The story of digital enterprises primarily revolves around using high-productivity tools and high-performance technologies. This has been the major driving force behind the emergence of no-code and low-code platforms.

Despite the disruption, there is widespread adoption of low-code and no-code platforms. Is the buzz around these technologies worth the investment? Do they walk the talk? Let us understand these alternatives and find out what is better suited for your enterprise.

  • No-Code Platforms - No-code tools provide a visual interface to develop your application without writing any code. This typically means using a complete drag & drop mechanism for UI, configurations, integration, and deployment of the application. It is a good tool for business users interested in building applications. Additionally, with no-code, enterprises can increase the pool of resources that can build applications. With that said, no-code is only suited for limited types of applications and use cases. Some of the other limitations of no-code include:
    • Single app development methodology, usually proprietary in nature.
    • Limited choices for data sources, integrations, and enterprise processes.
    • Zero code visibility, customizations, and reuse of existing code.
    • Not suited for high-performance, high secure apps.
    • Not suited for long-term longevity apps maintained by IT app teams.
  • Low-Code Platforms - Low-code tools also provide a visual interface to develop and deliver apps with the need for little coding. They also have a complete drag & drop mechanism for UI, configurations, integration, and deployment of the application. This provides greater productivity and lowers the time to market the application. Low-code tools fall into 2 categories:
    • Closed Proprietary Low-Code Tools - With this tool you can focus less on customizations and Extensions but more on visual workflow automation. It is a good tool for low-skilled developers and business users (citizen developers) who are interested in building applications.
    • Open Standards-Based Low-Code Tools - With this tool you can focus on customizations and Extensions of code with the visual app development methodology. It is a good tool for professionally skilled application developers who are looking at building long-lived high-performance and secure enterprise applications.

To find out what suits your enterprise best, here’s a snapshot that gives you a comparison of low-code and no-code:

Criteria No-Code Low-Code Technically Bent Business Users Low-Code for Application Developers
UI / UX Multi-Channel Visually appealing Multi-Channel Visually appealing Multi-Channel Visually appealing
Coding Requirement None Less Designed for Code Customizations
Integration Limited Comprehensive Comprehensive
Target Users Business Users Citizen Developers App Development
Time To Market Fastest Faster Faster
Enterprise Development Alignment No Limited No Disruption to existing enterprise processes
App Scalability & Performance Limited Limited High
Modern App Stack No Visibility Limited Developer friendly Modern Stack

There is an inevitable need for digital transformation and increasing demand for building enterprise applications. The expectation to deliver faster with fewer resources is rising. To materialize your digital transformation story, 18 weeks to build an application could be too long. By using low-code and no-code platforms, you could leverage the power of technology and reduce the time to developing a native app MVP. While disruptive innovation is the road to transformation, choosing your approach and technology wisely could determine the success of your digital transformation story.

Build a Strong Business Case for App Modernization – WaveMaker

Choosing the right business cases for your application modernization will raise the likelihood of earning executive support and achieving implementation success.

The organizational benefits of application modernization can hardly be overstated. McKinsey finds that with IT modernization, enterprises increase employee productivity by up to 30% and motivation by up to 40%; they also reduce defects and time-to-market by up to 60%. Forrester finds that IBM clients saw an average savings of more than $500,000 over the first three years of cloud adoption.

Irrespective of whether you’re entirely renewing your legacy application or integrating critical parts of it with a modern app, you can reap significant business benefits from modernization. Yet, often, enterprises fall short of unlocking their complete potential. This is mostly due to one or more of the following reasons:

  • The app you’ve chosen to modernize is less business-critical and more whimsical.
  • You’ve begun your modernization on an application either too big or too small to demonstrate its value.
  • Your modernization project is taking too long before it shows any real result.
  • You don’t have clear metrics for measuring the success of your modernization initiative.
  • You have skeptical executives who have given you half-hearted endorsements.

If you find any of these reasons relatable, you’re in luck. Because, if you have had a failed application modernization project for any of the above reasons, it can easily be fixed with a simple but crucial step: Building a business case.

Whether you’re beginning a pilot project, or you’re modernizing your nth application, a clear, strong, relevant, outcome-driven business case should be the first step in devising your application modernization strategy. A robust business case for application modernization shields you against the risks of failure in several ways.

Focusing on impact

The first step in a good business case would be to identify the right app to modernize, based on criticality, complexity, risks, and available resources, which will make your success both meaningful and impactful.

Working in your organizational context

Not all modernization is the same. Choosing a one-size-fits-all approach is a sure-shot way to failure. Having a strong business case will clearly define the scope of your modernization project, within the needs and possibilities of your organization.

Making results measurable

With a clear roadmap, milestones, and metrics, a business case will serve as a report card for progress. And as your compass in your application modernization journey.

Getting the right people on your side

Executive sponsorship for a transformational project like app modernization needs to be a lot more than just allocating budgets and resources. It needs their whole-hearted investment in ushering a cultural change across the IT organization. To earn that, your business case needs to go beyond the facts and calculated predictions. It needs to demonstrate the tangible and intangible value of doing down this path — be it monetary, operational, cultural, or even in terms of comfort and productivity.

In that sense, a ‘business case’ proposal will make or break your application modernization initiative. From our experience working with global enterprises on app modernization projects, here are our recommendations for building a robust business case.

#1: Identify the application you want to modernize

The most common approach app development leaders take is to first modernize the ‘low-hanging fruit’. No doubt, this reduces risk; it allows you the opportunity to fail fast and fail-safe. But, choosing an application only because it’s hanging low also minimizes the impact its modernization can have on your organizational IT. If the application you choose is rarely used, or costs little money, or does not have any impact on the day-to-day operations of your business, even a grand success might be ignored. 

What you need is a simple application that will yield maximum benefits in a short period of time. Perform a thorough business-driven analysis of your IT assets and choose an application that:

  • Is critical to your business.
  • Is used by a large enough number of users.
  • Is either functionally or technically unhealthy — essentially those applications that are slow, non-performing, or expensive.
  • Is small enough to show results in 8-12 weeks.

#2: Define your metrics

Be clear about what your modernization can and will achieve. Do not oversell the outcomes, which might result in your success appearing underwhelming. But make sure you’re not underestimating either because that can make your initiative appear not worthwhile. Demonstrate the consequences of not modernizing and the pay-offs of doing so. Here are some of the metrics you must consider:

  • Application performance: Improvement in response times and speed for the end-user; as well as a reduction in computational resources used in doing so.
  • Customer experience: Improvement in customer satisfaction (CSAT) and net promoter score (NPS) given by your end-users. 
  • Employee productivity: Time saved with custom workflows and automation.
  • The total cost of ownership: Money saved in building and running your application.
  • Time-to-application: Time saved in the development and deployment of future versions of your modernized application.

#3: Acknowledge the costs

Every technology initiative comes at a certain cost. This might be in terms of existing employee time and IT budgets if you’re implementing in-house. It might be significant project costs if you’re planning to outsource. But there are also indirect costs such as upgrading the maintenance skills you need, educating your users about the modernized application, compliance requirements, etc.

Ensure that you include all these costs in your business case proposal — it demonstrates your farsightedness and vision for the future.

#4: Devise your implementation roadmap

It’s crucial not to run before you can crawl. So, don’t push for all your applications to be modernized at once — if in doubt, go back and read #1. To mitigate risks and learn from your mistakes, implement in phases: Have 2-3 year sequences of updates. Have a clear and achievable timeline for each phase, keeping in mind the technical dependencies any of these might have. But three years is a long time in the technology world. Make your business case proposal dynamic to leverage the evolution in technology or your organizational growth.

In modernization projects, integration is one of the biggest challenges of application modernization. 29% of those surveyed in 2019 The State of Ecosystem and Application Integration Report tired that they fall short of the skilled resources required for managing integrations with current systems and ecosystems. Proactively address this aspect and other challenges in your business case. 

To help you devise a successful roadmap that includes business strategy, IT architecture, technical resources, and processes, we propose our AMT Roadmap for application modernization. The AMT (assessment, maximization, transformation) Roadmap is a three-stage framework that strategically assesses your business applications, maximizes your existing investments, and transforms current systems using highly functional applications to bridge the technical and functional gaps. Using the AMT Roadmap, CIOs and IT leaders can standardize their business operations, improve business processes and nurture innovation using cutting-edge technology across the enterprise.

Build apps easily for multi device transformation - Wavemaker

Mobile app delivery is an essential part of digital transformation for enterprises. Organizations need to build an app, not just one but multiple mobile applications for transformative experiences. Over and above there are other features that are needed like:

  • Role-based access to apps,
  • Single sign-on based authentication,
  • Visibility of application based on network/VPN,
  • UX and experience,
  • A style for native look and feel, and
  • Iterative publishing process.

Given that, not only skills for mobile apps are scarce, but also typically organizations lack a mature model for delivering multiple apps in a frictionless fashion.

Some of the mobile applications need deep native experiences and must be built as native mobile applications. If you are interested in native mobile app delivery, this is NOT the article for you. If simplifying end-to-end app delivery is something that interests you, then read on.

The traditional mobile app delivery model is time-consuming as it uses manual hand-coding. It also becomes complex to publish apps and the user experience is disconnected from development to delivery.

Many apps can easily utilize Hybrid Apps that use HTML5/CSS/Javascript/Cordova technologies and render that on a mobile WebView. This provides an easy way to build the application once and run it on multiple devices. This results in saving not just the application development effort, but also QA and management of these apps on multiple devices.

However, publishing apps on app stores is still a bottleneck as it may take several days to release a simple application.

Simplifying Multi-Device App Delivery

WaveMaker's mission is to simplify end-to-end app delivery. WaveMaker Low-Code development platform provides automation for building applications including:

  • Auto-generation of backend APIs given the data and queries, stored procedures, custom code.
  • Pre-built drag-drop Angular 7 based open source UI components with customizations for mobile-native look and feel.
  • Simple integrations with external APIs, enterprise systems like LDAP/AD, SSO/SAML, VCS, etc.
  • Out-of-the-box prevention of OWASP vulnerability.

WaveMaker now presents a super simple solution for mobile app delivery with partner product Spotcues. Mobile apps built-in WaveMaker can be published with a single click to Spotcues Micro App container (the only mobile app you ever install). So, build your apps with no/very minimum code using WaveMaker low-code platform and publish to existing app container providing WebView (no publishing of each app separately). This can be done iteratively for release any number of times a day.

In addition to unified delivery using the micro-app container, Spotcues can also provide some more features that can be optionally utilized including:

  • Intelligent search across multiple applications, open apps right from search.
  • Simple task-based apps.
  • Push notifications, bubble notifications for micro-app to the mobile app.
  • Contextual access to micro apps based on role, department, location, etc.
  • Real-time insights on usage patterns and adoption.

To summarize, Wave Maker provides a super fast and easy mobile app delivery mechanism with Spotcues mobile app that provides Micro-App container. This can help enterprises achieve mobile digital transformation much more effectively and at a much faster pace bringing all the benefits of a low-code platform. Talk to us to learn more about this.

It’s Time for AppMakers to Become WaveMakers

The life of an application is as long as the platform that supports it. Starting April 15, 2020, new application creation on Google AppMaker will be disabled and on January 19, 2021, the App Maker editor and user apps are shut down. As administrators, end-users, and developers using Google AppMaker search for alternatives, Google put this out in their blog post as choices for migration of applications.

  • If you are using App Maker to automate business processes: Use AppSheet, a new addition to the application development portfolio that has capabilities similar to App Maker. Stored in Cloud SQL and App Sheet, App Maker data supports Cloud SQL databases, allowing you to build an application on the existing database linked to your App Maker app.
  • If you are using App Maker to develop apps: Use App Engine to build and deploy applications on a fully managed platform. With data stored in Cloud SQL, App Maker allows you to build an App Engine application on the existing Cloud SQL database linked to your App Maker app.
  • If you are using App Maker for data collection: Use Google Forms, which has many new features that were not available when App Maker launched.
  • If you are using AppMaker for basic form and simple business process automation: Use Google AppSheet and FormMaker as no code products suit you well. They are good for simple data collection, form generation, and data persistence.

For full-fledged app development, Google is recommending customers to move to AppEngine which is Google’s PaaS platform to build applications in a traditional fashion. This alternative is unlike using a visual app development and delivery mechanism that provides greater productivity and faster time to market. However, the burden will now fall upon development teams to learn, integrate and manage application development and deployment. There are several challenges with introducing new technologies, re-learning takes time and it costs. Finding technical resources such as full-stack developers who will understand end-to-end application development is another challenge that enterprises will have to address. However, if you have a choice of integrating a platform that is user-friendly, requires minimal coding, and ensures upskilling of development teams, migration will be easier.

WaveMaker is positioned uniquely to provide a very good path for application development teams looking to migrate their applications to an open standards-based, scalable low-code platform. With WaveMaker, application development teams are assured of 3x faster productivity, a developer-friendly environment with a fully customized modern code stack, availability of complete app source code, and most importantly no vendor lock-in. Best of all, WaveMaker provides all the enterprise capabilities around web-scale scalability, enterprise security, and CI/CD mechanisms required for continuous and reliable delivery of your applications on any cloud of your choice.

Moreover, WaveMaker has inbuilt support for easy integration with external database SQL sources, RESTful integration, role-based app security controls, widget components library, and the ability to extend them and final deployment options on containers, Kubernetes, or VMs.

To better understand how WaveMaker is easier and better to use, here’s a comparison with Google App Maker:

Features WaveMaker Google App Maker
“No Vendor Lock-in" Applications developed are based on proven open-source technologies and the platform libraries are available under open source license making maintenance of applications easier.. Uses proprietary technologies making the generated code (including platform libraries) difficult to maintain without deep knowledge of how the platform works.
Integrations
  • Supports API and web services integration.
  • Creates and imports databases.
  • Provides a range of out-of-the-box integrations to instantly add powerful functionality to your apps.
  • You can also create custom integrations, called Prefabs, and reuse them across apps.
  • Integrates with Google Analytics and other applications in the G Suite bundle.
  • As multiple tools are used for integration, database integration sometimes requires writing custom Java code.
IDE Interoperability Offers two-way IDE interoperability and an open-source runtime library, making application customization free from lock-in. Its cloud-based IDE does not allow exporting project code to external IDEs and re-import it to the platform.
Customization
  • The platform appeals equally to citizen developers and professional developers or enterprise development teams.
  • Supports the creation of complex, real-world enterprise applications.
  • Supports ‘2-pass development’ that allows business users first to create applications and then enables technical teams to customize, if required.
  • Supports simpler use cases and focuses on citizen developers.
  • Lack of customization and flexibility required by various stakeholders.
Deployment
  • 1-click preview and deployment
  • Packaging for Android and iOS app stores.
  • Supports the flexibility of exporting WAR files of your applications, allowing deployment of applications independently.
  • Provides deployment to a public cloud, private cloud, and on-premise environment.
  • Lacks the flexibility to deploy applications independently.

If you are an existing AppMaker customer, we would love to partner with you on your application development journey!

 

Start Free Trial

Internal vs External APIs: Does it matter?

Insights

Internal vs External APIs: Does it matter?

For years, APIs and Services have been around in Enterprise Computing. In the good old middleware days, Service Oriented Architecture came into existence, and services were exposed using SOAP Web Service APIs. These APIs were mainly used to integrate applications to legacy systems and to one another.

With the advent of cloud, mobile, and the need for massive internal/external adoption of services, REST-based APIs have replaced SOAP Web services. REST APIs are HTTP-based, lighter, easier to understand, and integrate, and therefore, have become the de facto standard for creating enterprise APIs. Enterprise APIs can be internal APIs i.e. within or across LoB (Line of Business), or external APIs for partners and third-party developers.

In the past few years, enterprises, having learned from web-scale consumer APIs, realized that in order to create an ecosystem of applications around your API, it takes more than just creating an API and expecting consumers to use them. This is true for both internal and external APIs.

 

API Management

API management is the ability to document, publish, share, control, consume and monitor the consumption of APIs. All of this is done in a fashion that allows easy publishing and onboarding of developers using the APIs. So the question is:

If an enterprise is looking to publish internal and/or external APIs, is there a difference in managing them?

The majority of enterprises consume more internal APIs than external ones. API management is essential for both internal as well as external APIs as long as there is a need for,

  • Providing easy means to manage the lifecycle of APIs (Create, Publish, Version, and Retire).
  • Secure Access for protecting sensitive data that is being exposed.
  • Differentiated Access while allowing the consumption of APIs among stakeholders.
  • Easier onboarding of applications and developers that consume the APIs.
  • Monitoring real-time access and usage trends of APIs and take actions as required by the business.

So how do you begin with API management? What we see is, depending on the maturity of the enterprise, the journey of API adoption can vary. Some enterprises with no APIs will start with internal APIs, get the ball rolling, work closely with internal stakeholders to fine-tune the APIs, and then roll it out for external consumption. On the other hand, mature enterprises may start directly with external adoption. Some may just roll out internal APIs depending on the business need.  Let’s take a look at differences in the requirements when it comes to publishing and consuming APIs,

 

External vs Internal APIs

 

 

Internal APIs

External APIs

Creation of APIsAPIs are created based on custom business logic and could be auto-generated during the application development process.APIs are tuned and designed as per the needs of the external partners and third-party developers.
API Publishing, Sharing, and DiscoveryDone on an Enterprise Developer Infrastructure/Network that is accessible to all other applications within the Enterprise.Done on an External API Portal that is accessible to External Partners and third-party developers.
Purpose of API ConsumptionIncrease internal app development productivity, integrate applications within and across LoB resulting in streaming business operations.Increase partner business opportunities, create new business models, and in some cases, direct consumer integration.
API DiscoveryNeed to be discovered on the same developer platform used by other internal applications willing to consume the APIs.Need a public-facing portal to discover the APIs, explore them, and sample them.
API SubscriptionMay not need a stringent subscription plan to consume the APIs.Need diverse subscription PLANs for API consumers to subscribe to and then consume based on SLAs, Payment Plans, etc.
API PolicingNeed to make sure access of APIs are metered, rate-limited, and accessible based on Enterprise LoB needs and access rights.Need fine-grained API control around security, access, rate limits, SLAs, and access limits based on Partner usage models and subscription PLANs.
API AccessMay or may not need special tokens or keys to access the APIs. Mainly depends on the sensitive nature of data being exposed.Need API Keys and security tokens to access the APIs.
API InvocationsAPI Invocations are in very large numbers as they are consumed by the Internal Applications.Dependent on business requirements for access to external stakeholders. May be a much smaller number for Enterprise LoB Use Cases.

 

Platforms that provide a unified approach to rolling out internal and/or external APIs can better facilitate enterprises willing to develop an ecosystem around their APIs. At WaveMaker, we aim to make the journey from internal to external API Publishing a seamless one. As mentioned in my earlier post, WaveMaker Studio, via API Designer feature, allows for publishing, sharing, and consuming APIs internal to the enterprise.  As these APIs become foolproof, and enterprises like to develop an ecosystem around it, they can use WaveMaker Gateway that allows for publishing, sharing, management, and consumption of APIs by external partners and third-party developers. WaveMaker Gateway provides full-fledged API management capabilities and is specifically designed, positioned, and priced for enterprises wanting to embrace and develop API Ecosystems around Partners and third-party developers. Click here for a demo of WaveMaker Gateway.

How Low-code Prepares Manufacturers for Industry 4.0

The transition from “physical-to-digital-to-physical”, that’s what Industry 4.0 is about. It is a state in which manufacturing systems connect, communicate and use the information of physical systems to drive actionable intelligence executable digitally.

The opportunities that you as a manufacturing leader have today to improve operational efficiency depend on the technologies you decide to adopt at various points in the value chain. Different types of digital technologies are adopted in the manufacturing sector, from robotics, additive manufacturing, artificial intelligence and augmented reality. 

Across the manufacturing value chain - from design, development, manufacturing, sale, and service - integration and convergence of information technology (IT) and operational technology (OT) network devices are one of the key enablers in “smart manufacturing”. Using data from the industrial internet of things (IIoT) and with emerging technology you can seamlessly steer processes and systems towards Industry 4.0. 

Gearing Up For Industry 4.0? Why Manufacturers Need to Use Low-Code Platforms 

The core principle of smart manufacturing revolves around connecting people, machines, devices, systems, and processes. Rapid application development has become the essence of driving this connection across the enterprise from the production floor to the customer site. 

For instance, by using field service applications your workforce can access information offline when offsite, improving their productivity. By adopting microservices and generating APIs, you can develop applications with data analytics and dashboards enabling the onsite workforce to achieve faster, data-driven planning, production, and service. 

To develop and deploy applications at a speed aligned to enterprise demands manufacturers are widely adopting rapid application development platform. Here’s how low-code platforms empower manufacturing leaders in mastering the fourth industrial revolution:

  • Digitizes and simplifies the supply chain – With the need to simplify the supply chain and ensure vendors have more control and accessibility over inventory, manufacturers are digitizing their processes. Low-code platforms help to build smart applications that enable manufacturers and vendors to better manage supply and operations planning, optimize logistics and inventory management, and provide actionable business intelligence that improves decision making.
  • Accelerates application development to create connected factories – To achieve the transformation required to create data-driven, smart factories, rapid application development is a key enabler. Low-code No-code platforms empower manufacturing leaders, developers, and IT teams to create a connected enterprise by enabling the development of different types of applications such as field service apps and core business apps. 
  • Improves operational efficiency and worker productivity – There are several tasks on the factory floor and offsite which are rudimentary and repetitive. To improve efficiency and save time spent by workers on activities such as invoice and claims processing, order management, and supply chain management, low-code tools help to automate tasks. By developing web and mobile applications, data is accessible instantly and is shared seamlessly between teams, augmenting their productivity. It also improves efficiency by reducing data entry errors and providing access to critical data at the right time.
  • Augments the potential of engineers and developers to deliver more - Experienced developers are not easy to find. In manufacturing companies, developers need to create applications that can connect onsite and offsite, web and mobile applications with back-end systems that require them to be manufacturing experts. As this breed of developers is rare, application development for specific use cases becomes a long process. Low-code platforms provide developers and engineers with the tools to address challenges that they understand best, making application development and modernization initiatives faster.

Low-code platforms are increasingly becoming popular among manufacturers as they offer modernization of processes, customization of digital solutions, flexibility and extensibility for scalable implementation, and effective digital transformation. Take for example this success story about a large textile manufacturer in South Asia. They had an Order Management System that was built using Oracle Forms and Reports. With the need to modernize their existing forms and report applications, a new core business application was developed to help scale and meet business demands for the next decade. Here’s the gist of how they benefited:

  • Enhanced usability for users – With a modern UI, responsive designs, and by incorporating functional logic within the pages using custom widgets, the new application improved the usability for end-users.
  • Reduced the time to market - By providing a WYSIWYG interface to develop the entire application using visual drag and drop features, it reduced development time.
  • Ensured seamless reuse and integration – With easy-to-use integration features, existing database logic and data were integrated without complexity.
  • Enabled quick setup and deployment –Applications could be moved to any hybrid or multi-cloud environment and automated deployment was possible using containerization.

Take a look at the success story to know more about how this textile manufacturing company used low-code to modernize its legacy systems.

What’s Beyond Industry 4.0? The Way Ahead is Industry 5.0

Industry 4.0 is defined by intensive digitalization and technological disruption. The next level is Industry 5.0 which will be a transformation of how humans interact with new technologies. It will be about contextualization and inculcating a collective perspective about industrial technology. It will be about how humans and machines will collaborate and work together like the cobots (collaborative robots) observed in many manufacturing units already. As the relationship between man and machine intensifies and becomes more interconnected, digitalization in the Industry 4.0 era will need to be strong to usher in the Industry 5.0 era; an era that will be defined by collaboration between humans and technology and how they will master the art of working together with efficiency and accuracy.

When is a low-code platform right for your business?

In June 2014, ‘low-code went mainstream. Forrester researchers formally announced the arrival of ‘low-code platforms in their paper ‘New Development Platforms Emerge For Customer-Facing Applications’. While the idea of visual development and configuration instead of hand-coding existed since long before, Forrester’s report marked the time when global enterprises began taking low-code as a serious alternative to their current methods. And it has grown significantly since. 

Gartner predicts that by 2024, over 75% of large enterprises will use low-code development tools, and over 65% of all application development will be done with low-code tools and methods. Confirming these hard stats, low-code proves to be worthwhile because: 

  • It can make development up to 10x faster, as Forrester’s John Rymer argues.
  • It can help your application deployments achieve first-time-right. 
  • It can enable generalists to perform specialized coding tasks, optimizing investment in people.
  • It can improve your governance initiatives and security posture, and prevent shadow IT, through a unified platform.

The real question about adopting a low-code platform is: When is a low-code platform right for your business?

In order to help you gauge if low-code is right for you, in the present, we’ve identified specific situations in which enterprises see great benefits from low-code, across three dimensions — your business landscape, preparedness for low-code, and technology position.

Business landscape

When you need to ease your digital transformation journey

Enterprises on a digital transformation journey realize soon enough that their business landscape is evolving faster than their transformation initiative is moving. They need greater speed in their application modernization endeavor without sinking more investments in additional resources/tools. Low-code can enable this.

When you need to close the business-IT gap 

The visual approach of low-code simplifies the application development process — it abstracts complexities of integration and configuration, somewhat reducing the intimidating aspects of hand-coding. This allows business users and professional developers to collaborate more meaningfully. With visual prototyping, business users can play with the feature, facilitating earlier validation, reducing rework and cost overruns significantly.

When you need to deliver fast with limited resources

Be it market pressures, compliance needs, or competition, businesses from time to time come under pressure to deliver fast. And hardly ever has an IT leader said, “we have all the people and budgets we need to accelerate”. More often than not, IT teams are left to find innovative, yet cost-effective ways to deliver fast. And low-code is exactly that.

Low-code platforms enable enterprises to use their existing teams to perform complex development tasks with minimal upskilling. With visual prototyping, they provide a common ground for business users and developers to collaborate, without yet involving IT or DevOps. They automate coding, saving time and energy for engineers, which they can then leverage to innovate at scale. It ensures that you have standardized and consistent code, in spite of different developers working on it, eliminating shadow IT and facilitating better governance.

Preparedness for low-code

When you know exactly what you want from your low-code platform

As you identify and explore low-code alternatives to traditional development, you will develop organizational know-how about how it works, how it fits into your existing systems, etc. In such a situation, you might be in a great position to identify the perfect use-cases for adopting low-code — say, while modernizing legacy applications. 

In such a case, where you’re already up the learning curve, low-code can generate incremental benefits for you.

When you have identified the right people who will maximize the benefits using low-code tools

We’ve seen that early adopters and power users of low-code tools tend to be technically-inclined business users. For example, a business analyst who has a clear understanding of data organization / logical flows and a strong product point of view can leverage low-code for configuring and setting up the reporting software themselves. Or generalist developers who need to perform specialist roles as part of their job — say a backend developer needing to do the UI design. 

When you have identified the specific person who can leverage low-code because it fills a specific gap, it can work wonders.

Technology position

When your app requirements are varied 

Enterprise applications can sometimes be labyrinths of layers, held together by loosely defined integrations. When different teams within an enterprise come to the developer with different business requirements, a working reconciliation of them all can be daunting. With low-code, you can build custom apps specific to the requirements of each business team, without wrecking the foundations of your application. 

When you have high expectations of tech innovation 

In a world where every business is a tech business, every enterprise faces pressure to innovate. This can be even more demanding in a tech-heavy industry.. Low-code helps developers build features faster — with the visual interface — and also gets feedback quicker from business users. 

When you already have IT support for application integration 

Existing development teams often have a conceptual understanding of the application architecture and underlying infrastructure, which enables them to integrate and deploy their code. Adding a low-code platform to accelerate development brings an additional layer, which also needs to be integrated. On the other hand, enterprises might still need IT support to integrate the code written using the low-code tool into the larger application codebase. Often, enterprises shy away from adopting new tools for fear of this integration.

If you have an existing IT support team that can facilitate a low-code platform’s integration into the application landscape, you are in a better position to adopt low-code and reap its benefits.

Low-code as a practice and low-code platforms as tools can help application development teams across a wide range of functions. Whether you’re just considering modernizing your legacy systems or are at the cutting edge of tech innovation, low-code can help accelerate your digital transformation journey.

How Low-code Helps CIOs Accelerate Digital Transformation

CIOs need to embrace low-code as it can help accelerate digital transformation and application development demands

TGI Fridays recently introduced Flanagan, an AI mixologist. It is an app and chatbot that creates personalized drinks based on customer flavor preferences and moods. In another side of the marketplace, Nissan integrated Microsoft Office 365 to bridge silos, unify business units, make them "mobile-enabled", and to create a "digital workplace". This is the age of the "future-forward experience". As many companies and brands are working towards delivering experience, the key enablers are emerging technology and modern software applications.

Technology plays an important role in this age of the experience economy. The workplace is transforming, aiming to become more optimized. The workforce is evolving, where employees are now working beyond boundaries and using technology to collaborate and communicate in productive ways. Customers are becoming more demanding, expecting exceptional experiences. Reflecting these changes, enterprises and businesses are modernizing their processes and systems.

Along with the evolving workplace, workforce, and marketplace, the role of IT leaders and CIOs is also transforming. With the demanding need to adapt to a highly-optimised and hyper-connected world, CIOs are nudged into taking a strategic role. They are now expected to be change agents, responsible not only for managing IT budgets but also to identify revenue streams and create business value.

As digital transformation has become the main agenda, CIOs are using technology strategically and leveraging digital opportunities. The fact that in 2019, 40% of technology spending (more than $2 trillion) is estimated to have been assigned to digital transformation initiatives, adoption of emerging technology has become the biggest objective for enterprises. The app economy plays a crucial in driving digital transformation and business innovation. CIOs have to consider the people, platforms, and processes that will cater to the increasing demand for modern applications.

The increasing demand for enterprise applications has led to the increasing adoption of low-code platforms in the Application Development & Delivery (AD&D) market. Enterprises are working towards leveraging agile practices and incorporating development techniques to create a minimum viable product (MVP).

CIOs and IT leaders have to determine what practices, what type of technology and the skills required to achieve modernization. Here’s how emerging technologies such as low-code platforms help CIOs drive digital transformation ROI.

How CIOs can leverage the potential of low-code platforms to drive digital transformation ROI

● Align goals with people, processes, and platforms — Digital transformation goals need to be aligned with the business strategy and the culture. Senior IT leaders and CIOs need to communicate the goals and ensure that their workforce is tech-savvy to deliver digital transformation objectives. Alignment of strategies with business needs and expectations will provide CIOs with a better opportunity to succeed in implementation.

Emerging technology such as low-code platforms provides IT leaders with the potential to bridge silos, streamline processes and enable teams to collaborate and focus on core innovation. Using rapid application development tools, CIOs have been able to accelerate their revenue-generation and digital transformation initiatives.

● Get equipped with a modern technology stack — Before beginning the journey of digital transformation, CIOs need to identify legacy systems that need to be modernized. Incrementally modernizing traditional systems can allow stakeholders to witness the benefits and ensure wider adoption in the enterprise. By introducing a modern technology stack, enterprises can also involve and engage employees to upskill and learn about new technologies.

What low-code platforms provide is the potential to modernize applications without rebuilding older applications from scratch. The agility and speed to develop enterprise applications make low-code platforms a preferred choice.

● Accelerate time-to-market delivery of applications — The hyper-demands of the marketplace put much pressure on enterprises to deliver more with less. Accelerating time to market of product delivery needs to one of the main objectives of transformation and modernization.

Time being of the essence, IT leaders are widely adopting low-code platforms because they enable developing applications faster. Rapid application development reduces time spent on design and coding while improving developer productivity. By advancing the ‘speed to market’ metrics, CIOs using low-code platforms can achieve a higher return on platform investment.

● Develop custom applications to deliver user experience (UX) — While time is of the essence so is the experience. When introducing new technology and applications, user experience (UX) has become the core objective. IT leaders need to focus on the purpose of developing new applications. The objective must revolve around the needs of the users and how emerging technology can help them improve collaboration, communication, productivity, and performance. Ideally, application development strategies need to revolve around the ethos of users.

With low-code platforms, custom-built applications can be developed based on user preferences with agility and speed. They enable IT leaders to create enterprise apps that are designed to adapt to experiences instead of devices. By improving the usability metrics, emerging technology like low-code platforms has higher adoption rates and better opportunities to deliver business value.

● Choose the right platform and technology — Given the increasing demands of the digital marketplace, modernization and digital transformation initiatives require IT infrastructure to be agile, flexible, scalable and cost-effective. By supporting the development and delivery of custom applications on-time, low-code platforms ensure enterprise agility efficiently and cost-effectively. With many players in the AD&D market, CIOs need to wisely choose the right low-code platform.

Platforms offer ready-made application infrastructure, improve usability with rich user interfaces, enable full-stack development, give access to the best-of-breed technology stack, enable API-driven integration and encourage business user participation. Ideally, the chosen low-code platform should firstly serve a particular business need. It should allow for code reusability, improve agility, ensure faster time to market, and make integration and deployment easier without vendor lock-in.

Now is the time for CIOs to consider digital transformation

Enterprise-wide digital transformation is all-encompassing. It affects all stakeholders and requires revamping processes, upskilling people, integrating modern technology and changing the culture. As change agents, IT modernization and digital transformation can be a challenging feat for CIOs and IT leaders. Emerging technology such as low-code platforms acts as a catalyst to change, providing CIOs with a great opportunity to accelerate modernization and support digital transformation initiatives.

As the hyper demands of the enterprise continues to increase, the technology that delivers innovative solutions needs to be identified. The strategy, approach, and technology that CIOs and IT leaders choose will be the factors that determine the rate of returns on platform investment. The faster the informed decision is made, the sooner the benefits will be evident because the market waits for no one.

Originally published in Information Age by Vijay Pullur, CEO, WaveMaker.

Why the Shortage of Tech Talent is the Single Biggest Driver for App Modernization

The time has come. Experienced professional developers of yesteryears are hanging up their hats and opting to retire. While these seasoned programmers gear up for the sun and sands, the companies that depend on them are bracing for a technical and IT skills shortage. 

 Every year of every decade that has passed, legacy systems have been updated. The majority of these complex applications do not have documentation and there are a very small number of developers left who have an understanding of the business rules. There is heavy dependence on core mainframe programmers and IT leaders are concerned. Keeping in line with industry views, there is an urgent need for the IT workforce to develop their competencies to use emerging technology and support digital initiatives. 

 As technology becomes outdated so does the skillset of professionals who use it. Finding professionals with specialized skill sets to maintain legacy systems is another challenge that companies are facing. The tech talent shortage goes beyond a particular role. There is an overall shortfall of knowledgeable professionals who know how to code, be it developing back-end mobile applications to cloud-computing platforms. Paying top dollar to outsource support for legacy IT systems is no longer a viable option.

In a time of Digital Darwinism, technology is changing at a pace faster than users can grasp. In the Future of Jobs Report by the World Economic Forum, by 2022 more than half of the employees (54%) will require reskilling or the skill gap to adopt digital technologies will only grow beyond a point resolution. Given that the speed of change in technology adoption is inevitable, IT professionals have no choice but to shape up or ship out. 

 Is the tech talent shortage driving application modernization?

Given that modernization has become imperative in the IT-powered business world, there is increasing pressure to adopt emerging technology and modernize legacy systems. Several industry reports mention how access to better development tools, technologies, and services, makes developers more productive. By modernizing existing legacy systems engineering teams can become more efficient and the time-to-market can be improved.

There are many reasons why companies choose to modernize, from reducing the cost of maintaining legacy systems to responding to pressure that the competition presents. An interesting factor driving application modernization is the shortage of tech talent. With the lack of specialized resources, emerging technology such as low-code platforms are helping enterprises deliver more with less, here’s how:  

  • Enables upskilling of existing teamsRapid application development platforms provide exposure to professional development teams. By encouraging them to work on different types of technologies, frameworks, tools, and languages, programmers can upskill to become full-stack developers using low-code platforms.
  • Reduces dependencies on specialist roles – An application development that normally requires at least ten different types of developers can now be done by using just four developers. Traditional software and application development requires developers with specific skills such as UI designers and developers, UX experts, backend, database, and mobile developers, DevOps, and quality analysts. In contrast, low-code application development does not depend on specialist roles. Working towards building smaller and agile teams, low-code development requires fewer resources such as a UI expert, a full-stack developer, DevOps, and a quality analyst.
  • Provides a self-service solution for more innovation – The 2019 Harvey Nash / KPMG CIO Survey speaks of how technical professionals above everything else (job security and salary), prefer learning new skills and the challenge of innovative projects. Low-code development platforms give application development and IT teams more control and ownership over development projects. As the platform does all the heavy lifting by managing time-consuming tasks, developers can get the bandwidth to focus on innovation.

The hard fact of the matter is that regardless of the problem the solution seems to include technology. By democratizing technology, low-code platforms are nurturing agile teams and transforming the IT workforce from “doers to enablers”. Given the paucity of tech talent, low-code platforms help to close the gap between the increasing demand for enterprise applications and the technical resources to develop them. 

With digital transformation becoming mainstream, application modernization is gaining speed. Whether the objective of application development and modernization is to make money (line-of-business users), or it is to save money (C-level executives), or whether the shortage of tech talent is driving modernization, it has become a critical necessity, and low-code platforms have become an integral solution.  

2020 Predictions: Shifting Dynamics of Evolving Ecosystems

2019 was the year we witnessed business leaders intensify their efforts to embrace digital transformation initiatives and build an adaptive, technical and operational foundation. The challenges were plenty, many of which still need to be addressed.

Companies have had to deal with technical debt and organizational silos, which has increased resource allocation to their core tech stacks. Several digital transformation initiatives fell short on delivering desired returns. Many companies have eagerly adopted new technologies. While all of this was intended to achieve operational efficiency and viability, it has led to dealing with technical challenges.

With 2020 around the corner, the predictions are optimistic and radical. As the challenges continue to be actively addressed, let’s take a look at some of the aspects that will gain momentum in 2020.

CIOs and business leaders will embody transformative rolesbecoming 'chief enablers.'

These executives will chase tech-driven innovation with grit and break silos of teams to build ecosystems. The focus will revolve around people management, tech-driven innovation and ecosystem-building skills. In 2020, CIOs will be looking to automate their IT tasks and upskill everyone in order to address the increasing pressure to improve efficiency and control costs. This will not translate to layoffs; instead, Forrester Analytics data predicts agile DevOps teams will be created by training teams to manage more complex tasks.

Businesses will leverage the potential of emerging technologies to address challenges.

From decentralized autonomous organizations to immersive workplaces and digital ecosystems, companies will consider emerging technologies to reduce costs and invest in growth. In discussions about the outlook for the global IT market at the Gartner IT Symposium, analysts predicted that in 2020, enterprise software spending will reach $507 billion, a 10.9% growth from 2019.

Companies will adopt an immersive and adaptive IT approach.

Following shape-shifting characteristics of organizations, "fluid IT capability" will be nurtured, where the boundaries between IT and business will fade. Enterprises will embrace agile development practices to ensure better collaboration between business and IT. To achieve agility, businesses will work toward connecting people, applications and devices seamlessly.

With the increasing need to bridge silos, I believe developing enterprise applications with faster release cycles will result in the increasing adoption of low-code platforms. The fact that the low-code development platform market is growing at a rate of 40% and is expected to reach $21.2 billion by 2022 confirms the potential of modernization using emerging technologies.

Initiatives to upskill the workforce will be significant.

I believe this will come to fruition as IT leaders will have to address the challenge of cost control in an economically volatile environment. Cross-domain knowledge workers will be given importance, where employees with higher skills will be paid more and retained. Companies will invest in prepping employees to work together with automation tools and technologies. Employee development and improving the learning agility of teams will become the main priorities.

Companies will design their business applications experience around employees.

As the digital workplace evolves, employees will expect business applications they use and develop to deliver more. This prediction is based on the notion that the "one size fits all" approach offered by some companies will need to change. Low-code platforms will enable application development in alignment with job requirements, and self-service DevOps will democratize the way enterprise applications are deployed and used.

Employee digital dexterity will be the essence of future digital workplaces.

How work gets done will be transformed by employee-facing technologies. Collaborative, cloud-based work management tools will be adopted to create a digital dexterous workforce. Given that the competitive advantage of most companies is derived from how employees use technology, emerging technologies will be adopted widely to make employees and teams more agile, inclusive and engaged.

I foresee 2020 being a year that will witness far-reaching, fast-paced changes. Tech-driven innovation will drive changes in the digital workplace and the ecosystem. Emerging technologies and software platforms will revolutionize how enterprises develop, deliver and manage applications used by their employees and customers. Driven to achieve embedded connectivity, improve business agility and foster innovation, companies will evolve based on the shape-shifting dynamics of the workforce, workspace and marketplace. The best way forward is to plan ahead.

Originally published in Forbes by Vijay Pullur, CEO WaveMaker.

How IT and App Leaders can be Prepared for Changes in 2020

While 2019 was defined by rapid change, businesses in 2020 will witness a greater change in pace that keeping up will not be an option anymore. Digital will not be a differentiator. Enterprises will need to stay agile and drive value through digital opportunities. They will need to strengthen their IT and business culture and empower their workforce using a ‘digital-first approach. IT and application leaders will need to transform their organizations to leverage the power of emerging technologies more quickly. You will need to choose the right technologies to drive business outcomes according to their needs and goals.

As enterprises are learning fast how to effectively use technology to respond to the competitive digital environment, digital maturity is reaching a tipping point. They are now focusing on how to deliver, scale, and reap their digital ambitions. Organizations are already well underway in preparing for digital transformation. Gartner in its 2020 CIO Agenda eBook reports more than 40% of businesses already at scale and ready for digital initiatives.

2020 will also continue to witness the evolution of the role of IT and application leaders. You would be expected to strategize on utilizing technologies to enable your workforce to ‘do more with less’. To continue to be successful as an application leader in the future, Gartner highlighted that application leaders need to embrace changes to translate digital strategies into business outcomes. You will need to consider changes such as aligning business models and IT operating models, shifting budgets from IT to business units, and revamping digital infrastructure to support the evolving workforce demographics and culture.

As the role of IT leaders is redefined the role of application teams would also need to be redesigned. To remain relevant beyond 2020, you need to prepare your organizations and teams. Application teams would be expected to have a responsive and fast delivery approach. They will need to adopt a business-centric model and effectively use technology to drive business capabilities. To be prepared for 2020 and beyond, Gartner's Applications 2024 report states that only those application teams that adopt effective ways and tools to connect with business stakeholders can deliver desired business outcomes such as exceptional customer experience and solving customers' issues.

In 2020, IT teams will be expected to adapt and deliver business capabilities more continuously. They would need to drive the adoption of technologies like low-code platforms, predictive analytics, and DevSecOps. Technology adoption for IT teams would need to be a means to solve business issues and deliver business outcomes.

Through the years leading to 2024, the shift to product-centric delivery and digital platforms will continue and a customer-centric mindset will increasingly be desirable. Enterprises in 2020 would have to move towards adopting a customer-centric business model. As this model matures, customer centricity is seeping internally into the organization with teams having their customers. This also includes platform teams that develop and deliver APIs that are consumed by other teams. Product teams would need to do customer research and gain insights into their customers’ needs (internal and external). They also would need to have a clear understanding of the product vision which is critical when making decisions to deliver solutions.

As agility becomes the name of the game and IT leaders give more importance to digital initiatives a major portion of the IT budget will be allocated to application development. Low-code development will become a major element in achieving enterprise agility and development teams would be expected to deliver more. More than 50% of developers according to Forrester plan to use or use low-code products by mid-2020. By the end of 2020, Gartner predicts that 1 out of 3 business users will use low-code tools to create applications and product-centric teams.

2020 will witness enterprise applications being designed around the employee experience. The impact and influence of business users will increase and you would need to democratize the use of technology for business users. By 2023, Gartner predicts that "40% of professional workers will orchestrate their business application experiences and capabilities". Application development will be aligned to business requirements and self-service DevOps will democratize how applications are deployed using low-code platforms.

2020 - The Year of Bridging Gaps and Breaking Silos

The epicenter of digital initiatives is transformation and you as IT or application leaders would need to be equipped to ride the wave. 2020 for you will need to be about bridging the gaps and breaking silos. It will need to be about bridging the IT skills gap, the business, and IT gap, and breaking the organizational, application, and infrastructure silos.

By 2024, application stakeholders will become acutely knowledgeable about IT solutions and technology. Their demand for new capabilities will increase and it will be immediate. To meet such hyper demand, you would have to gear up and would need to do it fast. There must be a revamp of mindsets and changes in traditional practices to leverage the potential of application development. Application architecture must be role-centric and based on business capabilities, software development must shift to a product-centric delivery approach, business users must get democratized access to technology and tools, and the IT and business teams must seamlessly collaborate. Here’s to ushering in another decade of intense innovation, collaboration, and transformation.

How IT Leaders Can Empower Development Teams to Innovate More

The role of the IT leader in businesses has evolved significantly over the last decade. From being enablers of business to being ‘the business, this shift has been tremendous. Next-generation IT leaders and CIOs are no longer only ‘gatekeepers’ of providing the technology budget, they are now required to advise, guide, and translate core business requirements into technology capabilities. They are also required to assure C-level executives about the cost-effectiveness, profitability, and consistency to business goals that technology investments will deliver.

IT leaders have become “Chief Enablers”.  With the rise of the connected enterprise, real-time accessibility of data is necessary. Using technology such as cloud-based software, IT leaders can ensure real-time collaboration and decision-making is possible. Technology investment is another aspect where IT leaders play an important role. Moving enterprises to adopt new technologies does not mean giving up on existing legacy technology. When considering the modernization of technology, IT leaders need to understand the organization’s needs first, and then need to break down functions into microservices so that technology is used strategically.

Technology is ever-evolving. Along with the role of the IT leaders, business environments and the technology used is also evolving. To drive cost optimization, agility, and scalability, technology has advanced. The movement to the cloud was fundamentally driven by a need to optimize costs. The need for pushing faster changes to customers led to microservices-based architecture and the rise of APIs which also led to containers. With the growing importance of delivering customer experience the rise of mobile-first applications and the focus on creating cloud-native, modern and scalable business applications are observed. 

The Challenge of Creating Bandwidth for Core Business Innovation 

Today every business application is expected to be agile, scalable, and secure. While these improvements make applications better, the development itself has become more complex. IT has to build end-to-end application development teams with mobile developers, specialists for microservices and APIs, and DevOps experts to enable CI/CD. While finding skilled talent is difficult, the main challenge is to enable collaboration between these diverse teams.  

Think of this, while all the attributes like microservices, multi-channel, APIs, and cloud are necessary, it is core business innovation that will help enterprises differentiate their core offerings from the competition. With the focus on making better enterprise applications, finding a skilled workforce, and ensuring collaboration, core business innovation is hampered. This is where IT teams need to create bandwidth for core business innovation. One of the most potential developments in the app economy is low-code platforms. By leveraging technology like low-code platforms IT leaders can empower their development teams. Let’s look at how can this be done. 

How IT Leaders Are Using Low-Code Platforms for Innovation

To help enterprises reduce the dependency on specialized skills, achieve better productivity through rapid application development tools, and foster collaboration between teams, there is a need to adopt platforms. By using low-code platforms, the time spent by development and IT teams on application development and deployment is drastically reduced, giving them more time to drive core business innovation.

Low-code platforms empower development teams by enabling them to reduce development efforts and use automated, development and deployment features to build and deliver modern applications faster. Here’s a glimpse of how low-code creates bandwidth for development and IT teams:

  • Reduce UI development efforts - With intuitive editors and modern, WYSIWYG development studio, development teams can use simple drag-and-drop to create modular designs and develop hybrid applications. Given the ease at which applications can be developed and deployed, IT and development teams can focus on building applications that could have better business value.
  • Build progressive mobile apps with a lean development team – Businesses need to create mobile applications that can adapt to any operating system or native platform. Low-code platforms enable cross-platform application development which is a cost-effective option to create and maintain applications. By using a single code base and a uniform UI, the development time is reduced and it does not require specialized teams with extensive knowledge of multiple technologies. Moreover, by providing access to a wider audience, cross-platform applications help to increase revenue.
  • Auto-generate APIs – Any new service requires an API and generating code or reusing code of existing services can be challenging. Low-code platforms have made generating APIs very easy. They help to auto-generate APIs which can be for custom services, built over databases, and can also be generated for database queries with stored procedures.
  • Integrate CI/CD and enable multi-cloud deployment – Low-code platforms provide a range of options to distribute and deploy applications. With cloud-first application development features and an integrated pipeline for automated cloud release, instant deployment is made possible. No-code platforms facilitate continuous innovation with advanced release management that can keep up with the speed of the business.

The progression of technology in this digital age is unprecedented and powerful. The increasing influence of IT leaders and the strategic role they need to embrace makes it imperative for them to adopt technology to drive business outcomes and create opportunities to become forward-thinking leaders. While technology is the prime enabler for modernization and business optimization, ensuring it is adopted strategically will be a balancing act for IT leaders, one that will determine its leverage.

Improve Your App Development Experience With New Docs

By Swetha Kundaram, Senior Technical Writer, WaveMaker

After months of hard work, we have released a new documentation site for WaveMaker app developers. Besides frequent product releases, bug fixes, and new features, we are focused on improving the app development experience further.

The revamped WaveMaker Docs is a complete developer's guide to building enterprise-grade applications with a low-code solution. Our aim with this redesign is to simplify your day-to-day development activities and to comply with global documentation standards. By providing a better user experience, faster load time, and mobile-optimized access, we aim to positively impact the app development experience.

What’s new?

The new refreshing look and feel make the guide user-friendly and visually appealing. Using a well-organized tree-based structure, navigation across modules and related topics is easier. Added to this, to provide more accessibility, we have made our documentation open-source, which is powered by Git with the markdown data source. This means you can directly contribute to our docs. If you have a better solution for an older problem, please contribute to our docs. We will happily accept your pull request.

As we are in the process of continuous improvement you may notice some alignment issues due to recent migration and possibly a few broken pages. Please bear with us as we work on making the docs more stable. If you notice anything broken, send us a report and we will fix it right away.

Only the beginning

At Wave Maker, we believe in the power of modernization and hope our new design helps you find solutions easily and makes your WaveMaker app development process faster and better. As we continue to renovate, we aspire to empower you with all that you need to develop enterprise-grade applications rapidly, in reality.

Reaping Angular Advantage with WaveMaker

As web application development evolved, usage of JavaScript skyrocketed. To address the variance in support of JavaScript, HTML across the different browser versions libraries like jQuery evolved to offer a layer of abstraction for the web developers, so that they can just focus on writing their application logic instead of worrying about the vagaries of browser support. Single-page web applications started to become the norm as more code started to be written in JavaScript than ever before. JavaScript has also become the language of choice to deliver applications that run on desktop browsers and mobile phones. So web applications written in JavaScript are now in the run-in environments with huge variations in parameters such as device CPU & memory, network bandwidth, browser support.

Powering this scale of growth needed the emergence of more JavaScript frameworks that provide abstractions over this diversity of hosting environments packaging up the best practices in loading times, memory usage, and responsiveness. There is simply no way to deliver a high-quality user experience without basing application development on top of these quickly evolving JavaScript frameworks such as Angular. Leave it to the smart folks in the Angular team to worry about keeping up with the evolving web application requirements while the application developers’ energies are productively engaged with solving the business problem at hand.

WaveMaker generates Angular code

WaveMaker is the only Rapid application development platform with open-standards-based code generation using Angular & Spring. Our 110+ UI components are implemented as Angular components built into libraries. When the user starts building a page in WaveMaker, the product starts generating Angular code in the background. The generated code imports the UI components user dropped into the page and then wires them up using data binding.

 

The code generated by WaveMaker is fully customizable, allowing developers to write custom business logic in javascript. Using WaveMaker our customers have built a line of business apps, customer-facing portals, and mobile applications in several verticals such as insurance, banking, manufacturing, healthcare, retail, etc.

Build full-stack teams and boost their productivity

WaveMaker offers ready to use and well-tested component library and a visual development environment to drag-n-drop these components to design a page. WaveMaker abstracts away all the Angular concepts like routing, scoping, security (auth guards), i18n, and service integration with REST, SOAP & databases, etc. The developer focuses on building application capabilities like user interface & interaction, representing data with widgets like Forms, Table, Lists or Charts, etc., defining access control for both UI components and APIs.

Mobile-First application development

WaveMaker UI components built using Angular are device responsive and designed to suit mobile-first apps. WaveMaker platform enables hybrid mobile application development, using device-native capabilities through Cordova combined with the power of responsive Angular widgets.

Bring in existing UI components

While WaveMaker has 110+ UI components and this list is ever-growing, we realize that teams may want to build reusable UI components to further decrease the time it takes to build applications in WaveMaker. WaveMaker supports importing reusable JavaScript components that are packaged as Angular.io elements, web components, or jQuery widgets. Using a WaveMaker feature called “prefabs” existing UI components can be imported and these will stay accessible alongside the standard WaveMaker UI components and can be easily dragged and dropped onto the page that is getting developed.

Keep your application on the latest version of Angular

When users develop an app, WaveMaker generates application metadata that does not depend on a specific Angular version. From the metadata the Angular code is generated by the platform, keeping the app agnostic of any specific version of Angular. This means that the app will stay using the latest versions of Angular as WaveMaker rolls out the support for those versions. By simply upgrading WaveMaker versions the application will start reaping the benefits of staying on the latest version of Angular. There is no need to spend time in big stack upgrade projects that consume the productivity of your team.

Build applications that load faster

One of the benefits of Angular is that the framework comes with tools that support very advanced build strategies that reduce your application’s footprint. This is very important to the application's load time as the amount of JavaScript that is getting downloaded from the cloud uses up critical resources such as network bandwidth, device CPU. Smaller the application footprint, the faster the app loads. When you attempt to deploy the WaveMaker app, we internally use ng build --prod mode with tree shaking enabled so that each page includes only the WaveMaker UI components that it uses and not all of the library. Essentially, the WaveMaker platform takes care of all the build optimizations and keeps the application footprint as optimal as possible to give better performance and first-time load experience.

Easy to deploy onto a CDN

WaveMaker builds which are triggered when the Deploy button is clicked can produce different bundles for frontend, backend code enabling the frontend code to be deployed on a CDN. Each of the resources the page depends on includes a fingerprint that represents the contents of the resource. This means that CDN that is serving static assets can be configured to set cache headers allowing browsers to cache the content and further optimizing the load times for returning users. Because of the content-based fingerprinting incremental releases of the WaveMaker application will only link to newer static assets if there was a change. In most cases, WaveMaker UI components for a page are already in the browser’s cache.

Micro services Architecture in Greenfield Projects – WaveMaker

Launching a new business or project means that everything has to be built from the ground up, from defining services, functions, and product range, to deciding the technology, infrastructure, and resources required. Enterprises, to serve the evolving demands of customers and add business value, are looking to develop new applications faster with minimal resources and cost.

In greenfield development projects, the new applications built either solve unaddressed business challenges or entirely replace an existing inadequate system. Consider this example of a new start-up company that is going to launch an online, product range. The primary focus of the company is to build a minimal viable product (MVP) with the ability to make product improvements from customer responses. Without existing systems or architecture in place, the company plans to build a suite of applications to serve various business needs, add new functions, provide an uninterrupted online presence, and ensure scalability based on changing customer demands.

The company, with the absence of an existing legacy system, is weighing out the option of adopting microservices. If they choose microservices architecture, this would involve defining service boundaries (which need to be dynamic) and deciding the technology stack for each microservice. It would also include rethinking operations, creating a scaling strategy, provisioning infrastructure required for elastic scalability, and configuring and maintaining monitoring solutions.

While it is a relief not to inherit technical debt from legacy systems, there are many aspects to be considered when adopting microservices architecture for a greenfield development project.

Define your domain or service boundaries

When developing greenfield applications, defining service boundaries could be tricky. Before trying to categorize your system into different services, ensure you know your domain. For instance, you define that service A is responsible for doing a particular function. What if this changes or if you realize the function needs access to service B.

Before separating functions into microservices, you need to understand and have clarity about the dependencies they have. Only after some time would patterns emerge from which you can identify the functions and services and the problems they can solve. However, there would be apparent functions such as login or profile services that could be carved out into a microservice straight away.

Decide on the technology stack

The technology stack used with microservices in greenfield projects is diverse. You can combine multiple programming languages, frameworks, and data storage technologies. However, standardization becomes an issue with different teams using an entirely different technology stack. Low-code platforms offer one point of control for application updates and maintenance to overcome technology diversity. With a centralized repository for version control, multiple developers can collaborate and merge changes.

Achieve a minimum level of operational readiness

To start a greenfield project using microservices architecture requires a minimum level of operational readiness maturity. Operational readiness in terms of ensuring there is access to a deployment environment and building continuous delivery pipelines where services are created, tested and deployed. Whether it is identifying and provisioning infrastructure requirements, scaling strategy, or service discovery, you need to have a plan to address the operational complexities that could occur when adopting a microservices architecture.

Low-code platforms simplify application development, deployment, and delivery. They use Continuous Integration (CI) tools like Jenkins to provide a continuous delivery pipeline and provide an automated containerization workflow. Low-code platforms transform the way enterprise applications are developed and delivered.

Reorganize development, DevOps and IT teams

To ensure every microservice is managed independently, you would need to reorganize your teams and maintain a balance of resources. It is not productive to have engineers working on multiple microservices; neither is it feasible to have one person for each unique role. For instance, a DevOps engineer can manage dual roles of development and operations, or a full-stack developer can manage the entire application development lifecycle. Ideally, every team should have a balance of expertise which could comprise developers, testers, operations engineers, database administrators, UX designers, and in some instances, even product managers.

With the rapid increase in opportunities applications have to serve customer needs, development teams are under pressure to deliver at a fast pace with tight turnaround times. Added to that, the shortage of skilled professionals is hindering rapid application development. Here is where low-code platforms help by providing a user-friendly interface and a development environment where teams can collaborate on modules with efficiency.

Ensure microservices implementations do not turn into distributed monoliths

There are whispers about how most greenfield microservices implementations turn into "distributed monoliths." By taking a monolithic codebase and spreading it across a network, the benefits of microservices architecture fade. For instance, when making changes to business logic in a shared library, if you need to synchronize the deployments of multiple teams, it reflects the inability to deploy changes in isolation. When building a new system, it is a huge advantage to have a single, non-distributed codebase.

In greenfield, microservices-based implementations, low-code application development platforms provide business agility by automating systems and ensuring data security, integrity, and compliance with IT governance and standards. However, before going all in to adopt a microservices architecture, it would be useful to be clear about the fundamental aspects mentioned earlier about service boundaries, infrastructure, technology stack, resources, and team organization.

Faster Page Load Times Using Brotli Compression

By Subodh Kumar, Principal Engineer, WaveMaker

At WaveMaker, we want our users to have the best user & developer experience aided by a great performance. Also, we want the apps built by our customers in WaveMaker to load really quickly. In every release, we work on making the load experience better.

WaveMaker is a Rapid Application Development (RAD) platform that lets customers create responsive web applications or mobile applications using a simple drag and drop approach. WaveMaker simplifies building modern responsive apps using Angular. WaveMaker provides 100+ out-of-the-box responsive UI components. Using these components functionality can be built by binding them to data sources such as REST, SOAP APIs, or Databases.

As customers build the application in WaveMaker, Angular code is automatically generated. This allows us to use build tools like web packs and other tools in the Angular ecosystem. Using these tools WaveMaker application build process already derives benefits such as minification, tree shaking, lazy loading, and compression of static assets

In the 10.2 release, WaveMaker is introducing support for a better compression algorithm ‘Brotli’ as a part of its optimization that will help the apps load even faster. Customers will realize these benefits without any code changes by simply rebuilding their apps.

Why static assets should be compressed?
The performance of every app is proportional to the size of the resources it serves over the network to the user. The resources can be in the form of HTML, JavaScript, images, styles, and others. The bandwidth & time a resource can consume is a function of its size.

Thus, having resources of a smaller size can help in an app’s response time & performance. Compressing the application assets can help us achieve that. With the right compression algorithm deployed, the resources served will be optimal.

Brotli will help the pages of an app load faster & be more responsive. It also provides a better user experience, which every app or business is striving for.

What is Brotli? How is it better than gzip?
Brotli like broccoli is better for your health. 🙂

Humor aside, Brotli (defined in RFC 7932) is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding, and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed to deflate but offers more dense compression.

Brotli, when compared to Gzip, provides better compression & decompression performance. Following is the summary for comparison of common assets of an app

  • 14% smaller JS
  • 21% smaller HTML
  • 17% smaller CSS

It’s not just about compression ratio, but also about how long Brotli takes to compress & decompress data. Data suggests that Brotli is better at compressing static data because of its superior compression ratio.

Browser support
Brotli compressed files are served only over HTTPS & encoding is supported in most of the modern web browsers as shared below,

How to check if your static assets are Brotli compressed
The browsers which support Brotli will send ‘br’ with ‘gzip’ in ’accept-encoding’ of request header.

 

And, If Brotli is enabled on the server, the response will be in Brotli compressed format

Performance gains in load times
In WaveMaker, as soon as the user makes a deployment request for the Angular profile, the Brotli compressed files are generated. Since the generation of compression is part of the build process, when a request for resources is made by the app, the files are readily available and shared. This results in no additional runtime cost at the server.

Below is the comparison of resources for a sample app developed in WaveMaker, which will show the difference in the resource size.

Asset Type Without Compression Gzip Brotli
JS 2.7MB 698KB 573KB (~17% over gzip)
CSS 548KB 82.9KB 67.5KB (~18% over gzip)


What do WaveMaker customers need to do to benefit from this?
For existing projects, just modify deployment.properties (This will be not be needed after the migration is in) to enable the compression in the ‘deployment. properties’ as shown below & have the app served over HTTPS.

 

References:
Google blog -Introducing new brotli compression 2015/09
Github - Brotli
Mozilla - GZip Compression with brotli

Low-Code Makes Full-Stack Development Simpler, Faster

As the app economy grows, there’s a sense of urgency to create business value and drive mobility and agility. These digital opportunities to deliver value are massive, urging enterprises to develop applications with greater momentum. Technology is the primary enabler in enterprise-wide modernization, and the demand for developers to support this transformation is huge–and this is where the challenge of the looming skills gap emerges.

The 2018 LinkedIn Workforce Report stated that there is a shortage of 212,838 people in the U.S. with software development skills, including programming languages such as C++ and Java. In the developers market, it is easier to find developers proficient in one programming language than full-stack developers experienced in end-to-end application development. This is because traditional Java development teams depend on specialists, decelerating the application development process.

What Java teams are missing is access to consumer-grade UI that provides a conversational user experience, the ability to create multichannel responsive apps, API-driven integration for microservices and REST APIs, and agile DevOps to automate, iterate and deliver rapidly.

Here’s where low-code platforms play an important role. Gartner Research predicts that by 2024, about two-thirds of application development activity will be done using low-code application development. This is because these platforms are widely used to help create agile teams, reduce dependency on specialized skills and empower Java development teams to develop future-proof skills using a modern technology stack.

In addition to developer-heavy initiatives such as app transformation and migration, low-code platforms can empower developers and make full-stack development simpler and faster in a variety of ways. Here are some examples, offered as industry information from app dev platform maker Wavemaker.

Data Point No. 1: Develop rich and responsive apps using modern UI features.

Creating enterprise applications that have a rich user interface (UI) and responsive user experience (UX) requires time, effort, and specialized skills. Traditional teams require highly skilled front-end technologists with knowledge of HTML5, Bootstrap, Angular, and UI design.

Low-code platforms, however, provide drag-and-drop features, out-of-the-box Angular-based responsive UI and modern UI frameworks such as Angular 7. Utilizing a radical approach to use open-standards-based generated code, the code for every drag-and-drop action is automatically generated. Through this method, low-code platforms enable developers to build modern applications with minimal coding and guarantee the best code quality, maintainability, and extensibility of enterprise applications.

Data Point No. 2: Automate the creation of APIs from existing services.

Creating APIs from existing applications requires skilled Java and API developers to develop new database logic and coding, but there’s an easier solution. Low-code platforms provide one-click API creation, where microservices are auto-created and developers can use existing database logic, reuse existing Java code and create new Java code in IDEs of their choice, such as Eclipse.

Using an API-driven app development and integration approach, microservices are created and REST APIs are automatically generated for existing applications, making modernization of legacy systems easier and faster than ever before.

Data Point No. 3: Abstract complexity and empower smaller agile teams for full-stack development.

Developers, in addition to understanding all layers of the application stack for full-stack development, are required to deal with the underlying complexity of integrating, configuring, and developing for the various systems and frameworks involved in the end-to-end application development process. This includes UI, binding UI to back-end data sources, security configuration, API integration and creation, database logic, microservices, CI/CD, multi-cloud deployments and much more. Full-stack development becomes very complex for developers as they need to upskill.

Low-code platforms can abstract the complexity by providing accelerators across the life cycle of full-stack application development. Using low-code platforms, developers can own micro-functionality (also known as microservices) and can manage end-to-end application development from UI design, focused code development (avoiding any infrastructure code) to deployment, in a simplistic manner.

Data Point No. 4:  Democratize the delivery and deployment process.

Today, enterprises are leveraging hybrid infrastructure models (on-premises and multi-cloud) and distributed app architectures such as microservices and APIs. As traditional virtual machine (VM) pipelines are script-driven, repurposing and rebuilding them at scale is not an easy task. As a result, developers need to create deployment scripts to deploy apps to application servers and create CI/CD Git hooks for continuous delivery.

With low-code platforms that support continuous integration and continuous delivery (CI/CD), developers can instead deploy application artifacts (WAR files) to any Java application server. By supporting VM-based deployments and containers, deploying on-premises or in multi-cloud environments is made easier than ever before. As container images are automatically generated by integrating with existing enterprise CI tools like Jenkins, low-code platforms democratize the delivery process through seamless deployment to Kubernetes and auto-containerization.

Data Point No. 5: Migrate from proprietary technologies easily.

Migrating to modern applications can be expensive and require extensive coding. With the assistance of visual development features in low-code platforms, it’s easier to migrate from legacy applications based on proprietary technologies such as Lotus Notes, MS Access, and Oracle Forms.

With the app economy maturing, enterprise application development is becoming more sophisticated. While there is an increasing demand for a highly skilled developer workforce, there is a talent shortage and skills gap in the developers market, and the extent to which enterprises upskill their development teams will determine the survival, revival, and arrival of developers. Using the right tools such as low-code platforms, Java development teams can be empowered to focus more on innovation and address the demands of the modern enterprise. Enterprises that modernize and upskill existing development teams can future-proof the next-gen developer workforce and gain a competitive edge.

Progressively Break Monoliths to Microservices

“Change before you have to.” This quote by Jack Welch, Former CEO, General Electric has never had greater significance than today. Everything is constantly changing, from the expectations of digital customers, the requirement for better user experiences by the next-gen workforce, changing business models according to business needs, to the modernization of technology, before it becomes inevitable.

Consider this example. A health-information and intelligence company in Stamford, Connecticut built a ‘health intelligence platform’ to create their labs’ competitive difference. The platform built years ago had advanced from enabling clients’ lab operations to creating an impact on lab research outcomes. While the software developed 2 decades ago was robust, there was an imminent need for modernization.

From the VP of tech engineering to the lab head, there were change agents or champions who recognized this need for modernization. However other stakeholders, comfortable using the old system, were apprehensive to move to new systems. In due course, the company embraced modernization and upgraded from a legacy, FoxPro-based Lab Information Management software (LIS) to a modern Java/Angular application.

By using a low-code platform, they were able to accelerate application development, automate ordered tests, simplify integration with external systems, and develop applications quickly and economically. This accelerated their time-to-market - a necessary competitive edge, where the extent of technology leverage could make the difference between invention and discovery. Taking this example, we will discuss the approach and the steps that every change agent should consider when embarking on the modernization journey.

Modernization is not only about scaling or ramping up software technology, it also requires an enterprise-wide change in mindset. A change in mindset in the way people work, collaborate and communicate with each other and with the technology they use. What most enterprises are facing today seems to be an impasse. On one hand, business owners feel that the use of technology is limited to the support they get from IT and on the other hand, there are tech owners who do not have the time or the skills to deliver more. When IT teams are overloaded with enterprise demands, the bandwidth for core business innovation is minimal.

For decades, enterprise-class systems have had a monolithic approach. Enterprise architecture has evolved from monolithic models to service-oriented architecture and is progressively moving towards microservices architecture. The role of enterprise architecture has also matured, from supporting IT to a strategic role of innovation.

Enterprises can stay competitive by incrementally transforming monolithic legacy systems to adopting a modern, agile approach such as microservices. Once they experience the agile delivery of microservices, innovation will naturally flow. Any change agent will tell you, undertaking an IT modernization initiative is not an easy feat and the first question that invariably arises is “how and where to start?”

Enterprise IT Modernization Using Microservices 

How and where to start 

In any migration or modernization project, making enterprise-wide changes all at once is not always feasible, as it would involve intense coordination and meticulous planning. Moreover, modernization requires investment in emerging technologies, therefore big budgets need to be approved and allocated. The first step in IT modernization is not to make a mountain of the existing monolithic system. If new functionalities need to be added to the software, adding them to the legacy system is only going to make the migration process more difficult. Instead, build independently deliverable services, microservices.

5 Aspects to Consider When Migrating to Microservices 

Here is an approach with 5 steps that every change agent in an enterprise should consider when they begin their journey of modernization to microservices.

  •  
  • Integrate components and ensure data access by auto-generating APIs 

APIs are used to integrate components (third-party and internal) and the model used will determine the business profitability. Generating APIs for a new service or reusing code of existing services that invariably use legacy technology can be challenging. The pace at which APIs need to be generated is something most enterprises are grappling with.

In the earlier example, the health IT company had to build APIs over databases and custom services. Using a platform to integrate external EHR (electronic health record) systems and enable building a database of patient health records, a unified API helped them access data and run queries.

To improve productivity, low-code platforms are used to auto-generate APIs, where it is not limited to simple, database CRUD operations, but also the generation of APIs for search, filter, aggregate and export services, among others. APIs can be built over databases and for custom services and can also be generated for database queries with stored procedures. Using the ‘API designers’ feature in a low-code platform, REST APIs are generated automatically for every service imported into an application, be it a Database Service or Java Service.

Low-code platforms also offer the advantage of writing business logic by reusing generated APIs in popular languages like Java. When enterprises are in a position where they are still using legacy technology like JSF, Struts, JSP or Servlet where Java code is used, low-code makes it possible to extract the code and generate APIs from it. There are different ways in which a low-code platform can help in reusing code to generate APIs, either by obtaining the libraries of the code and wrapping it in a service or copying the code in a service. Moreover, since development teams would probably be using Java, reusing code and generating APIs becomes very easy.

  • Expedite data migration, availability, and accessibility 

When it comes to migrating the most valuable asset, which is data, the challenge of “data gravity” arises. Over time, as data grows, how it attracts other data, how it is integrated and how it is customized, changes. Data migration not only has to be done with speed to avoid disruption, it also has to be done accurately and securely.

When migrating to microservices, all of the data from storage systems have to migrate from a monolithic solution. However, at the time of migration, the data itself is not accessible directly.

To make data available across microservices, frequent data migration routines or a synchronization process needs to be created and these datasets need to be made available as APIs. In the earlier example, daily schedules for data migration and syncing were created to ensure access to near real-time data and minimal process disruption for users.

There are several on-premise, open-source, and cloud-based data migration tools. From on-premise data migration tools such as Centerprise Data Integrator, IBM InfoSphere, Informatica PowerCenter, Microsoft SQL, Oracle Data Service Integrator and Talend, to open source tools like Apache NiFi, CloverETL, Myddleware, and Pentaho, to cloud-based tools such as Alooma, Fivetran, Matillion, Snaplogic, and Stitch Data. These tools can provide simple data migration and repeatability.

Low-code platforms simplify and accelerate the entire data migration process securely. They make it easy to integrate anything from databases to third-party libraries and deliver seamless experiences with offline data access and synchronization.

  • Build simple UI applications that demonstrate immediate value 

Nothing compares to a user-friendly application to demonstrate its value. When using apps, the user interface (UI) is what delivers the experience for users. By creating ‘beautiful looking’ UIs, it is easier to get stakeholders to understand the value that an enterprise application can deliver.

Imagine you could provide users with better usability by providing a web application instead of a desktop application. What if you could create a modern UI that displays information and encourages interaction, something that was not possible until now. What if you can enable your users to use the functionality of modern applications through their mobile phones, on-the-go.

And what if you can build predictions and forecasts based on data and showcase it using powerful dashboards to stakeholders.

Modern, low-code tools have made it easy to create simple UI applications. With drag-and-drop features and limitless customization that low-code platforms offer, developers can create aesthetic UIs to deliver pixel-perfect application designs, at scale.

  • Pull services out of a monolith - One at a time

When migrating to microservice architecture, the best way to start is to break down the monolith into manageable chunks. The best approach would be to pick microservices out of the existing monolith one service at a time. Once the first service is up and running out of the monolith, this will give insights into how to create more microservices.

  • Identify the part of an application that can run independent of the monolith. Services such as reporting and dashboarding, or other such functionalities that can be made into independent microservices and which have frequent data sync available to migrate data to databases.
  • Identify how to write back to the existing application. Many systems provide a way to write back to the existing system. Interfaces such as EDI messages, HL7/FHIR interfaces, and CSV files can be used to write back to monolith systems.
  • Measure and show the value

Once a service is taken out of the monolith, identify more uses cases that can be pulled out of the existing application. Identifiable services could range from managing new customer orders, self-service applications providing customer information to a new payment service, basically, those services that can be managed as separate microservices.

The whole point of selecting one microservice at a time is to measure value and improvement. When choosing a service to be migrated or modernized, it is best to choose a high-value service, or a service that requires frequent change but not delivered as frequently, or one that can demonstrate visible visual improvement to stakeholders. Before creating a baseline to measure the effectiveness of change, make sure you gather relevant numbers such as the number of releases, amount of delivery and delivery time.

What microservices provide is a software component model that helps to future-proof systems against the changing business needs. Microservices works best when multiple teams are working in coordination to run a complex network of systems that require evolving applications. When applications and systems become complex and large enough to be broken down into separate services adopting microservices architecture is beneficial.

Make Migration to Microservices Meaningful

Inspire Innovation and Confront Change

Monolithic legacy systems cannot be transformed overnight. To migrate from monolithic systems and efficiently create enterprise-class microservices, a low-code approach has proven to be the most effective. Low-code platforms provide the ability to develop custom software stacks, deploy API-driven microservices-based applications and orchestrate IT infrastructure effectively. In this app economy, using an ‘API-first’ strategy with microservices architecture works great because it enables enterprises to focus on delivering value and accelerating innovation on a massive scale.

Look at microservices through a macro lens to understand how enterprises can use modern approaches such as low-code to rapidly respond to evolving demands. With composable architecture based on microservices, APIs, reusable components and containerization, low-code platforms empower enterprises to rapidly develop and deploy modern and cloud-native applications with agility, scalability, and simplicity.

Migration to modern technology is a major change for many enterprises, technologically and culturally. What low-code platforms provide is a catalyst that change agents can use to showcase the value of microservices to other stakeholders. Because modernization of legacy systems and migration to modern technologies is going to be inevitable, eventually.

Beware of Afterthought Low-Code Platforms from BPM Vendors

There is a new sense of urgency in modern enterprises, to drive mobility and agility, and to deliver more, faster. The expectation from modern-day application development revolves around delivering quick and agile releases, multi-channel applications, availability, and scalability.

The formula for quick release is quick development along with continuous integration and delivery. Quick releases = Quick development + CI/CD

Quick Development is where Low-Code Development vendors are providing superpowers to accelerate development and delivery. CI/CD challenges are already addressed to a great extent. Docker, Kubernetes on the cloud, and other CI tools can be configured with Jenkins to achieve integration and delivery. Considered to be a standard in the industry, most companies are already using CI tools and low-code to drive quick releases of applications with agility.

The underlying challenge is that majority of the vendors are BPM (Business Process Management) vendors who generate applications originally created for business users. As complete application development is not feasible without IT, BPM vendors are calling themselves low-code platforms. The applications they develop are an afterthought and are invariably reflected in the quality and maintainability of the application.

BPM modified solutions are not bendable

BPM tools primarily cater to BPM types of applications and other facilities are normally added as an afterthought. By using tools to quickly generate process-based applications, technical business users and citizen developers fall short of taking application development all the way. Typically standalone applications, core business applications, mobile applications, dashboards, API mashup applications, and chatbots are not optimized by the tools provided by BPM vendors.

The challenges professionals developers face when using BPM tools

Professional developers are a different breed compared to citizen developers. While business users can create intricate wireframe diagrams, not many are proficient in understanding the code that goes behind a single box in a diagram. The task of wiring code into wireframes can only be performed with the help of professional developers and their role typically involves (not limited to):

  • Writing custom business logic
  • Using custom or external widgets
  • Styling the application their own way
  • Testing applications for security and vulnerability
  • Deploying applications on the IT approved infrastructure
  • Delivering applications on different devices and channels
  • Managing application maintenance

When using custom BPM tools, professional developers face several challenges. They are unable to follow the popular agile methodology in the same way. BPM tools typically use complicated and proprietary technology and are based on older UI technologies like JSP/JSF, making it difficult for professional developers to work with. Moreover, BPM applications are not normally based on modern, microservice architecture, making multi-channel delivery a challenge. Added to this, professional developers are unable to use their favorite IDE, which can be demotivating and constrictive to the value they would like to bring.

Supporting professional developers may seem to be an ordeal, although that’s a price worth paying for high-quality, enterprise application development. Fortunately, low-code tools have proven to take the load off professional developers by doing the heavy lifting and enabling them to deliver more with less.

Taking app development all the way. How low-code empowers professional developers 

Rapid application development platforms are designed to provide a frictionless environment for professional developers to learn and evolve. Low-code platforms compared to BPM tools, help professional developers meet their expectations from the development process. Expectations such as:

  • Using modern architecture with modern technologies.
  • Delivering the application fast with Microservices-based delivery.
  • Integrating multiple devices and channels using API-based development.
  • Creating and using standard code so it is readable and maintainable.
  • Using agile methodology (not a modified agile or BPM methodology).
  • Using their choice of CI/CD tools as these technologies are already being used.
  • Using their preferred project management tools with no overpowering process from low-code tools.
  • Creating and capturing repetitive business logic that can later be re-used and expanded.

Rapid Application Development and low-code Platforms help produce ready-to-deploy applications. Combining code generation features with an integrated development environment (IDE), low-code includes the entire application technology stack, UI, middle-tier, and back-end. Here are examples of how low-code platforms development provides accelerators for development and delivery instead of imposing new practices:

  • Reusable widgets that can be designed and configured
  • Reusable styles and a provision to create custom styles
  • Reusable templates to cut the intense styling
  • Easy to connect external services and systems like REST APIs, SOAP APIs, and WebSockets without additional coding.
  • Auto-generates APIs wherever possible to avoid boilerplate code
  • Integration with the existing CI/CD and version control of choice
  • Provides accelerators for devices and channels
  • Out of the box configurable security like SSO, AD, and LDAP

There is a change in the pace of enterprise demands and delivery. With a critical need for rapid application development, more often than not BPM vendors are mistaken for low-code platform providers. Choosing the right Low code Platform could ensure you empower professional developers to deliver more, deliver fast, and deliver better. Because enterprise application development is more than an afterthought.

Top 5 aspects to take Micro services - Wavemaker

Agility, scalability and stability, this is the essence of microservices architecture (MSA). For enterprises seeking scalability, for developers seeking application agility, and for change agents seeking support for digital transformation initiatives, MSA is a key enabler.

In the inevitable journey of modernization, what microservices architecture has provided is the agility and scalability needed to make continuous changes rapidly. When transforming monolithic systems, using microservices for one service at a time has made it possible to showcase the business benefits to a broader audience. MSA has proven to be a key enabler to pursue innovation and digital transformation initiatives.

Given the positive business impact, why are microservices positioned in the "trough of disillusionment" in the recently released Gartner Research on Hype Cycle for Application Architecture and Development, 2019? For one thing, because driven by the enthusiasm to adopt what's trending many have misinterpreted the essence of microservices which has eventually led to unsuccessful implementation.

To take microservices out of the "trough of disillusionment" and to not make the same mistakes made by other application leaders, consider the following aspects before you begin your journey of modernization.

Understand the essence before adopting microservices

The meaning of microservices has been mistaken by many application leaders. The essence of microservices revolves around continuous delivery, stability, and scalability. Applying the principles of service-oriented architecture (SOA), microservices emerge from domain-driven design (DDD) and DevOps. Each microservice is a loosely coupled yet independently scalable and deployable application service that has a single responsibility and focus on delivering one business task.

Any service smaller than monolithic systems does not make a microservice. What many consider microservices is in disguise "headless API SaaS" or pseudo-microservices. Several vendors also resort to "microservice washing" the services they offer. When building solutions, application leaders need to understand and clarify whether genuine microservices are considered and not versions of reusable or shared application components or a version of SOA.

Partition only relevant services

One of the benefits of microservices is agility. By partitioning every service as a microservice, the complexity increases and negates the benefits. Application leaders need to carefully decide which components can be put into services to ensure implementation is done in phases.

To get the most out of microservices, the multiple granularities of applications need to be identified. It would then be easier to decide which components can be partitioned as services. In this way, microservices can provide the granularity of services and the opportunity for better application development and release planning.

Consider the organizational and cultural changes required

Microservices architecture is complex and has disruptive organizational, technical and cultural impact. When the ownership of the entire lifecycle of an application or product is in the hands of developers, application leaders need to ensure the roles and responsibilities are defined and governance practices are established. The organization structure and cultural mindset have to be realigned to enable the successful adoption of this new approach to application development, deployment, and delivery.

Ensure teams are adequately trained

Microservices architecture is fast evolving and new patterns, design principles, concepts, and tools are introduced. With changes in the technology stack used, sharing of knowledge across teams must be encouraged. Developers, architects, and DevOps professionals need to be trained to use new software programs and application lifecycle management techniques. To empower development teams to innovate and deliver more, application leaders are using modern technologies such as low-code platforms to make full-stack development easier.

Improve agile development practices

The prerequisites of a microservices architecture are agile DevOps and continuous delivery practices. Before adopting microservices, enterprises must ensure they improve their agile development practices and methodologies. In digital transformation implementations, enterprise agility is a prerequisite. Rapid application development platforms are increasingly being used to improve agile practices because they leverage low-code technologies and use open standards-based technology stack to ensure digital transformation implementations are successful.

Application leaders need to first understand the essence, objectives, and applicability of microservices. Once this is clear, they need to implement microservices iteratively, one service at a time. One of the main reasons why microservices implementations fail is because application leaders have in the past adopted microservices without making changes (organizational, cultural, and technical). To transform enterprises and align them to the main goals of agility and scalability, change is inevitable. Successful microservices implementation requires commitment, discipline, in-depth understanding, and openness to venture into a steep learning curve. Application leaders need to use this formula and embrace change if they wish to move microservices out of the "trough of disillusionment".

As an application leader or change agent, we understand that an IT modernization initiative is not an easy feat. Continue reading to know how you can add the catalyst to change and to know how and where to start your journey of modernization when migrating from monolith to microservices architecture.

How CIOs can Capitalize on the Power of APIs

As soon as the wheels of modernization picked up speed, many new technologies filled up the IT space. Of them, Application Programming Interface or APIs emerged as a key element driving application modernization. APIs are a network of connections that allow systems, applications, and devices to talk to each other by sharing business functionalities; regardless of where it is located or what format they’re in.

With the API space evolving more rapidly than ever before, most executives now regard APIs as the lifeline of their enterprises.

In its report, ‘2019 State of API Integration Report’, Cloud Elements mention that 55% of businesses use APIs to generate revenue.

In fact, the Programmable Web directory accounts for over 22,000 public APIs now. Do you know what’s more surprising? These numbers are based on publicly available APIs and do not reflect any private or internal API growth at all, which outnumber the public total many times over.

So what’s the big deal about APIs?

The most important aspect of APIs is that they bring in standardization of interfaces in the development process. Developers get to work on structured and standardized APIs that are bound not to change their underlying behavior, irrespective of the technology or components used underneath. APIs also take care of hiding the complexity of underlying implementation, bringing in modularity and separation of concerns, which lets independent decoupled services be implemented and tested.

Consider this example - an app developer can write millions of lines of code spending a fortune to create applications with mapping capability. Or, he can import these capabilities from Google maps API, saving money and time and enjoying a faster time to market. At the same time, Google enjoys branding benefits as well as earns revenue from millions of developers using its public API.

 

The API Economy 

It is a term that describes the way APIs can positively affect an organization's profitability. In some organizations like Salesforce.com, APIs contribute to more than 50% of total revenue. There was a time when only software professionals knew about APIs. Today, C-level executives are aware of the financial impact that APIs can have, and companies are generating revenue by exposing APIs as business building blocks for third-party applications. This awareness is a result of the following trends highlighting the API economy:

  • APIs as part of digital transformation strategies

Forrester predicts that, by 2020, companies will invest around $3 billion in API management.

This indicates the importance showered on API management. It highlights a very important fact that at the core of companies’ transformation strategy lies the user experience, and APIs play the meatier role of ensuring that these experiences are consistent among all the different channels of the company. The reason why APIs get the lion’s share of attention is that it enables quick deployment of apps in a repeatable way, leading to a faster pace of delivery. Additionally, APIs can reduce the cost of change and help enterprises achieve operational efficiencies.

  • APIs’ role in creating business models

APIs have made integration so simple that it is no longer an obstacle or a burden to venture into new business models in partnership with others. The simpler integration enables to the creation of business models based on third-party APIs. By using 3rd party APIs for all subsidiary services like user management, logging, dashboard, deployment, etc., IT developers can focus on adding new value propositions to the existing application related to the core offering of the enterprise. The focus of development is purely on the implementation of business logic and not on spending time implementing the skeletal structure of the app.

  • APIs accelerating new digital experiences

APIs make it easy to deliver extremely personalized experiences. Taking an API-driven approach to application development allows building products focused on each customer’s specific needs. In addition, API integrations ensure that all interactions run independently of devices or platforms from where the application is accessed. This keeps user experience consistent throughout their journey, enabling omnichannel strategies.

  • APIs to manage cloud complexities

Apps developed using an API-driven development approach tend to be modular in nature, with every module representing a service (third-party or own). The main application itself seems to be a collection of these loosely coupled services or micro-apps. This app architecture is called microservices. This approach suits today’s enterprises having distributed hybrid cloud and multi-cloud IT infrastructures, but it is not without some challenges. The popular one is how to make all these loosely coupled services work together.

APIs play a big role in solving that complexity. Each of these micro-apps exposes standard APIs so that they can be consumed by other services, in other words, these micro apps talk to each other using APIs. One major benefit of this architecture is that each service can be scaled separately independent of the others. In traditional monolith app architecture, the entire app has to be scaled, though only a part of the app needs scaling.

How CIOs can ensure APIs add business value?

In many cases, jumping into the API ship without a proper strategy can be counter-productive. It may result in a mess, with redundancies, poor maintenance practices, and limited transparency.

To make the app development process simpler, these two things should be considered:

API Taxonomy -

Initially, APIs were considered intermediaries that integrated and exchanged data between multiple systems. Since mostly the IT department dealt with all things related to APIs, the category used to classify them was usually technical and non-intuitive. This made business stakeholders stay away from API design and prioritization.

But the picture is turning rosy now. Organizations are defining their API taxonomy in a way that can be easily understood by both business and technical users. Categorizing these APIs into those that directly serve the business and those that are technical enablers is the key to realizing the business value of APIs. A sound taxonomy can increase value realization by 25 to 50 percent.

Low-code platforms for API-driven Development -

It is necessary to list the right use cases for the APIs, based on your technology feasibility (back-end readiness, for example) and your business requirement before choosing a low-code platform. A good low-code platform enables both API publishing and consumption and has solid collaboration with the API Management platform as well. The following benefits can contribute a lot to business value:

Overcoming technical hurdles of APIs: Modern REST APIs, though simplified, are still quite technical in nature. There is still technology involved in understanding path versus query parameters, headers, auth headers, API key, etc. A smart low-code platform abstracts these complexities and provides you with a nice UI-based connector to work on.

Auto-generation of APIs - Some of the most common APIs that can be auto-generated can include the services from DB, external services, custom coded business logic, security services, etc. More advanced platforms can also APIfy the SQL queries and DB stored procedures allowing total control for the users.

Automatic conversion of SOAP to REST -  APIs these days are mostly REST-based. But there still remain legacy SOAP-based APIs that the modern low-code platform can automatically convert into REST API endpoint for the app. This auto conversion is especially imperative in an enterprise setup, where legacy baggage is stifling. The automatic availability of REST APIs is a crucial factor in modernizing legacy apps.

Ease of design, testing, and sharing in APIs - In a connected app world, it is imperative that your own app should have easy ways to create, design, and share APIs. Inbuilt tools that can design your APIs (for eg, configure path parameters vs query parameters) with ease, test them (through an integrated testing sandbox), and then publish (private, public access) are important features in any modern low-code platforms. There should also be easy integration to publish these APIs into the enterprise API management platform so that it's instantly available to the API consumers within an enterprise.

Get up, close and personal with APIs

With the proliferation of smart devices, we are heading towards a digital world where everything is connected through APIs. APIs have moved out of the technology bucket and have dived into the bigger picture of business strategy for enterprises. By choosing the right platform, organizations can unlock the true potential of APIs and accelerate their pathway to digital transformation.

Shift from Working in Silos. Achieve Agility Using Low-Code Platforms

Here’s a thought. Every minute, more than one person in the workplace is using an application to connect, communicate, or coordinate. More than one person is responding to emails from their smartphones, digitally updating a sales opportunity, virtually conducting a project meeting, or collaborating to update workflows and tasks.

Welcome to the hyper-connected workplace, a complex ecosystem where people, devices, and applications interact.

Be it an HR application, an instant messaging application, a task management tool, a virtual meeting, or a team coordination application, core business applications have become the lifeline of enterprise operations.

As enterprise applications become easier to develop, everyone in the workplace wants to develop an app for their specific business needs. An app to interact with other peers, to collaborate and share work, for leave management, IT support, project planning and management, content management, resource management, learning and development, the list could be endless. But what about the stamp of approval from IT? What about security and agility? Our Lines of Business (LoBs) working in silos?

LoB Apps - Fighting Functional Silos of Teams Within Teams 

When LoB units, with teams within teams, decide they need a software application to solve a business need, it leads to the development of innumerable enterprise applications.

While this system may solve individual business unit requirements, a need will arise to interact and connect, securely and seamlessly. With this hyper-connectivity comes the need for agility and security, and here’s where the technical challenge arises. The ground reality, however, is that LoB units within themselves and IT are working in silos, while in fact, they need to complement each other.

As digital businesses today need faster release cycles and agile development, ensuring tools, processes, and knowledge skills are established early in the development lifecycle is needed. To bridge silos and improve the performance of application development, a new approach of Agile Operations must be embraced.

The Winning Agile Approach for LoBs in the Application Economy 

Go beyond “Keeping the Lights On”. The core focus of LoB managers is on improving the quality and performance of applications. Maintaining the balance between “keeping the lights on” or reducing operational expenses and innovation will result in operational excellence and internal competency. Adopting an agile approach gives LoB leaders to streamline processes to achieve competency and optimize resources.

With agile development techniques, LoB and IT functions can be connected. IT is part of every business function. With more freedom for developers and LoB managers to develop applications independently, the bottleneck arises when it has to be vetted by the IT team for security and viability. To ensure better collaboration between IT and LoB, and accelerate project delivery, enterprises are embracing agile development practices.

Using Low-Code Platforms to Achieve Agility and Shift from Working in Silos 

A ‘not so secret ingredient to achieving agility is connecting people, devices, and applications seamlessly. Each line of business requires various types of applications specific to their business needs and as LoB applications store valuable data typically in legacy databases, integration with other systems is complicated.

Moreover, LoB apps are built by mainstream developers than business users. For them, innovation and code control are important factors in their development process. Here is where low-code platforms positively impact professional developers to build and maintain LoB applications. low-code platforms provide agility to LoB managers and team members by:

  • Streamlining the process of collaboration and developing solutions to connect business units seamlessly.
  • Enabling the reuse of legacy functions, integrations, and scripts, therefore empowering LoB app developers to rapidly develop and deliver responsive apps.
  • Providing visual tools that team members can use to communicate and collaborate better.
  • Enabling them to handle technology requirements to process data, develop shared repositories, automate workflows and create dashboards without writing a line of code or visiting the IT team.
  • Enabling better collaboration between  LoB and IT to drive real-time, data-driven decision-making.
  • Creating customized applications that provide a functional technology solution that drives specific business goals faster.

21st-century LoB leaders understand the importance of achieving agility. Low-code platforms empower professional LoB app developers to develop new apps to meet functional needs and bring LoB into the mainstream. In this hyper-connected workplace, low-code makes it possible to connect, communicate and coordinate, seamlessly.

How CIOs Can Drive ROI of Digital Transformation with Low-Code

The role of CIOs has evolved. With the emergence of the app economy, they need to adapt to a hyper-connected world, work with the next-gen, digital workforce, and adopt a strategic role.

To support the fact that the role of CIOs is changing,  the 2019 State of the CIO’ report by IDG states,

“67% of IT leaders are spending more time on business strategist activities to help drive innovation and nurture go-to-market plans.

Over the next 3 years, CIOs expect to not only retain but to expand their newly-established business strategist charter.

77% of CIOs are planning to devote time to activities like driving business innovation.”

What’s your level of involvement? How are you planning to drive business innovation? Where would you start your digital transformation journey? Take a look at our previous post which emphasizes that the best place to start would be at the core, which is IT. 

To achieve digital transformation success, enterprise application development is emerging as an integral aspect. Get to know how you can drive digital transformation ROI using enterprise application development and low-code platforms.

Leveraging the Power of Low-Code

How rapid application development platforms help CIOs drive digital transformation ROI

  • Modernize with Transformative Technology - Traditional software and application development falls short of fulfilling the hyper demands of modern enterprise applications. They are linear, time-consuming to develop, have minimum iterations, and have low customer/user interaction. The essence of your digital transformation strategy needs to primarily revolve around modernizing traditional software.

In modern enterprise application development, ‘transformative technologies such as rapid application development platforms drive ROI by providing ready-made application infrastructure, full-stack development, improved usability with rich user interfaces, predefined best of the breed technology stack, API-driven integration, and business user participation.

  • Align Strategically. 1% Vision + 99% Alignment = Performance – Your strategy, digital or otherwise could be visionary, but it is ineffective if it's not aligned to the business objectives and user needs. C-Level executives must be tuned into the needs of their business, customers and users to drive experiences that revolve around their expectations.

By adopting low-code platforms and rapid application development, you can align teams and enable them to focus on innovation providing the necessary support to your digital transformation strategy and revenue-generation initiatives.

  • Enhance User Experience (UX) in the Experience Economy – Your business users are your customers and every CIO needs to tune into their pulse. To materialize exceptional UX, you need to understand their line of work, how they function, what they need to improve productivity and how they collaborate and communicate. The framework of your enterprise application development strategy ideally needs to revolve around its ethos.

Low-code platforms provide the agility to create and deliver custom-built applications that revolve around user preferences, with a speed that resonates to demand. CIOs who utilize rapid application development to implement their DX strategy have a better opportunity to create custom enterprise apps that adapt to experiences rather than devices.

  • Realize Real ROI in Line of Business (LOB) Apps – Transformation is an enterprise-endeavor and enterprise app development is a departmental endeavor. Modernization has to seep into every facet of your enterprise as different lines of business have distinct requirements. When devising digital transformation initiatives, CIOs who consider LOB apps mapped to specific requirements have been successful in improving usability and productivity, and inherently boosting ROI.

What rapid application development platforms offer that traditional IT development doesn’t is ‘inward-facing agility with intra-departmental APIs. By supporting the development and delivery of custom LOB apps efficiently and on time, low-code platforms ensure enterprise agility.

  • Be Equipped with The Tools of The Trade – C-Level executives when developing transformation strategies, need to identify the right type of IT infrastructure. Given the evolving demands of the digital workforce, transformation initiatives require IT infrastructure to be flexible, agile, and cost-effective.

As traditional software runs out of steam, enterprises can transition IT infrastructure to app modernization using low-code development. With rapid app development and agile integration, CIOs can support the digitally-empowered workforce in a cost-effective and efficient manner.

  • Be the Leader of Change or You May Be Forced to Follow – To achieve successful digital transformation, CIOs have got to be the leaders of change. The digital workplace thrives on collaboration and to be effective it requires the involvement of the entire enterprise.

To realize ROI on modernization and transformation, CIOs need to ensure a culture of innovation, where creativity and productivity are instilled. They have to be committed, involved and encourage technology enthusiasts to work on emerging technologies.

CIO’s ‘Not-so-Secret’ Approach to Digital Transformation Success

Business transformation is all-encompassing, it affects everyone, involves everyone, and requires strategic alignment between processes, people, technology, and culture. There is a ‘not-so-secret approach to digital transformation success. It's the innovation philosophy of design thinking. More than ever before, CIOs are leveraging design thinking (observing and analyzing user behavior to gain insights) when devising IT development strategies. This, however, will be covered intensively in another article.

As a tip-off, there are several sides of digital transformation you need to consider:

  • The ‘technology-centricity trap’. Does the application of the new technology solve a need?
  • App-fatigue. Does every business unit need a line-of-business (LOB) app?
  • CEO buy-in. Does your digital transformation strategy have the stamp of approval?

Many questions need to be answered, several strategies need to be made, different demands need to be met, now. As they say “take your time but hurry up”, because digital transformation demands velocity!

With transformation comes change

With change comes making choices

With choosing comes responsibility

Make it count!

Explore the Strategic Role of CIOs in Digital Transformation

Digital transformation (DX). Everyone is talking about it and wants to get on the bandwagon. Take for example Razer’s story. As far as transforming a modern workplace and collaboration goes, it's considered a phenomenon. By supporting teamwork, rapid communications, and real-time collaboration using intelligent technology solutions, Razer has gained a competitive edge in the multibillion-dollar gaming industry.

You can observe a similar story at Virgin Atlantic, where they aim to develop apps quickly and easily to empower employees with tools and information to help field workers get a better view of customers and deliver better service.

Digital transformation comes in all shapes and sizes. It is all-encompassing and can have different connotations for different stakeholders. How do you interpret it? Does digital transformation for you mean the same for your peers? A CIO may translate it as improving operational efficiency, while it may mean augmenting customer engagement for a CMO.

What does digital transformation actually mean for you and your enterprise?

  • Is it about modernizing legacy systems? Individually, gradually, simultaneously, enterprise-wide?
  • Is it about shifting from traditional software development to full-stack development with an API-driven app approach?
  • Is it about creating bandwidth for continuous innovation and advancing time-to-market?

While every enterprise wants to modernize and transform, not everyone is successful in digital transformation. What it requires is commitment and involvement, enterprise-wide.

According to the CIO’s 2019 State of the CIO Survey, “88% of CIOs say that they are more involved in leading digital transformation initiatives compared to their business counterparts.” In the ‘2018-2019 State of Digital Transformation Report’ by Altimeter, “CIOs are cited as the most typical official owners or sponsors of transformation initiatives.”

Executive Ownership of Digital Transformation 

As business modernization and transformation continues to mature, CIOs are required to have a stronger presence in revenue-generating initiatives and in areas they have not delved before. What’s your level of involvement? Are you skin-deep or knee-deep in digital transformation? When revenue and ROI become the name of the game and as you wade into uncharted waters, where do you begin, what’s your first step?

The Crucial Kick-Off In Your Digital Transformation Journey 

Make the first step count!
In your digital transformation journey, the best starting point would be the core. And the core of digital transformation is IT.

As ‘application organizations’ are constantly evolving to adapt to the hybrid world and the digital workforce, IT is expected to not only modernize technology but also deliver business value, augment user experience (UX) and achieve core innovation.

Enterprise application development is emerging as an integral requisite to achieving digital transformation success. Rapid Application Development platforms are gaining sway by empowering IT, providing the bandwidth to focus on core innovation, advancing time-to-market strategies, and helping to achieve competitive differentiation.

How can you drive digital transformation ROI using enterprise application development and low-code platforms? Continue reading our next post to find out more.

Use Low-code platforms to empower java development teams

"By 2022, skills required to perform most jobs will have shifted significantly and no less than 54% of all employees will require significant upskilling", according to the World Economic Forum, Future of Jobs 2018 Report.

Not all Java development teams have upskilled to stay relevant. Java developers, once valued, are finding themselves challenged and in a way, dispensable. New programming languages, development tools, and delivery platforms are being introduced every week.

Modern enterprises need to innovate and deliver faster in order to remain competitive. With all the buzz around multi-channel delivery, ultra-rapid development cycles, fab front-ends, microservices, and cloud nativity, traditional Java development teams need to learn new skills, new vocabulary, and adopt new approaches to enterprise app development. The skills mismatch combined with rapid delivery demands has put immense pressure on Java development teams.

Here’s how existing Java development teams can become full-stack developers using low-code, rapid application development platforms.

Let Low-Code Platforms Do All the Heavy Lifting

What normally requires 10 developers can be done with 4

Traditional Java development teams require developers with specific skill sets at different stages in the application development lifecycle. To simplify the application development process and to address the shortage of skilled developers, here's how rapid application development platforms help:

  • Build smaller, agile teams - Using rapid application development tools, an application development project which typically requires around 10 different types of developers can now be completed with just 4 developers. Java development teams can transform to full-stack developers using low-code platforms, therefore reducing the dependency on different types of developers with specialized skills.
  • Encourage upskilling  - Developers can learn and gain experience in full-stack development by using rapid application development platforms, which provide exposure to various types of technologies, frameworks, tools, and languages. Here’s a glimpse of how developers can upskill to become full-stack developers using a low-code platform:
  • Empower developers to deliver more  - Rapid app development platforms do all the heavy lifting by handling tedious and time-consuming tasks. Therefore, giving the bandwidth for developers to focus on analytical thinking and innovation.

Embracing new technology need not necessarily mean a radical transformation. It is about upgrading existing skills to keep up with changes in the industry. Find out how the ‘Survival, Revival and Arrival of Java Developers’ will depend on how they can upskill to full-stack developers using the right tools such as rapid application development platforms. Download this Whitepaper

Rethinking Customer Engagement? Think Agility in app Development

When we talk about an agile enterprise, we usually refer to its ability to organize and make the best use of its available resources to deliver projects on time. Factors like this and then some more – being able to make quick deployment of the right people to the project, establishing governance practices that allow quick decision making, and standardizing key processes – lead to an increase in agility and performance of an enterprise.

Some may ask whether enterprise agility is the same as digital transformation. The answer is no. Digital transformation deals with the ‘how to deliver’ aspect of a business strategy, adapting your business offering to cater to the digitally savvy customer and omnichannel customer engagement. Enterprise agility deals with the nuts and bolts of this adaptive ability. It is more technical in nature dealing with the whole life cycle of application development, including intra-departmental APIs, rapid app building platforms, cloud technology and collaborative microapps.

Why the need for agility?

The traditionally accepted waterfall model of app development required each stage of the development process to be completed fully before the next phase can start. Reviewing and documentation take place at the end of each phase to figure out whether the project is moving along the right path and whether to continue or discard it. Software testing in case of waterfall method takes place only after the development process is complete. This method has its limitations as user expectation might change even when the developer is working on the UI screens and server APIs. This means discarding the entire application and starting all over again. Beside this, there are other disadvantages of the waterfall method –

  • Once the application reaches the testing stage, it is difficult to go back and make changes
  • It takes a long time to release a working software and increases the cost of maintenance
  • Not a good model for complex projects where requirements keep changing in response to customer review
  • Components have to be designed and constructed from the ground up as per project requirement and hence are not reusable
  • Factors like the emergence of new competitors, cheaper alternatives, software providing better functionalities with new technology increase the risk of developing an application for longer time

Though it has certain shortcomings, the waterfall model is sometimes beneficial for the limited functionality of small budget apps. But when it comes to enterprise and consumer mobile apps, this model fails to meet cost and time to market expectations. This is where agile methodologies make its mark. It breaks down the application development process into small steps, while at the same time integrating review, documentation and testing at each step. It takes an iterative approach to application building which is streamlined and flexible, allowing for changes to be made on an as needed basis.

The current trend

In the run to compete in the market, every organization is trying to become faster and better in what they are doing. No matter how efficient they are, it is always difficult to determine what changes to make to create the maximum impact in the market. One way to determine the agility of your organization is to look at the software development lifecycle. Let us look at the phases that constitute an app’s lifecycle –

  • Planning and analysis stage – Business analysts and project managers are involved in analyzing the market requirements and crafting a strategy to deliver applications
  • Documentation – This stage requires documenting all the technical requirements and details
  • Prototyping stage – This comprises of the UI/UX component where the designers create the sketch, wireframes, prototype for stakeholders’ approval
  • Development stage – At this stage, developers perform the front-end and back-end segments of coding
  • Testing stage – Performed continuously, this stage comprises of testing tech requirements, device compatibility, security features, interface followed by bug fixing
  • Publishing and maintenance – This stage is covered by the DevOps, taking care of publishing the app to different platforms, updating releases, infrastructure and app maintenance

With time, new and emerging trends in enterprise application started impacting application development in a big way. Ease of usability and responsive design became the norm of the day. Technology today is more consumer oriented to increase accessibility and ease of operation for users of enterprise applications. Catering to this requirement, applications today are hosted, developed, and customized on the cloud. Traditional methods of building software applications failed to meet these demands, not just for web applications but for mobile applications as well.

The low-code way of app development

Low-code development emerged as an easy answer for successfully delivering applications and improve business agility. It enables development teams to rapidly develop, test, and deploy applications with little to no hand-coding. This process makes use of declarative approaches specifying the actions of the desired application which the platform then creates or renders. It follows an iterative process where customers are involved at each phase of development. Changes are incorporated immediately, making the process much faster.

Let’s look at how low-code addresses app development across its lifecycle –

  • Low-code provides a browser-based application development environment relieving the developers from the hassle of installing, setup, ongoing configuration, etc.
  • It enables the development of good looking and rich user interactive applications, creating pixel perfect responsive UI for both mobile as well as desktop devices.
  • Low-code can help auto-generate code based on open standards by leveraging client-side frameworks and server-side technologies with the help of APIs.
  • Low-code provides predefined well tested technology stack for application development, doing away with the need to maintain multiple teams to support it
  • It simplifies the development process wherein both business units and professional developers can work together combining domain knowledge and the technical know-how in building the application
  • Low-code takes an API-led integration approach so that applications can easily integrate into an external, internal or cloud-based service. This allows for faster and easier development of the application.

What is your agility score?

Low-code platforms have modernized the way enterprises build, deliver and manage web and mobile applications, improving business agility and fostering innovation. The benefits have a direct bearing on the cost and schedule of enterprise application delivery.

The agile development approach to building application encourages the team to deliver the project within the deadline, resulting in earlier market reach. It contrasts the waterfall model’s lack of flexibility and its linear stages to software development.

The agile model focuses on customer collaboration, continuous delivery, constant feedback and communication between developers, customers and users while delivering software incrementally.  Agile can work wonders for app development, provided you know how to make agile work for your business needs.

Originally published in The Tech Portal

Becoming a Platform: What it Takes

In the SaaS world, branching out to a platform business is fairly common. It’s not a surprising move anymore, given the huge benefits of owning the building blocks of other businesses, as we talked about in the first article of this series. Since building a thriving platform ecosystem doesn’t happen overnight, in this follow-on piece we’ll explore the steps for implementation.

In this era of digital platforms, there is no limit to the number of customers you can reach out to. McKinsey noted recently that "companies pursuing offensive platform strategies yield a better payoff in both revenue and growth". Looking at this, one might think the sky's the limit for digital natives having an army of tech-savvy professionals. But this might be generalizing a bit. Incumbents can command a 20 percent share of digitizing markets, compared to only 5 percent for digital natives. But only 3 percent of incumbents have adopted an offensive platform strategy.

Though adoption is low, a growing phenomenon indicates that companies are transitioning from a product-based to a platform-based business model. Technology is at the core of this transition. Cell phones, which were once just typical products, have now become platforms offering a plethora of functions besides only making telephone calls. This is bringing subscribers together with application developers.

According to Harvard Business School, a successful platform strategy involves three components -

  • Connection: how easily users can get access to the platform to share and transact
  • Gravity: how well the platform attracts participants, both producers, and consumers
  • Flow: how well the platform fosters the exchange and co-creation of value

Example of a product organization supporting multiple products sharing components of the same platform - by Wyatt Jenkins

If you are considering branching out to a platform business model, the following steps may help in your implementation approach -

  • The foundation: It is critical to establish the core services that your platform will provide its users. From an IT perspective, a platform provides a complete environment for developing and deploying applications that can speed time-to-market and generate revenue when reused. As the platform grows, you can add more features or services depending on the needs identified by the platform users themselves. For example, LinkedIn’s initial offering to users was creating a profile page. Then they realized they needed to add more features to encourage active participation and added discussion groups followed by recruitment and advertising functions and finally letting users publish their content - turning the professional network site into a publishing platform. At this stage, IT can start to make build vs buy decisions.
  • The model: Adopting a hybrid model is useful when approaching platform-based business, as it can help enterprises create and capture value to attract new users without abandoning the existing ones. Let’s look at this example for better clarity. When computer game developer Valve came up with its first video game called Half-life, it became a sensation. Soon hackers were developing their own modifications to change the gameplay, creating barriers for those who wanted to play against each other. When Valve realized that there is a demand for an alternative to Half-Life, they hired those hackers who created the best-modified version and turned it into a second game called Counter-Strike. This way Valve turned the threat into a new business opportunity. But as a growing number of versions started creating problems for Valve users, the company created an online software channel in 2003 called Steam to distribute patches. As the number of users increased, Valve transformed Steam into an online platform that allowed developers to distribute their software titles instantly at zero marginal cost — a lucrative proposition for both gamers and game producers. The availability of more games attracted more customers to the platform, including new ones who were now downloading Steam and buying various games. Although Valve continues to sell its own software, today it makes more money by charging a percentage of every sale by other developers. Another example - Qihoo, one of China’s most successful internet firms, started as a security software product that cross-subsidized the development of a new platform with products that they gave away for free, creating more value in the end for the entire platform.
  • The demand: Creating a demand for your product involves attracting a number of users. This can be done in phases like Makerbot, the 3D-printer developer, did. They approached a group of devoted product fans to make desktop 3D printing accessible to all. To expand this group and build momentum for this product, Makerbot conducted a series of projects, conferences, and events. For example, many of the product fans helped build printers for Makerbot when demand started exceeding their production capabilities. The company then turned this enthusiastic group into early adopters of the platform which propelled the growth of Thingiverse - an online platform where makers can post designs and users can download them to print. With the platform in hand, Makerbot then leveraged the efforts of their early adopters to create more features for their platforms. Makerbot’s cultivation of its users as it moved from product to platform was immensely successful.
  • Provide adequate value: To create a demand for your platform, your platform should also create new value for your customers to use it. Valve’s Steam and Lego could both do it. But not SF Express, a leading parcel delivery service in China. In 2014, SF Express launched an e-commerce platform connecting third-party merchants to their customer base. They also opened many physical stores from where shoppers can order products using their tablets. Once ordered, SF Express would deliver the products to the customers who could try it and return back immediately if they wished. But this ‘try and buy’ concept did not attract the users as they were already getting this facility from Chinese retailers for goods purchased online.
  • Internal team: It is important to align your internal team and stakeholders to establish roles and responsibilities to ensure a smooth transition from product to a platform. For example, the IT team can develop the base services of the platform, and business units can develop applications using these services and infrastructure. Accordingly, funds can be distributed so that each unit can succeed. Apart from having a good internal team, companies can also benefit from including outsiders in the process. A Stanford graduate student opened up the code for Lego’s Mindstorm robots to create a platform, effectively transforming a toy into an educational tool for schools. Lego benefited by hiring an external agent and created new value for their product through a platform.

A mindset change

Shifting from a product mindset to a platform mindset can be downright counterintuitive—indeed, many firms discovered new platform opportunities almost by accident and in spite of their own missteps. But, like many transformational strategic moves, the successful transition from product to platform should happen in stages that demand flexibility. Platforms are at the core of the successful businesses of the future. By adopting platform thinking and new technology, any business can evolve to join the platform economy.

Branching out to a Platform Model

Building something valuable isn’t a one time process anymore, it is a continuous process and requires you to enable a network of people both inside and outside your company with the right building blocks

What’s common between Facebook, Twitter, Amazon, Airbnb, Uber and Apple? Of course, leave aside the success part! They all conduct their business on a scalable online platform that connects producers and consumers. They create value by facilitating exchanges between two or more interdependent groups bringing in tailored products to the market faster and with less investment. By using the platform model, these companies have grown in leaps and bounds to grab greater market share from well-established firms.

The difference between platforms and traditional business models lies in the way they create value. With producers at one end and consumers on the other, the latter model transfers value along a linear pipeline. The platform model creates value by connecting producers, consumers, and the platform itself. Platform companies have now become the major drivers of innovation as they are setting the standards for digital transformation. As platforms have become the new normal in how leaders are conducting business, enterprises must make the most out of this opportunity.

 

Enterprises can bring their core value unit to the platform and customers can extend the product by adding features relevant to their business

Go figure!

A 2016 survey by Accenture says, "81% of executives say platform-based business models will be core to their growth strategy within three years". Let’s look at some figures to find out how much popularity platform business has gathered in the business-to-consumer (B2C) context. Almost 80% of China’s e-commerce market is controlled by Alibaba. WeChat messaging platform by Tencent, Asia’s most valuable company, has nearly 850 million users and according to some estimates is the largest gaming company in the world. In the early 2010s, BlackBerry Limited (formerly RIM) and Nokia lost huge market share to Apple and Google because they were acting as product companies in a world speedily embracing platforms.

We’re not even fighting with the right weapons, ... The battle of devices has now become a war of ecosystems

This is spurring the investors to put in more money into platform business than in their linear counterparts. The S&P 500 shows platform businesses have an average revenue multiple of 8.9 while for linear businesses, it’s two to four times more revenue on average.

Platform business is also making a lot of noise in the business-to-business (B2B) world. PingAn, an insurance company in China, is an example of how a traditional corporation transformed its business model. Reframing itself as a technology company, PingAn created a portfolio of platform businesses related to insurance in different verticals - connecting doctors and patients in healthcare; purchasing and selling cars in automotive and even in the entertainment industry. Five years into this transformation, PingAn is now the world’s most valuable insurance company.

Let’s loop in South Africa as well. Naspers, a 100-year-old company printing newspapers, transformed itself into a platform company in five years, built global online classified business OLX and acquired food delivery startup Delivery, Hero.

What’s fanning the transformation?

Why are established companies conducting business in traditional ways thinking of disrupting their operations and going bonkers about platforms as a business? These benefits of offering a platform over a product might make for a strong case –

  • Instead of bringing complete products to the market, businesses can be set up around extending the core product. This can reduce the need for capital, manufacturing capabilities, and building the product from scratch. Through documented APIs and SDKs, developers can add features to the product using the platform.
  • Though a product might support limited use cases, a platform can be leveraged to support a wider set of use cases, broadening its market space. Vendors can also reuse the platform for their own benefit.
  • Companies marketing products with limited use cases are less likely to keep customers for long. Platforms on the other hand are deeply integrated into the business architecture and are not easily replaceable. This means that customers will think twice before discarding it and instead adapt it to their needs over time.
  • The value of a platform business increases with more people using it. The examples that we talked about at the beginning - all rely on a large number of people using their platform to interact. This increases the value of the platform over time.

A promise of growth

At times, when there is increasing pressure to build and market something new, a product platform strategy can be the perfect solution. This is because a healthy network of producers will allow the platform owner to reach out to more customers and have a flourishing business. This network becomes more valuable when the platform fosters distributed innovation and each player can grow faster than they would on their own.

Role of Governance to Make Low-Code Platforms More Productive

Most organizations implemented low-code tools to speed up the application development process. From $4.32 billion in 2017, the low-code development platform market size is expected to grow to $27.23 billion by 2022. This technology is gaining popularity, not only as a means to transform legacy applications, but also for building customer-centric mobile and web applications.

The ability of low-code platforms to speed up the process of application delivery and deployment enabled enterprises to respond in time to demands for business software. It caught the attention of professional developers when they used it to build complex applications with multiple functionalities used across the enterprise and not just for one department. Add to that, access to cloud services via self-service interfaces compelled AD&D leaders to adopt low-code platforms to innovate and deliver.

Implications of Wide Low-Code Adoption

The idea behind adopting low-code platform is to use a minimum of coding and more visual modules to build applications, whether for user experience or data modeling purposes. According to a Forrester survey, large enterprises are among the biggest adopters of low-code platforms. This has helped to quell the doubts of developers who believed low-code platforms are not meant for building large scale complex application. Using low-code tools, developers found that they can create applications that once took months.

Yet in cases with no proper governance in place, it can become a technical burden for the company as the cost of maintaining such applications can escalate when using closed low-code platforms.

Know Your Users

Before putting any governance in place, it is important to know who the prime users of low-code platforms in an enterprise are. Primarily, professional developers, dependent on coding, are the first-level users of these platforms. They have an intimate understanding of application design, performance, maintainability, and reliability. Then comes business experts or citizen developers who also contribute to building applications by bringing in the knowledge of what the market needs are and how the application can best serve those needs. Depending on who is working on the platform, a sort of control mechanism can be established to ensure that users can get the most out of these applications.

Pitfalls of Lack of Governance – Shadow IT

No-code platforms have a strong appeal for non-technical users. They can rapidly create a business application using the visual tools of the platform without writing any code. In a few years, there will be thousands of such apps performing even mission-critical tasks. Completely independent of IT intervention, it will soon become another instance of Shadow IT. Although these shadow apps improve productivity in the short run, it may compromise IT security in the long run as they are not protected with firewalls and security systems. Also, when these shadow apps fail to deliver certain functions, the cost of rebuilding them using technology approved by the IT often increases the cost to the organization. It may also need to hire external developers who can implement applications in accordance to their IT policies.

When shadow IT is becoming the alternative to traditional ways of delivering applications, it becomes a monumental task to do away with it. But there are ways to realize the benefits of these shadow apps built with tools like low-code platforms, without compromising on IT security and governance. Open-standards-based low-code platforms are widely available and conform to the guidelines of IT security, enabling developers to build customized applications according to their business needs. Using proven rapid application development platforms, shadow apps can be liberated from proprietary technologies that often becomes a roadblock to innovation.

Collaborate Securely to Improve Efficiency

To mitigate the risk of shadow IT, developers want to work on secured platforms that help them build custom applications with minimal coding and in less time. Whether working on a large project or many small projects, enterprises rely on a global team of developers. These developers have varied levels of skills and roles to play. Platforms with comprehensive role-based access control features will allow enterprise application development teams to collaborate better and create applications faster without the risk of project governance issues. It is based on the principle of allowing the least level of access to perform tasks with full efficiency.

Conforming to Governance Rules Made Easy

Today’s government regulations like the Health Insurance Portability and Accountability Act (HIPAA) or European Union General Data Protection Regulation (GDPR) place strict requirements on enterprise databases and their use. Keeping this in mind, logging data changes in a database has become a common requirement of enterprise applications. This involves additional effort during the application development process. Instead, an in-built functionality for data auditing will allow developers to concentrate more on the business logic than handling history logging needs. Platforms that enable seamless integration of such functionalities into applications will automatically become the preferred choice of enterprises to meet compliance needs.

Not All Rules Are Meant to Be Broken!

Rules, standards, and governance help to not only decide what apps are to be created but also how they will be written. Good governance policy is one of the secrets to successful low-code implementation. In the absence of it, an enterprise may end up with thousands of low-code applications in dire need of IT intervention.

Originally published by Rooplekha Poddar in DZone.com

Open low-code - The low-code platform that’s high on developer love

Being in the market of application development for almost a decade, my team at WaveMaker has been through some of the big shifts in the application market. In my opinion, one such shift is the magnitude by which IT budgets have been slashed over the years. Although this could be due to many reasons, what is important is that this budget cut has caused a demand growth for low-code platforms, whose promise is to churn out applications faster and in an economical manner. Besides WaveMaker, companies like Outsystems, Mendix, Appian started catering to this market, but I believe there is still more value to be created and open-low-code platforms will be driving it.

Emergence of Open Low-code

A major portion of IT budgets goes into the development and maintenance of core enterprise applications. This includes LoB apps and apps with emerging cloud-native architecture which is built by mainstream developers and not business users. What I have seen is that for developers, code control and innovation are very important. We thought for low-code to be more valuable to developers, it should have an impact on how mainstream developers build and maintain applications. Open low-code platforms do just that.

Let’s understand how open low-code addresses both the productivity needs and key concerns of an enterprise as we have seen.

  • Built for professional developers
    Professional developers often build applications that are long-lived and have complex business logic. These applications are highly secure and integrated with the enterprise ecosystem and in some cases are fine-tuned for cloud scalability. Open low-code platforms provide developers an end-to-end ability to handle such complex application needs; from best practices around the generated code to cloud-ready deployables. According to me, because the generated code is easily extendable with their favorite IDEs, over and above mere productivity gains, open low-code platforms also have higher chances of developer adoption.
  • Long-lasting technology
    Proprietary technology frameworks will result in developers hitting a wall sooner or later. Open standards-based best-of-breed application frameworks allow developers to easily learn and adapt the platform as they can find greater learning resources. Working with enterprises we have seen that if your stack is modern, it gives greater runway to your development teams as well as to the applications being built. Look for modern technology frameworks like Angular 7, Spring, REST APIs, OAuth, SQL, etc. that allow the best performance as well as easy integration into your enterprise ecosystem.
  • Best practices for code generation
    Given that much of the application, code is auto-generated by a low-code platform, we often found developers are concerned about its quality, performance, and flexibility aspects. We have seen many low-code platforms generate proprietary code that is hidden and not easily readable. Open low-code platforms make the entire application code (frontend as well as backend) fully visible. Also, professional development teams like to use tools of their choice (Eclipse, IntelliJ) for code extensions. Open low-code platforms provide the ease of interoperability of code changes across inbuilt editors as well as external IDEs (Eclipse, IntelliJ), etc. The best strategy in my opinion is to adopt a Declarative to Code Behind approach for low-code platforms.
  • Pluggable Enterprise Architecture
    Application development encompasses the full lifecycle from create, integrate, validate, test, deploy and update. For enterprises, there are existing systems that development teams integrate the code with to take code live production to end-users. Open low-code platforms can seamlessly integrate with the overall enterprise architecture like existing data sources (Database, ERPs, etc), security (LDAP, AD, SSO), DevOps (CI/CD), repositories (VCS), hosting systems (App Servers, Kubernetes) to name a few.
  • Cloud-native delivery
    Low-code platforms that support continuous delivery mechanism allows code changes to be quickly deployed into production environments. In our experience with customers, we have seen enterprises have a mix of VMs as well as container runtimes. Also, enterprise applications run on the multi-public cloud as well as private cloud setups or even on-premise environments. Open low-code platforms enable deploying the code as well as applications seamlessly into any of the above environments. It also provides the option to deploy/test code directly into custom delivery pipelines. The ability to integrate directly to Kubernetes as an upcoming container runtime gives greater flexibility in terms of portability, scalability, and DevOps efficiency within the enterprise. That is what we at WaveMaker are aiming to provide. With WaveMaker, enterprises can directly deploy applications into the Kubernetes cluster for better scalability and performance at runtime.

Need for Open Low-code

Open low-code platforms, to a large extent, aim to address the pain points of developers trying to build mainstream enterprise applications. It can fulfill both the productivity needs of the developers as well as their key concerns around modern best practices for application development, integration, and delivery. With such platforms, businesses can be sure of better adoption amongst developers and thereby ensure a faster release cycle of quality applications without straining the IT budget.

RAD Definition is Changing

Rapid Application Development (RAD), also termed low-code development, is a visual approach to creating apps that enable greater developer efficiency. However, what started as technology to help the masses address the speed of basic development has since matured so RAD definition is changing.

RAD platforms started out as tools for citizen developers without substantial technical knowledge of coding, who could use intuitive “out of the box” features to create applications suited for simple departmental and experimental needs. While these early RAD platforms (not this "rad") brought basic coding capabilities to the masses, the applications created were short-lived and unable to evolve and scale with changing business needs. To address this gap in enterprise IT, RAD technology transformed to meet the needs of developers looking to efficiently undertake more sophisticated legacy app modernization projects, end-user customer experience updates, and long-term digital transformations.

Gone are the days of non-responsive front-end technology, cumbersome integration approaches, and non-standards-based widget and page development. The RAD platforms of today are far more nimble – they’re capable of leveraging millions of APIs and the most advanced open-standards-based technology stacks while maintaining enterprise-grade security and end user experience. As a result, IT teams can tap into these functionalities to execute large-scale digital transformation and modernization projects faster than ever before. The technology enables a higher degree of coding intermixed with visual development, facilitating the creation of long-standing and flexible enterprise-grade applications (see Figure 1).

While there’s no question that low-code platforms have transformed over time to become the advanced, high-impact digital tools of today, the enterprise IT environment continues to evolve as user expectations and preferences shift over time. This dynamic begs the following question: where is RAD headed next?

The future of RAD platforms

Increased usage – As technology further matures and encompasses professional developers’ needs, RAD technology will become the de-facto productivity platform for professional developers executing long-lasting enterprise IT modernization and digital transformation projects.

Enhanced enterprise-grade applications – Over time, professional developers will continue to push the boundaries of RAD as they bring best practices in app development, deployment, and DevOps from their vast experiences into every stage of the application lifecycle. Enhancements will span a range of capabilities, including cloud deployment, real-time integration, and increased developer collaboration.

A central hub for app development via integrations – With increasing API adoption and service consumption, RAD platforms will continue to become the central hub for application development via lightweight integrations to external services. The integration model will redefine the user experience and will serve a specific use case. Examples of such integrations include RPA, BPM, cloud services, SaaS services, IoT, AI, analytics, etc.

Emphasized digital experiences – The customer/user experience will only grow more important as enterprises compete digitally. As a result, RAD platforms will increasingly cater to building highly user-centric digital experiences with clear customer touchpoints.

Long-lived applications – With serious professional enterprise application developers using flexible RAD processes, the future will hold increased development of mainstream business applications that prevail for many years (long-lived applications) and continually serve organizational needs.
RAD platforms have come a long way since their inception, and time will tell exactly how citizen and professional developers will leverage this approach in the future. Regardless, the IT community can count on the fact that as enterprises’ digital needs continue to develop, RAD platforms will continue to be a high-impact tool for modernizing years of legacy applications and creating digitally agile business infrastructures.

The Continued Evolution and Revolution of Low-Code

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

WaveMaker cited in Forrester’s Now Tech: Rapid App Delivery, Q1 2019

Forrester’s Now Tech: Rapid App Delivery, Q1 2019 is out and has recognized WaveMaker as a Rapid App Delivery provider, whose primary functionality segment is in low-code for application development and delivery pros. The report, prepared by Forrester analysts John R. Rymer and Rob Koplowitz, focuses on vendors who produce digital process automation solutions for wide deployments (DPA-wide) and low-code development platforms. It is a ready reckoner for CTOs and all application development and delivery professionals.

Rapid App Delivery landscape

Forrester has tried to strategically analyze and segment the rapid application delivery market, thereby giving much-needed clarity to an already crowded market. The analysts analyzed the RAD vendors based on market presence and functionality. The report also lists all the main vendors under each category to help enterprises align their needs to individual vendor solutions.

The market presence is a straightforward classification into large, midsize & small on the basis of estimated or reported revenue. More importantly, the Forrester research team divided the RAD market into the following three categories based on functionality:

  • Low-code for Application Development & Delivery Professionals
  • Low-code for Business Developers
  • Digital process automation for wide deployments (or DPA-wide)

Low-code AD&D Platforms vs other platforms – WaveMaker’s Takeaways

In WaveMaker’s view, Low-code Application Development & Delivery platforms are best suited for enterprise IT teams, which are trying to solve multiple use cases by developing complex applications. These platforms can be used to customize and modernize apps, including user experience-focused customer-facing applications, and also have basic process automation capabilities. Such platforms also provide a variety of integration options, advanced data management capabilities, and a broad partner ecosystem. Hence, low-code platforms for AD&D professionals are essentially seen as an alternative to traditional programming-led application development.

Low-code for Business Developers platforms empowers business people to deliver applications with a single/few use cases and without complex customization needs. Hence, these platforms exhibit features such as business reporting, data management, and advanced process automation capabilities.

DPA-wide platforms is a newly identified platform segment by Forrester which combines the ability to automate a wide range of processes with minimal low-code capabilities. Such platforms have advanced content management capabilities along with supporting integration and partner ecosystems.

WaveMaker as a Low-code AD&D Platform

WaveMaker’s product vision has always been to create the most advanced & open low-code platform for enterprise IT, enabling them to create modern complex applications. WaveMaker provides advanced tools for AD&D professionals with a variety of integration options, advanced data management capabilities, and a long list of business & technical partners. WaveMaker, with its presence in all major geographies including North America, Europe, Asia-Pacific also caters to all major industry verticals like financial services, manufacturing, and retail.

In WaveMaker’s view, we have rightly been cited by Forrester in the Low-code for Application Development & Delivery segment.

To access Forrester’s Rapid App Delivery Report 2019 full version, Click here:
(payment or subscription required for access).

Break free from platform lock-in: Extend your code seamlessly with IDE Sync

Low-code application development can be described as a visual orchestration of application components with the underlying code generated in the background. Sometimes the developers might want to extend and maintain this code. They might want to work on a local machine text editor, make changes and import these changes back into the application. Or they might also want to work on an Integrated Development Environment (IDE) of their choice and comfort and take advantage of its Java code editing, testing and debugging features. Professional developers will need to build apps fast, but that doesn’t mean they should compromise on the code control. WaveMaker has addressed this need with its new IDE synchronization feature.

WaveMaker 10’s IDE sync feature offers a unique development experience where programmers can mix and match custom code written in their favorite IDEs, like Eclipse or IntelliJ, with low-code platform components. The Studio WorkSpace Sync Plugin is basically a Maven plugin, which provides seamless syncing of project changes between WaveMaker and the developer’s IDE. Rather than having to export and re-import projects between platforms, the plugin provides a direct communication channel where changes can be instantly pushed between WaveMaker and an IDE. This also eliminates the need to copy and paste code, a time-intensive, tedious, and error-prone method that can slow down the whole development process and hamper productivity.

After a one-time setup configuration, developers can leverage the Studio WorkSpace Sync Plugin in the following ways:

  1. Pull the latest project changes from WaveMaker: This command can be used to ensure that the latest changes made to a project on the WaveMaker platform are applied to IDE code. This includes both committed and uncommitted changes to the project.
  2. Push IDE changes to WaveMaker: All IDE changes are instantly pushed to the WaveMaker platform.
  3. Synchronize a project: This command works in two steps: first, the latest changes made to the project on the WaveMaker platform are applied to IDE code. After both the IDE and WaveMaker versions of the project are in the same state, the Studio WorkSpace Sync Plugin pushes any IDE changes back to WaveMaker.

Enhanced IDE support ensures that what you build with WaveMaker is ‘debug-edit-extend’ ready with your choice of IDE. This way, WaveMaker 10 provides sophisticated, granular customization capabilities to enterprise application development teams without sacrificing the speed of low-code development. The new capability further streamlines the app coding process for developers, allowing them to easily synchronize WaveMaker’s open-standards platform with various integrated development environments (IDEs).

Introducing WaveMaker 10
Studio WorkSpace Sync Plugin is a new feature in WaveMaker 10. Learn more.

Debunking Low-Code Myths to Empower App Modernization

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:

  • Myth 1: Low-code platforms are only for the build phase of the SDLC. As the name goes, low-code app development platforms seem to be meant only for the development phase of the software development lifecycle. But that is not true. There are excellent low-code platforms that can very efficiently support the entire app delivery lifecycle — design, build, deploy, operate, monitor, and iterate. Equipped with visual development tools, these platforms come with added capabilities like agile management, social collaboration, one-click deployment, end-user feedback loops, and many more. The built-in DevOps features facilitate a shorter time-to-market by seamlessly moving the app through the app lifecycle. In short, a solid low-code platform can act as a one-stop solution for handling all the stages of the application lifecycle.
  • Myth 2: Low-code is just for citizen developers and anyone can use it to develop all types of apps with ease. Before dwelling into this myth, let us consider the types of app builders out there.
    • The citizen developers: This category consists of people who have no coding knowledge and are operating at the front lines of businesses in areas such as sales, HR, marketing, customer service, etc.
    • The power builders: This category has people who are in the IT units supporting business units or operations. They do not have formal coding experience but are skilled with spreadsheets and have a basic knowledge of scripting languages like JavaScript, VBScript, Python, etc.
    • The professional developers: These people are coding specialists and are experts in programming languages that require formal training to master.

    So, which category can use low-code development platforms? The answer is all of these. All three categories can use low-code platforms but the functionality and complexity of the applications developed will vary. Using a low-code platform, citizen developers can develop very simple applications that can offer basic functionalities. Power builders can build applications with more functionalities than that offered by citizen developers. Professional developers, on the other hand, can deliver complex applications with multiple functionalities and automation processes. A low-code platform lets a professional developer build application swiftly by reducing the amount of manual coding required. In short, a low-code platform enhances the capabilities of all types of developers by letting them do more than what they are capable of in app development.

  • Myth 3: Low-code platforms and no-code platforms are one and the same. People are often confused between the terms low-code and no-code and tend to use it interchangeably. Gartner and Forrester added to this confusion by not differentiating between the two. Gartner collectively refers to all app development platforms as a High-Productivity Application Platform-as-a-Service while Forrester divides the world of app development platforms into two segments, namely Low-Code Development and Mobile Low-Code Development. Jason Bloomberg, in his Forbes article, says, “the Low-Code and No-Code terminology itself is misleading, as the distinction isn’t about whether people need to code or not. The distinction is more about the types of people using these platforms to build applications.” This sums up the required differentiation between low-code and no code platforms. Low-code platforms are capable of allowing citizen developers to create apps without any coding and are also capable of letting professional developers create applications with a reduced amount of coding. While no-code platforms let citizen developers create basic apps, they are of no use to professional developers.
  • Myth 4: Low-code platforms cannot help you develop large-scale applications with elaborate UI/UX designs. As the difference between low-code and no-code is vague for many people, it leads to a perception that low-code platforms have a limited capability of customizability and scalability. Low-code platforms, on the contrary, can accommodate small business needs to highly complex enterprise needs. Even modernization of bulky and complex legacy applications is possible using a low-code platform. Low-code platforms also offer all the necessary tools to develop engaging UI/UX designs. The option to custom code and reuse business logic gives developers the freedom to add all the required functionalities and customize it to meet business needs.

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

Are you a digital-ready enterprise? checklist for CIOs

This article provides the much needed checklist for CIOs, to assess the digital-readiness of their enterprises.

The goal of nearly every enterprise – regardless of industry focus or vertical – is to position its products and services to reach the masses as quickly and efficiently as possible. But to do so in today’s modern business environment, an enterprise must operate as a digital business.

Embodying a modern digital business requires that CIOs make a conscious and strategic effort to ensure they’re providing the newest experiences, offerings, and business models that users are looking for – or risk losing out to the competition. At its core, this objective hinges on enterprise CIOs’ ability to maintain IT infrastructure that can nimbly evolve and scale with the ever-changing digital environment.

Here is a checklist of the top features that define modern digital-ready enterprises to help CIOs quickly assess whether they’re meeting the mark – and form a tangible plan for modernisation if not.

Take a look at team structure

When assessing digital readiness, the first factor a CIO must evaluate is IT team structure. Are various IT environments unified, or do different subgroups have their own processes, technologies, and objectives? If the latter, CIOs will face a larger challenge managing resources, skills, and objectives across the enterprise – which is a threat to innovation, agility, and scalability. IT teams with distinct and isolated islands of technical knowledge will not be able to quickly execute on the projects needed to achieve modern digital-readiness.

Assess the client experience

The client experience is critical to the success of a modern enterprise, and customer demands are more fast-moving than ever before due to factors like mobile technology, automation, and machine learning. As a result, an enterprise’s customer and user experiences must be visually appealing as well as fully responsive so individuals can make contact with the firm quickly and intuitively from any channel, device, or location. Rapid access to this feedback and engagement is a key part of refining technical and operational business processes from the CIO perspective – so it’s important that the digital customer journey includes well-defined touchpoints across multiple channels to facilitate client responsiveness.

Consider cloud capabilities

Being a modern digital enterprise requires having a software infrastructure that is capable of scaling with growing business demands. In many cases, achieving the level of speed and agility needed to remain competitive can be addressed through the adoption of cloud-native software, which is designed to harness the efficiency of cloud computing delivery models. CIOs that have not yet implemented cloud-native technology are forfeiting numerous benefits, including flexible application development, faster-acting IT systems, and reduced operating costs.

Capitalise on continuous delivery models

Cloud functionality and continuous delivery capabilities go hand in hand. Implementing continuous delivery models allows CIOs to create a strong feedback loop between the business and its customers by enabling software updates to be built, tested, and released rapidly at the touch of a button without affecting usage. Enterprises that employ a continuous delivery model to optimise their IT investments will have an edge on overall organizational performance as compared to the ones that that are not able to deliver their value as quickly and reliably to end-users.

Evaluate service ecosystem connectivity

Maintaining a digital-ready IT infrastructure also requires assessing the connectivity of systems used with the enterprise. The typical business leverages a wide range of systems – including internal enterprise systems, external tools the firm has adopted (like a CRM), and hybrid applications that the enterprise is developing. Do these three buckets of systems interact to share data in an integrated manner? A lack of streamlined connectivity can paralyse an enterprise’s ability to respond to changing user demands from an IT infrastructure perspective.

Create a gap-closing game plan

Attaining the above checklist items is all part of maturing as a digital enterprise and investing in the long-term viability of IT infrastructure. However, a final component of a holistic digital-readiness checklist is assessing whether CIOs have a plan in place for closing any gaps in modernized capabilities. If an enterprise isn’t quite hitting the mark, there are many system integrators, low-code platforms, and industry specialists firms can tap into to maintain a modern IT environment capable of agile growth and scale without disrupting the productivity.

Originally published by Vijay Pullur, CEO WaveMaker, in Enterprise-CIO.com

Innovate, Don’t re-invent: Stay agile with component sharing

Low-code platforms have made it possible to build applications by visually orchestrating the required building blocks without the need for reinventing the wheel for every project. Enterprises expect low-code platforms to standardize those building blocks so that it can be used across the enterprise by different teams and different projects. This is essentially a shot in the arm for the developers by significantly accelerating their productivity through the reusability of their code. WaveMaker has found a way to do exactly this, by creating an Enterprise Artifact Repository as part of its Enterprise Developer Network (EDN) setup. EDN is an online environment that allows collaboration over projects, version control, and sharing of resources.

WaveMaker’s artifact repository is essentially a resource repository that standardizes on a collection of prefabs, project shells, templates, and themes. It lets the enterprise developers create, test, and publish useful app components to the repository for enterprise-wide access by other development and business teams alike. It also allows for easy exploration and discovery of resources to be made available to the developers. The EAR provides a range of artifacts starting from simple templates, themes, feature- specific prefabs to even project shells.

Reusable Artifacts in WaveMaker

  • Themes: Style elements that work at the widget or UI component level. Themes help provide a consistent look and feel to the applications.
  • Template Bundles: A collection of templates – a reusable arrangement of one or more widgets in the page content that together capture the purpose of the page.
  • Prefabs: A collection of one or more widgets that are bound to APIs or services. They usually pertain to a specific feature or solution like map/QR code integration, etc.
  • Project Shell: An app with functionality that is common to multiple apps across the enterprise. This can be used as a starting point in app development.

Artifact Features

All artifacts have a standard set of information either auto-generated or provided by the developer like tag, category, version no, and changelog.

  • Tag: This will be useful for searching; each artifact can have multiple tags.
  • Category: This will be used for grouping purposes. The category is defined or approved by the EDN Admin and assigned by the developer at the time of publishing.
  • Version Number: Each artifact is associated with an auto-generated version number.
  • Change Log: These include the comments that the developer needs to add before publishing the artifact.

Creating and Publishing Artifacts

Artifacts are created by developers using the project dashboard by invoking the create function of the respective artifact. The artifacts developed are published either:

  • To a specific project- to allow the artifact developer to send it to a specific project
  • To the individual workspace for a non-enterprise version- can be used for any project under development in the specific developer’s workspace
  • To Enterprise Developer Network for the enterprise version- make the artifact available for the entire enterprise for all applications to use

Artifact developers create the artifacts which are pushed to the EDN- pending approval of the EDN Admin. Each of the artifacts will go through the four stages: In Development, Unpublished, Rejected, and Approved which are self-explanatory.

The standard process remaining the same, each of the artifacts has a slightly different publishing flow as described here: Prefab, Project Shell, Template Bundle, and Themes. Once published, the artifacts can be viewed from the Artifacts Dialog and are available for use for the entire enterprise. The admins can manage the artifacts through the EDN dashboard itself. WaveMaker also allows EDN admins to import and export the enterprise artifacts using zip files.

Introducing WaveMaker 10

Enterprise Developer Network/Artifact Repository is a new feature in WaveMaker 10. Learn more.

Share with Care: Collaborate securely with RBAC

Today, enterprises rely on a global team of developers with varied roles & skills to develop applications. When many developers collaborate on large projects, clear access control policies are required for effective collaboration. But traditional development tools have failed to address the need for developer roles and access control. As organizations feel the pressure to create applications faster and more frequently, the lack of governance can result in coding defects, deployment issues, and delayed projects.

WaveMaker provides comprehensive role-based access control (RBAC) features for enterprise application development teams. The RBAC features center on the principle of minimal privilege i.e. to provide the least level of access to perform tasks to the full extent.

Permissions

Permissions manage access control for the various roles in the development process. WaveMaker provides a predefined list of permissions at three levels - platform, project, and resources. Refer to the developer RBAC documentation for more on permissions and access control.

Roles

Roles represent a set of permissions that can be assigned to a user. WaveMaker offers different roles for platform and project administration.

Platform administration through product roles
Product roles are for platform administration and are generally assigned to IT users. Product roles offer three predefined access control levels - Super Admin, Enterprise Admin, and Studio User.  You cannot create new product roles. In this way, the platform demarcates itself into compartments accessible only to authorized users.

Define custom roles for projects
Project roles are for developers and project leaders involved in application development. These roles combine flexibility and control by offering predefined and custom roles. Besides the predefined roles of Project Admin and Default, admins can create new project roles. Most enterprises have several projects with shared project resources. So, the same user can assume different roles in different projects.

Configure and assign roles

Admins can assign product roles to users in the onboarding section of Launchpad, the administrator portal. They can also create custom project roles such as UI Developer or DevOps by configuring appropriate permissions.

Project administrators can then invite users to projects and assign one of the configured project roles. Roles can also be updated via a project's User Management settings.

With WaveMaker's role-based access control, developers can collaborate better and create applications faster without the risk of project governance issues. Refer to the project user management documentation for more details.

Introducing WaveMaker 10
Role-based access control at the platform and project level is a new feature in WaveMaker 10. Learn more

Software modernization myths likely holding you back

Highlighting four prevalent myths holding developers, and IT leaders back from successful legacy application modernization projects.

As new cloud, AI, and mobile technologies continue to shape the tech landscape, it’s increasingly challenging for developers and IT leaders to maintain up-to-date applications in the face of nonstop innovation. It’s no wonder that many industry professionals are concerned about their ability to effectively and affordably complete an application modernization project, citing obstacles such as a lack of funding, skill, or experience to pull the process off.

However, many of these fears are commonly believed myths that can be overcome with the right approach and a strategic use of third-party resources. In this day and age, tackling legacy application modernization does not have to be costly, complex, or disruptive.

Myth 1: “Refreshing UI counts as modernization"

Revamping an application’s UI is simply not enough to cross modernization off an enterprise’s to-do list. When it comes to anything but the most basic legacy applications, a fresh look is just a starting point. Most enterprise applications are extensive and have complex workflows, meaning that a UI facelift will not necessarily improve the end-user’s experience or address a company’s larger business goals. Projects must target the deeper tech layer of an application in order to result in meaningful modernization.

Myth 2: “Modernizing our application will be too disruptive to our business”

Minimally invasive modernization projects are within reach with the availability of new technologies and Rapid Application Development platforms. For example, wrapping is a process in which developers can apply a layer of API to a legacy system in order to refresh an application’s capabilities without touching the original architecture. Developers can also connect an API directly to the back-end of a legacy application, individually wrapping each system and eliminating the need to integrate local service data. Not all modernization scenarios require a painful platform switch – instead, APIs can be used to integrate new, fresh functionalities into the existing legacy system.

Myth 3: “Our IT team doesn’t have the resources for modernization”

In-depth technical knowledge is not a prerequisite for application modernization – there are many low-code platforms and services that offer templates, widgets, and other “drag and drop” features that can streamline IT teams’ time and resources. In addition to giving developers the tools to quickly and intuitively build and deploy new functionalities, Rapid Application Development platforms simplify the modernization process through automation. Features like automatic data integration, security checks, and cross-platform support can reduce the time developers must spend fixing basic, error-prone, and technical aspects of a project, freeing up their resources to focus on bigger picture business and functionality goals.

Myth 4: “We can’t afford a modernization project right now”

Taking the time to identify the top priorities for a modernization project in advance can keep processes affordable and financially strategic. IT leaders must closely examine their own business objectives as well as their existing application architecture in order to choose a focused path toward modernization that will be impactful, yet versatile enough to be a future-proof investment. For example, many enterprises may find integrating open source software during a modernization project to be a productive investment that pays off in terms of cost efficiency and the long-term flexibility of avoiding vendor lock-in when future updates need to be made.

Moreover, in today’s ever-changing digital environment, enterprises cannot afford to let their applications stagnate – especially considering the fact that 90 percent of consumers would consider taking their business elsewhere rather than work with a company that uses outdated technology. Understanding the common myths surrounding modernization projects will help developers and IT leaders shake off their concerns and identify the resources they need to update legacy applications while balancing risk, cost, flexibility, and speed.

Originally published by Vijay Pullur, CEO WaveMaker, in App Developer Magazine

Choosing a low-code platform that developers will adopt

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 -

  • Is the platform built on open standards?
    While most low-code platforms claim “no vendor lock-in”, the reality is that most of them use proprietary technologies and application stacks. Applications developed on a low-code platform that is based on proven open-source technologies trusted by millions of users ensure an open and extensible approach to application delivery. Also, the platform should use a best-of-breed application stack for developing full-stack applications.
  • Is simple external integration possible?
    While most vendors offer decent visual development capabilities, it is important to look for features that ease the external integration of data and services as most business data is stored in proprietary systems. Look for out-of-the-box integrations to instantly add powerful functionality to your apps. Also, verify whether custom integrations can be built and reused across apps.
  • Does the platform offer cross-platform development?
    The ability to create applications using a single code base that can adapt to any native platform or operating system (which could be iOS, Android, Windows Mobile, BlackBerry/RIM, etc) using a hybrid adaptive design enables applications to be run seamlessly on any device giving it cross-platform capabilities.
  • Does the platform meet scalability needs?
    Ensure that low-code platform vendors don’t get away with merely providing a hosting and release management solution. Check for the ability to scale applications and handle private cloud needs. Look for solutions that allow for rapid and continuous provisioning, deployment, instant scalability, and maximum utilization of resources. Verify whether the platform supports building custom software stacks and deploying API-driven microservices-based apps, and orchestrates IT infrastructure effectively.
  • Is it easy to create, share and consume APIs?
    Today, APIs are at the front and center of business applications and architecture. Most low-code platforms support APIs at best. However, one must choose a platform that takes an API-first approach to application delivery. It should be easy to import data from any service and bind it to UI components. Moreover, the platform should allow developers to create, publish and discover APIs with ease.
  • Is it easy to maintain the code generated?
    With most low-code platforms, even the most experienced developer would not understand the code generated by the platform. Maintainability is a critical aspect of application delivery and is overlooked by many of these platforms. Verify that the code generated follows design patterns, is well-organized, uses standard naming conventions, and generates documentation that developers can understand and maintain.
  • How is the security mechanism?
    Enterprise applications need both coarse-grained and fine-grained security control mechanisms. The low-code platform must support flexible authentication and authorization mechanisms to secure users and various tasks within the application. Check for integration support for popular identity management systems like AD, LDAP, SSO, and OAuth.

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.

Finding Your Application Modernization Balance

In today’s always-on world in which technology is now a chief driver of competitive value, organizations must strike a new balance and find a way to do it all — especially tackling the modernization efforts that they have put off for far too long.

If you’re an IT leader, you may be avoiding the industry press these days. Every article seems to spell out another grave challenge that you must face.

The threat of the cloud, the threat of not moving to the cloud, the talent gap, the impact of AI, and on and on. There is no shortage of challenges and risks — or of companies lining up to help you solve them.

The greatest challenge facing IT leaders, however, is not new. In fact, it is as old as the industry itself: balancing the deployment of resources and battling the constant pressure to do more with less.

This challenge is perhaps most prominent when IT leaders attempt to address the issue of modernizing their aging legacy application stack. In the first three installments in this four-part series, we examined the rock and the hard spot that it leaders found themselves between as they grappled with the modernization challenge — and how a new low-code enabled third option was presenting itself.

But no amount of technology or new services can solve this problem without IT leaders first addressing the issue of resource balancing.

The Losing Fight for Balance

While the resource balancing challenge has existed from the very beginning, I’d argue that IT leaders have mostly succeeded at striking it.

While maintaining previously deployed systems and the so-called business-as-usual (BAU) state has long consumed most of IT’s resources, the pace of new demand was manageable enough to sustain the balance.

At least, until recently.

In the mad rush to all things digital, organizations have shifted more resources to growth-oriented initiatives to either stave off disruption or seize disruptive opportunities. At the same time, the legacy technology stack continued to age and, paradoxically, became even more essential these new applications relied on them for transaction handling and records management.

All at once, enterprise leaders found that they no longer needed to merely balance between new applications and BAU functions, but must also face the need to modernize their legacy systems to both reduce growing maintenance challenges and to ensure that they could continue to support newly emerging customer-facing functions.

Like a tightrope-walking juggler, IT leaders found themselves fully engaged and unable to even contemplate taking on anything else — particularly of the scale and scope of modernization efforts.
And as a result, the balance that IT organizations had so precariously managed was now lost.

Modernization in the Balance

As we’ve explored throughout this series, IT leaders have been able to sidestep this issue by putting off modernization efforts for another day.

But as we’ve also examined, the need to modernize the IT stack has become an existential threat to IT organizations.

The bill has come due and IT organizations must find a way to create a new balance point between these three competing demands: continue to meet the insatiable demand for new and modern applications, maintain the existing technology infrastructure in a reliable and resilient state, and do these while modernizing legacy applications to ensure that the organization can continue to meet future demand.

To do so, enterprise IT leaders need to take a new approach when balancing their resources.

Traditionally, IT organizations created an operational baseline. This baseline was the BAU function, and it had to be done. New projects, including modernization, were then prioritized based on business priority (but often measured in terms of strict financial Return On Investment, or ROI).

Ironically, using that approach, modernization almost never rose to the top because it lacked the near-term ROI to justify it.

IT leaders must shift the foundation of their resource balancing effort away from financial ROI (although it will always remain a component) and, instead, categorize every existing and potential application on the basis of its ability to contribute to the competitive value of the organization.
The organization should then deploy its precious internal resources to build, maintain, or modernize those applications that support the organization’s competitive posture in the market. IT leaders should then outsource the development, maintenance, and modernization of the remaining stack based on organizational risk.

Intellyx Take

Perhaps the most significant change between today and the IT resource balancing act of the past is that there is no longer an option to say no.

In the past, when applications were predominately internally facing, it was acceptable to say that the IT organization lacked the resources to meet any given request.

In today’s always-on world in which technology is now a chief driver of competitive value, that’s no longer an option. Organizations must find a way to do it all — especially tackling the modernization efforts that they have put off for far too long.

It is in this context that IT leaders must seek to use every resource at their disposal, but do so in a strategically sound way. The third way of application modernization and partnering with companies such as WaveMaker that we’ve explored in this series is one way that IT leaders can strike this new balance.

The most critical step, however, is merely recognizing that it is a new balance that you must strike. You must accept that you need to do it all and do it in a way that most strategically leverages your internal resources.

Anything less will leave you off-balance — and that’s a terrible state when you’re walking a tightrope.


Originally published by Charles Araujo in Intellyx BrainBlog

Copyright © Intellyx LLC. WaveMaker is an Intellyx client. Intellyx retains full editorial control over the content of this paper.

Low-Code and the Third Way of App Modernization

While the primary driver of the low-code movement was to improve enterprise developer productivity and to create a more agile and collaborative development workflow, the evolution of these platforms has also opened the door to a new hybrid approach to application modernization.

Modernizing the enterprise application stack has been a persistent challenge for enterprise leaders. With tons of risk and little short-term upside, they have understandably put their modernization efforts in the critical, but not urgent category of their to-do lists — hoping beyond hope that the situation would somehow become more manageable in the future.

While this procrastination technique is rarely a good strategy, enterprise leaders may have caught a break.

As I discussed in the first two blogs of this four-part series, enterprise leaders have had few good options as they tried to address the application modernization dilemma. Forced to choose between modernizing or meeting new demand, the choice was simple — enterprises left modernization for another day.

A new class of technology companies, however, are taking advantage of the emergence of so-called low-code development platforms to create a new, third option for enterprise leaders. This new approach may finally offer enterprise leaders a way to simultaneously keep resources free to meet new demand while modernizing their application stack quickly and without the high costs and bad outcomes that typically came with outsourcing these efforts.

Low-Code: Changing Face of Development

To understand why this third path to Legacy application modernization is now possible, you must first understand how changing enterprise demands led to the evolution of what we now call low-code development platforms.

As long as there have been programming languages, there has been a desire to make the creation of applications easier and more accessible. For the most part, this evolution has played out in the form of new generations of languages that were progressively easier to use, more human-readable, and more extensible.

With each successive generation, productivity increased, and development became easier — enabling enterprises to more readily hire or train new developers.

Eventually, however, this led to even more radical attempts to improve productivity and accessibility. Efforts such as the Rapid Application Development (RAD) movement and early visual development tools aimed to reduce the amount of hand-coding necessary to develop applications. These early efforts, however, were cumbersome and often failed to deliver the promised productivity gains.

Still, as digital transformation began to take root within enterprise organizations, the demand for applications grew exponentially — and most enterprises simply did not have the resources to keep up using traditional hand-coded approaches.

As a result of these market demands, a new generation of development platforms entered the market that used visual interfaces, declarative models, and configuration approaches to create enterprise applications. With this approach, developers could build applications with little or no hand-coding — thus, the industry called these platforms ‘low-code’.

The promise of low-code platforms is that they enable enterprise developers to create more applications, develop them more quickly, adapt and change them more easily, and to do so in closer collaboration with application sponsors and consumers. Unsurprisingly, enterprise organizations are now adopting these platforms en masse to achieve these gains.

While the primary driver of the low-code movement was to improve enterprise developer productivity and to create a more agile and collaborative development workflow, the evolution of these platforms has also opened the door to a new hybrid approach to application modernization.

A Hybrid Approach to Application Modernization

When enterprises turned to traditional outsourcers to help with modernizations efforts, the results were often poor. The reason is that the complex nature of these projects resulted in long, involved development efforts. To be successful, these projects would require substantial involvement by the enterprise’s most valuable technical resources (negating the value of outsourcing) or would leave the outsourcer flying blind until late in the project.

Neither choice led to a good outcome.

The emergence of low-code development platforms, however, made available a hybrid approach to modernization. Technology companies, like WaveMaker, realized that they could build a low-code platform that would enable them to rapidly prototype solutions and reduce development time. This capability, in turn, made it easier to engage with customers earlier and more often during the development process.

Moreover, the ability to rapidly adapt and change applications and to develop them from a business process perspective allowed both rapid iteration as well as the ability to interact with non-technical users (rather than in-demand technical resources) for direction and guidance.

Finally, the use of low-code development platforms enabled organizations to more closely partner with their technology providers to continually adapt the applications as business needs changed over time — helping to ensure that they will not need another round of modernization in the future.

The Intellyx Take

This hybrid approach to modernization is starkly different than the previous options available to enterprise leaders. In fact, it is an approach that is almost impossible to achieve without the use of low-code platforms.

The ability for a technology partner to rapidly prototype, develop, test, and iterate during the development of complex and highly integrated apps enables enterprise leaders to effectively get the best of both worlds: they free their resources to meet new demand, while reducing the costs and risks traditionally associated with outsourcing modernization efforts.

Perhaps even more importantly, the use of low-code platforms in modernization efforts provides a layer of protection for enterprise leaders. The ability to continually adapt and change these complex, mission-critical applications offers them a degree of business agility that may otherwise be difficult to attain.

None of this, however, allows IT to entirely escape its responsibility. The critical nature of these legacy applications will always require a degree of attention from IT. The difference is that with this hybrid approach, the organization’s most valuable and knowledgeable resources will only engage when their specialized expertise is truly necessary.

Leveraged effectively, this hybrid approach will allow enterprise leaders to strike the mythical balance needed to make application modernization a modern reality.


Originally published by Charles Araujo in Intellyx BrainBlog

Copyright © Intellyx LLC. WaveMaker is an Intellyx client. Intellyx retains full editorial control over the content of this paper.

The Impact of Open Standard and Open Source on Enterprise Application Development

“Open standards for information technology” seem to be a new term that everyone is talking about recently. But, as a matter of fact, standards have been here for a long time. The socket and the plug that you use for charging your electronic devices, USB cables that fit perfectly into the given slots, or the WiFi signals that your devices connect to - all of these adhere to open standards.

As opposed to this, there are proprietary standards. As the name suggests, proprietary standards are the ones that are “closed” - those which are compatible only with a few specific configurations. The addition of features within the system itself is a cakewalk. But, when it comes to the integration of technologies belonging to a different system, it is eith