digital-transformation Archives - BAYPM - OutSystems & Low-Code & Custom Software Development

Build vs. Buy in a Fast-Changing World

Posted by | General | No Comments
How cost factors into the Build vs Buy debate - Learnosity

Faster than any corporate strategy or executive initiative, the COVID-19 pandemic has accelerated the business’ adoption of digital technologies as never seen before. Forced to adjust rapidly and find new ways to connect with customers, partners, and their whole ecosystem, organizations in all industries implemented new digital experiences and embraced new ideas and business models, accelerating the share of digitally enabled products in their portfolios by seven years.

This need for speed has raised the old but still relevant build vs. buy dilemma. I recently had a revealing conversation with John Bratincevic, Senior Analyst at Forrester Research, about these exact trends (you can warp thru it at Build at the Speed of Buy webinar).

Based on trends we both saw in the past 18 months, we talked about how the “build” approach has been gaining momentum as technology evolves and new modern development approaches appear. So, where do we stand now? When should you buy and when should you build software?
 

Challenges of the Old “Buy + Customize” Approach

The traditional view we’ve always been told is not to reinvent the wheel; always buy software if possible, because there are very smart companies with great solutions that support “exactly what you need”—or so you wish. You should only build when your business lives in a somewhat niche area of the market poorly served by package software.

But the truth is, every resilient business is kind of like a snowflake—there are no two 100% the same, and it keeps changing. When you digitally transform your business, you turn everything about it into software, from policies and processes to procedures, data, and even its know-how.

The problem of prioritizing buying over the building is that whenever you need to change operations, that software that you bought because it was “baked” for that problem doesn’t change easily because it wasn’t architected for change and varnish customization is not enough.

Additionally, in today’s frenzy explosion of SaaS services acquired by each department to serve the majority of your software needs, you end up with several systems that don’t integrate seamlessly with each other. One nasty consequence is recurring to poor man integration with bots in what John describes as a “human API”, where users must manually copy-paste data, navigate between screens, and accruing all sorts of workarounds, like spreadsheets, to compensate for the lack of integration between the multiple solutions, all just to do what it was supposed to do!

In a surviving organization, software should be an extension of the business and express its DNA. To achieve that, companies need bespoke software solutions that may integrate all systems, and that means more development and faster delivery cadence.

Why Is “Building” Gaining Momentum?

Why is “building” the trend these past two years? What has changed in the business landscape for vanilla applications to not be enough? The answer is simple: post-pandemic of doing all customers’ operations digitally, and the quest to provide better experiences, both for customers and employees.

The philosophy of tweaking only the front-end because it’s what impacts customers directly, but keeping the back office systems slow and disconnected doesn’t work anymore. Because those operations greatly affect the customer experiences. Everything is integrated, and if something in the back office doesn’t work well, the app experience breaks fast, and adoption fails.

So, in today’s fast-changing world, even the most internal system has to change eventually to cope with unforeseen circumstances. Just imagine what the next unexpected pandemic may be! When you’re dealing with standard SaaS or COTS systems, even if they’re the best in class, they don’t change easily because they weren’t made with the peculiarities of your businesses in mind.

Redefining Build vs. Buy Assumptions

There are two critical assumptions that organizations need to realize when it comes to choosing between build or buy software approach:

  1. Businesses are like snowflakes, and organizations shouldn’t underestimate the peculiarities of their business. So, unless your off-the-shelf application is built for change—and most of them aren’t—it’ll take more time, be more painful, and be expensive to customize to your business needs.
  2. Technologies keep changing rapidly. Today, the build shouldn’t be seen as a herculean effort, where you need a huge team to write thousands or millions lines of code, as it happened in the past. Cloud platforms have evolved dramatically over the last five years; modern development approaches like DevOps, agile, and enterprise low-code platforms have accelerated the development process, and quality checks are built-in. So, product teams don’t need to dive into the “start from scratch” development to build an application; they can take advantage of cloud services and business APIs to compose and deliver customized solutions much faster, more adaptive, and cheaper than before.

Moreover, there’s a lot of value in creating apps in platforms that allow you to reuse proven modular building blocks that include security, governance, and compliance management in the platform. This way, integrating systems and providing a seamless navigation experience becomes a reality without them needing a “human API” or repetitive RPA bots to fix what the solution was supposed to do from the beginning.

The question shouldn’t be “build versus buy” anymore, but “customize versus compose”. You either buy a standard app and spend most of the time and money customizing it and waiting on budgets and vendors to do it each cycle, OR you compose an app by reusing proven business capabilities your teams created or wrapped from the outside when using modern app development platform.

Adapting to Change with a Build Approach: Examples

Humana in the US is a great story of an organization that has invested in composing their solutions and how that allowed them to adapt faster when the pandemic hit. The insurance provider invested in a modular architecture that allowed it to reuse the same modules they had created for a Pharmacy Finder app and quickly launch a COVID-19 Testing Locator App to their customers.

Another great story is Green Cargo. The logistics company needed to modernize its core system, which was sclerotic with legacy and SAP dependencies. But replacing the whole thing at once would have taken years, during which the benefits to the business would have stood still. So the company decided to use the OutSystems app dev platform to replace functionalities one at a time. In just one year, the company launched several significant applications into production, including a mobile app, a predictive maintenance app, and a customer portal.

The building at the Speed of Buy

