Even low-code workflows can be simpler
Photo by Danae Paparis on Unsplash

Even low-code workflows can be simpler

it's tempting to celebrate when workflows run for the first time, but treating them like code artifacts makes them much easier to maintain.

I’d be the first person to tell you that I am a utilitarian code builder rather than an elegant software developer. That means when I build workflows I keep building until they work, and don’t always review them for readability or logic until someone else asks: how does this work?

The root cause here is the belief that once a workflow works, it’s mostly good enough to maintain for the future. This belief is flawed (thank you, fellow software developers, for the reminder).

Draw a picture or an outline

Before you start writing the code for your workflow, draw a picture. If you prefer words, outline instead.

Every flow needs to start by answering: “what are we trying to get done”? e.g. “when we receive a new account, we want to assign it to an account executive so that the last person who received an account waits until others get an account”. If there are two ideas in this flow, write them both out.

It might seem overly simplistic. But it gives you the logical framework to ask questions, like:

  1. What if no account executives are available?
  2. What if only one person is available?
  3. What if the assignment of the account fails?

Answering these questions gives you the structure to understand what you are getting, how to arrange it, and how to build the individual steps of the process.

Now, explain it to someone

Explaining what a flow does to a person who depends on it is an underappreciated step.

Initially, your logic might make lots of sense to you. If your business stakeholder doesn’t get it, it’s time to explain better or refactor your logic.

Low-code workflows need to follow the same principles as other good software, among them:

  1. complete the job that needs to be done. It seems obvious, but fancy flows that don’t get the job done will disappoint the customer.
  2. declare variable names consistently and make sure they make sense. If you create a variable called someVarForTesting, it needs to be a more understandable name in the finished flow, like leadCollection for an array or personModel for an object.
  3. define abstractions in the same area of the code for readability. For example, if you create a “round-robin” selection to pick the next assigned account executive in a list, place the logic to get the list and select the person in one place.
  4. try not to do things more than once, and create a record of what happened. Whether you use console.log() or pass values to a subsequent step, it needs to be possible to test an individual step when it happens based on the starting information expected.

If you wonder if you should document something, ask yourself whether 90 days from now, future you would have any idea what is going on here without more information.

What’s the takeaway? As a low-code software developer, you have the same responsibilities as building other software. That means understanding what you want to accomplish and documenting your work clearly and concisely. It also means leaving yourself open to improving the work in a future pull request.


To view or add a comment, sign in

More articles by Greg Meyer

  • In Ops, when should you build automation?

    Today, it’s easier than ever to build automation whenever you need one (or before you actually need one). So when do…

    5 Comments
  • Applying Mise en Place to Data Operations

    “Mise en Place” is a French culinary term for putting everything in its place. It’s a way to prepare your kitchen for…

  • "The API of Me" in the age of AI

    Our computing ability intersects with our own personal dataset to create new and differentiated solutions with AI at…

    2 Comments
  • Create a pacing graph with Google Sheets

    As an operator, how many times do you get asked: “how are we doing this month vs last month? (Or vs. some previous…

  • In support of "boring" software

    I am an unabashed technology fan and an early adopter of new things. As a kid, I loved (and still love) science fiction…

  • 5 ways to make your low-code automation more effective

    When I started my first software job, I remember thinking two things: I am definitely not the smartest person in the…

    2 Comments
  • Turning daily improvements into milestones

    You’ve seen the statistic. 1% improvements daily for a year yield a 37x return.

    2 Comments
  • Building Diagrams with Computers

    Ethan Mollick writes about AI that “the only way to figure out how useful AI might be is to use it.” This is not…

    2 Comments
  • Redefining the Customer Journey

    Have you ever played RevOps detective? 🕵️ The story goes something like this. There’s a closed-won (or a closed-loss)…

  • Going from 0-1 in Data Operations

    Imagine you are starting a new venture and need to describe all the data tasks that need to happen to get you from…

Insights from the community

Others also viewed

Explore topics