31-03-2020

Low-Code Principle #3: Agile Methodology & Low-Code, BFFs

Deel dit bericht

Ross and Rachel. Soup and sandwich. Low-code and Agile. Another one of history’s great pairings.

Agile with a capital "A" was introduced a few years ahead of low-code. It was such a transformative way of approaching application development that it’s not surprising the fundamental principles of Agile are mirrored in the low-code platform. Indeed, we owe a hat-tip to the group of visionaries who developed the Agile Manifesto, as it clearly is an inspiration for our own Low-Code Manifesto.

Prioritizing human interaction. Quickly getting to working apps. Intense collaboration. Continuously responding to change. Are these fundamental values of Agile? Yes. Are these fundamental values of low-code? Yes!

Agile and low-code share the same overarching goal: A better way to develop software. Our Low-Code Manifesto acknowledges the importance of Agile in principle #3:

Agile Methodology:
Manage the full enterprise application development lifecycle with agile workstreams to eliminate bottlenecks, support iterative delivery and achieve shortest time-to-value.

A mindset, methodologies, and a platform to support them
Agile is a mindset. It’s a philosophy of software development, an expression of priorities and values intended to optimize the process and create the best possible result. It is not in itself a methodology or framework. Various methodologies — Scrum, XP, etc. — have been created to organize Agile principles into processes.

Low-code fully supports and improves the Agile mindset and Agile methodologies, and they intersect in a number of key areas.

People. Even as, today, AI exercises a bigger and bigger role, people create software. Business line owners, developers, end users — all are indispensable contributors. Low-code was created in large part to enable those with the greatest interest in the application to participate intimately in its creation. Everyone is an active player on the team.

Collaboration. Any team is only as good as its ability to collaborate. Our founders recognized that lack of effective communication was almost always at the heart of software failure. Members of the team have different areas of expertise and speak different languages. The visual language of low-code goes a long way to overcoming these challenges (see “Low-Code Principle #2: Collaboration, Where Innovation Happens”) and supports the Agile emphasis on customer collaboration.

Responding to change. Essentially, this is the agile in Agile. The maxim, “the only constant is change,” was not coined to describe app development, but it could have been. Truly, once the initial idea is conceived, an application changes and evolves over and over again, as it is developed and after it is deployed. The Agile approach welcomes change, and low-code accommodates it — through small teams that work in close collaboration, microservices-based architecture that hones focus and effort, and instant cloud deployment to put the changes in action.

Working software. Make something that works, quickly. And then keep working it. There’s no substitute for seeing an application in action to understand what works and what doesn’t, and maybe trigger a genius idea. With its model-based design and visual development environment, low-code accelerates development by an order (or orders) of magnitude. Low-code runs circles around traditional waterfall methods; there’s simply no match for it in terms of time to get from initial idea to working software and then rapidly iterating. Also in its Manifesto, Agile prioritizes “working software over comprehensive documentation.” We agree, so we automated the documentation process in the Mendix SDK.

Robust feedback loops. This isn’t a specific principle in either the Agile or Low-Code Manifesto, but it’s definitely implied. Collaboration, change management, working software — none of that happens without an active, ongoing, effective feedback mechanism. That’s why it needs to be built into the low-code platform. Stories and updates, corrections and comments, notes and responses — all are automatic and readily accessible. This is a key strength of our particular low-code platform and one of our important contributions to bringing the Agile philosophy to life.

Minding the Business
Where low-code really brings the promise of Agile to fruition is by involving business team members (the internal champions/customers) deeply and continuously in the development process. We argue that nothing is more important to getting the right application built at the right time than the business and development sides working in lockstep.

This brings up the notion of BizDevOps. Like Agile, DevOps is a movement designed to break down barriers, streamline flows and processes, and create a better product that delivers better results. And like Agile, DevOps aligns closely with low-code. Taken altogether, we arrive at BizDevOps, which now, for the first time, addresses the full application lifecycle in the context of realizing the business objective.

In other words, the benefits of agility, low-code, and DevOps together accrue not just to the development process, but to the business and its goals. The business can respond more quickly to competitive pressures. Innovations can be brought to market in a hurry. Operational efficiency gets a big boost. Customers have a better experience and deeper engagement.

The low-code platform, infused with an Agile mindset and incorporating BizDevOps processes, delivers the ultimate goal: The right solution is put in the hands of the right people and helps them do their jobs better and make more money, while also realizing dramatic cost savings through drastic reductions in rework.

Low-Code helps bring the Agile mindset to life
Agility isn’t just about speed. True agility is achieved when collaboration is facilitated at every step of the process; when best practices are enforced in the workflow; when testing and feedback are automated in the platform; when small teams own their own piece of the software; and when deployment to the cloud is simple and fast. “Speed, collaboration, and control” are the watchwords for a truly agile process that accelerates the entire lifecycle and brings innovation quickly to market.

Johan den Haan is Chief Technology Officer at Mendix.

Partners