By: Steve
Baines
Across
the industry, the low code movement has been gaining traction with recent news
of funding, acquisitions, and companies like Salesforce introducing more low
code features. With the accessibility, speed, and multi-functionality of
low-code systems, it's an obvious strategy to adopt. As the low-code and
no-code movement is continuing to emerge, there is still ample time to start
the process of implementing these application development strategies into your
business.
Today's
outlook
As
the Salesforce ecosystem grows exponentially, acquiring qualified and
experienced talent is becoming more scarce. As a result of this shortage,
admins and everyday business users are increasingly being asked to produce more
technically oriented solutions. Salesforce has recognized the need to offer
easier, more straightforward tools that uphold sophisticated business logic and
user experiences.
Leveraging
these tools as a Salesforce admin or developer helps to balance the needs of
business users who want more complex solutions and technical teams who are
starved for resources. It's critical to incorporate low-code and no-code
solutions into your technology roadmap and evaluate how users will change their
Salesforce utilization without having to lean on a coded solution.
Difference
between no-code and low-code
Although
there are many similarities between no-code, low-code solutions, there is a
difference. It's easy to use these terms interchangeably but there are stark
differences in the approach to using them as well as the intended audiences of
each. For example, no-code solutions
are meant to be just that - zero coding required. They're intended to be used
by everyday admins and non-technical users. Process builder or the legacy
workflow engine are two great examples of no-code solutions in Salesforce.
Contrast that to low-code solutions,
where there is still a degree of technical knowledge needed, but the tool
itself still does most of the heavy lifting.
As
it pertains to Salesforce, a great example of a low-code solution is flow.
While it is not necessary to write code to interact with records and objects, a
flow developer still has the ability to create high-level business logic with
many of the concepts that are available in a coded solution.
As
companies like Salesforce continue to evolve their ecosystem, we will start to
see a blending of no-code and low-code solutions into a single tool set, and
the distinction between the two will become blurred. For example, Salesforce
has advertised that the process builder user interface is eventually going to
be unavailable, and all declarative automation will be run from the lightning
flow designer. Users will still be able
to create both no-code and low-code solutions from that single interface, but
again, the distinction becomes less and less clear as the tools evolve.
What
low-code and no-code is not
The
simplicity of building these solutions can't obscure the amount of risk that's
also involved in creating them. Users should still consider the risks and
benefits of creating and deploying these solutions to ensure that core business
processes can still function with a simplified user experience.
There's
a common misconception that one can merely produce these solutions and insert
them into an environment with little to no impact. Designing a low-code
solution doesn't inherently mean forethought isn't needed. Additionally,
low-code doesn't mean you can do everything. Users must make trade offs when
comparing low-code and no-code solutions versus the flexibility provided by
these tools. With Lightning flow, although one can build highly sophisticated business
logic to interact with Salesforce, it's still limited as to what can be
produced in those user interfaces because of the Salesforce framework.
Another
great example is the Lightning app builder, where you can edit a lightning page
for a particular object and use the rich drag-and-drop experience to organize
the screen precisely to business users' requirements. Salesforce has given a
comprehensive set of components to customize those screens, however, there are
still limitations with the UI. Creating
filtered or enhanced related lists for particular use cases, or the ability to
show or hide buttons based on who the user is are examples of such boundaries.
These
solutions don't mean that they can be seamlessly integrated with other parts of
an environment. No-code, low-code solutions tend to be built as point solutions
so it won't necessarily offer unlimited opportunities to integrate those
solutions into a larger ecosystem. Careful planning should be at the forefront
of the process.
Best
Practices
Not only is the line between no-code and low-code
solutions becoming blurrier, but the line between no code low code encoded
solutions is becoming blurrier. The architecture in development of these
solutions should all follow a similar framework.
Here are some best practices to consider when building a
low-code solution, but these best practices could easily be applied to a coded
solution as well.
- Plan, plan, plan: critical planning is essential to creating a low-code
and no-code solution. Take the time to create a design that fits into the
overall architecture; one that creates stability and predictability.
- Make as few changes to the database as possible: create efficient solutions that only
communicate with the database when needed. While the amount of data your
particular solution must operate on is very predictable, it's impossible to
understand the impact of other solutions running in our environment and how
that may affect performance. Look to create highly efficient solutions and
adhere to best practices just like developers do.
- Consider the User Experience: view all aspects of the solution to build
engaging user experiences. With the limited flexibility, due diligence is
needed to consider all aspects of your solution as well as your customer's
experience before deciding to go down the no-code, low-code road.
- Handle errors gracefully: consider how to manage things when they go awry.
We, as citizen developers, still need to consider how to handle things when
they don't perform as intended. It's critical to remember that and consider
that as part of the design.
- Don't hard code anything: create
flexible ways for the solution and build them directly in production. There's
no need to hard code anything.
- Reusability: design solutions to be as reusable as possible. Ideally
we create solutions once and they are able to be reused many times, both for
the specific problems the solution was intended to solve, as well as being
incorporated into a larger solution or process flow.
Practical
applications of low-code and no-code today
When
designing Salesforce solutions, there are two major layers to consider: user
interface and interacting with Salesforce data. For example, Salesforce
provides a fairly large set of components to use in Lightning app builder and
Community builder that feature no-code, low-code. These features are intended
to achieve the same outcome- the ability to produce a solution swiftly and
easily without any coding.
With
the Summer 2020 and Winter 2021 releases, Salesforce has continued to invest in
no-code by announcing the addition of Dynamic pages,
actions,
and forms.
These releases provide users with more ways to add flexibility, control, and
personalization without needing code. It's the next step in the evolution of
Lightning record pages in Lightning Experience Salesforce. Dynamic Actions
allow you to control visibility for each action based on specified factors,
appearing in the Highlights Panel on the object's record page. Dynamic Forms
adds a step of point-and-click customization for Lightning record pages that
previously required custom coding. All in all, the Dynamic additions add a
strengthened, customizable user interface.
There
is also out of the box functionality- creating custom objects in custom fields
is a no-code solution. Salesforce provides the ability to modify the database
as well as the user interface by customizing page layouts and lightning pages.
Look
at add-ons and applications that can be installed into Salesforce that gives
no-code low-code functionality. Forcivity has built a product called Saber that
extends the components available in community cloud, providing admins the
ability to create rich and complex user experiences, again- without the need
for coding. It is considered a low-code solution as users have the ability to
"tweak things" if they so desire, otherwise they can use the solution as is.
Lastly,
Conga Grid has created this tool to allow users to create very complex data
grids that can be dropped onto a lightning page, again without writing any
code. However, if users choose to, they can extend the functionality of the
grid by creating coded add ONS.
This
is just the start of the movement where we can expect more practical users to
come to fruition as more people adopt it into their environments.
Conclusion
Although
it's easy to produce no-code and low-code solutions, it's important to balance
the flexibility versus the functionality when choosing a solution.
Understanding how this will fit into the overall architecture is essential
before implementing it.
No-code,
low-code does not suggest simplicity or remove the need for foresight. On the
surface, a solution may seem easy to implement when evaluated specifically
against the problem to solve. However, consideration must be taken on how the
solution fits into the complete system.
##
About the Author
Steve
Baines is a tech nerd and solutions expert with a passion for high-tech start-ups,
Steve has accrued over 20 years of leading strategic and operational technology
endeavors. He is a co-founder of BevNow and
Compass Healthcare, and founder of Poised Solutions and now Forcivity.
Outside
of work, Steve has volunteered as a member of Crispin's House Coalition for Youth Juvenile Court Diversion
Committee since 2006.
Steve also is a founding member of the Northeast Dreamin' organizing committee and is the leader of the Manchester
New Hampshire Salesforce Developer group. Steve is a self-proclaimed pool shark
and has also been known to have a great time dressing up for Halloween.
Steve
is a Salesforce.com Certified Technical Architect (CTA) and is also a Salesforce MVP. He holds multiple
degrees; BS in Accounting & Finance, MS in Information Technology and an
MBA, all from Southern New Hampshire
University.
Steve
is a proud veteran of the United States Air Force.