The build or buy dilemma has evolved over the last few years: buying off-the-shelf isn’t entirely totally off-the-shelf anymore, and the more digital we become, the less off-the-shelf it is. As for the build, the idea that developing your software is costly and inefficient is based on old development models. Modern app development technologies have changed that.

As Paulo Rosado, OutSystems CEO said in a recent article,

“Only the businesses that overcome these outdated ideas and take ownership of their software innovation will come out ahead in this increasingly digital age.”

-END-

If you want to learn more about how low code can help you adopt a successful digital conversion strategy, you can contact BAYPM. However, if you are more interested in learning about the pros and cons of leading low code platforms, check out Gartner’s Magic Quadrant for Enterprise low code implementation platforms.

Low-Code and No-Code: What’s the Difference and When to Use What?

Posted by | General, OutSystems | No Comments

Market confusion aside, it’s really possible to distinguish between low-code and no-code platforms. There are literally hundreds of small details and capabilities that distinguish low-code platforms from no-code solutions. Most of these are not evident at the UI level, which is where most of the confusion between the two comes from. This blog post addresses the capabilities that separate the two so you can better understand where they can fit in your organization.


What is low-code and how to use it?

Let’s start with low code. Low code is a way for developers of all skill levels to design applications with fast and minimal manual coding by dragging and dropping visual blocks of existing code into a workflow to build applications. Creating low-code software is the same as creating software any other way, and the main difference is the types of shortcuts offered. Instead of manually coding a user management system, learning the latest programming framework, or writing 10 tests before a single line of your app’s code, you go straight to creating something new and valuable.

OutSystems/ Low-Code User Experience Diagram


Experienced developers work smarter and faster with low code because they are not hampered by repeated coding or duplicate work. Instead, they focus on building 10 percent of an application that sets it apart, using their development experience and skills to design everything and leaving the grumble job to the low-code tool or platform.

Low-Code Advantages

There are numerous benefits to using a low-code platform. Let’s take a high-level look at the biggest advantages of low-code development.

Speed: with low code, you can create applications for multiple platforms at the same time and show stakeholder working samples in days or even hours.

More resources: if you are working on a large project, no longer have to wait for developers with special skills to finish a long project, which means getting things done faster and at a lower cost.

Low risk / high return on investment: with low code, robust security processes, data integration and cross-platform support are already built-in and easily customizable – which means less risk and more time to focus on your business.

One-click deployment: with low code, one click is all it takes to send your app to production. Launch day is no longer a frustrating experience.


And What Is No-Code?

No-code solutions also feature drag and drop, visual enhancement. Unlike low code, they mostly appeal to business people or others in IT who may not know real programming languages ​​but want to develop an application for a specific use case. In other words, no code allows organizations to equip teams with the tools they need to build applications without formal development training.

Everything the no-code vendor thinks the user needs to create an application is already built into the tool. No-code solutions are similar to popular blogging platforms and e-commerce website design companies with pre-built pages that you can use to start your blog or business in a matter of minutes.


No-Code Advantages 

No code is great if you need a simple app to solve a single business or department issue and you don’t want to expect it to build and deliver 3-6 months from now. No-code platforms require very little training, so anyone in your organization can often create an application in the business process management area, such as expense approvals. No-code gives business users the freedom to address an urgent need without moving away from critical development projects.


Low-Code and No-Code: When To Use

Both low-code and no-code platforms are built with the same thing in mind: speed. But how do you know when to use the other? The sections on advantages and disadvantages point to the answer to this question, but let’s dig a little deeper.

Low code is good for developing standalone mobile and web applications and portals that require integration with other systems and a variety of data sources. In fact, it can be used for almost anything except highly complex, mission-critical systems that integrate with multiple backend and external data sources. No-code tools, by contrast, should only be used for front-end use cases.

So, low code is probably the better option, unless you develop only the simplest apps and require little in the way of customization. Low code allows you to build user-friendly, responsive applications. While it’s not as simple as without code, there is enough simplicity inherent in low code tools to run these apps much faster than if you code them manually. Since low code still requires some coding knowledge, you know that the people who create your apps will do this correctly and your new apps won’t saddle you with security risks or compatibility issues.


Is it the future of low-code and no-code application development?

The short answer to this question is yes. Low-code and no-code tools play an increasingly important role in accelerating the deployment of applications. Gartner predicts that by 2023, more than 50% of medium and large businesses will adopt low-code or no-code code as one of their strategic application platforms, and low code will be responsible for more than 65% of application development by 2024.

We believe that the pressure to offer digital solutions to respond to the COVID-19 pandemic is one of the reasons for the accelerated adoption of low code and no code. Another reason is that only the biggest, wealthiest companies have access to the best technology capabilities and the most advanced development tools. No-code and low-code Tools flattens the playing field and empowers organizations of all sizes to do more with their available resources.
 
References:
https://www.outsystems.com/1/low-code-application-platforms-gartner/
https://www.outsystems.com/blog/posts/technical-debt/
https://www.outsystems.com/blog/posts/benefits-of-low-code-platforms/

-END-

In light of the research results, as BAYPM, we would love to help you with your Digital Transformation journey, give us a shout and we’ll be sure to assist you as best as we can. Currently, we are working on a project to digitize manual processes within different locations. The client opted for an incremental implementation approach based on geographical locations and the needs of their different factories.