Ask HN: How do I spend less time updating “business logic”?

6 points by mh44 ↗ HN
I work with operations teams that need to frequently update very simple business logic (think SQL). Other engineers who work with operations teams (customer success, fraud/risk, content moderation), do you use internal tools to make you productive? Or enable ops to self-serve via low-code?

Looking to spend less time updating logic and more time building systems.

14 comments

[ 3.5 ms ] story [ 44.9 ms ] thread
We've done some things like that. The best thing I've seen for trivial business changes is to train two business people how to update the fields they need to. It works best with a simple UI in front of it.

As an example, maybe they want to change a cutoff from $100 to $50. You can provide them a standard query for modifying this field. Then they can change the cutoff value as needed. You could keep the SQL to yourself and just plug the number in that they gave you and run it yourself. Of course if you code it as an SP then it's fairly trivial to stand up a basic service and UI in front of it for them too.

Makes sense, that's what I've seen other folks do. I'm curious if you've seen them ask for more features over time, more actions, ability to manage the rules they write - and whether the full blown version of what they need was easy to support?
There's definitely room for growth - when has the business never asked for more haha. It's Agile were I work, so... Generally we deliver the basic UI with functionality to change one field/setting. See how they like it while we start working on the other fields. Assume they want more than they initially ask for because they overlook the details, like audit history and reporting stuff for example. And we obviously build in some basic logic/input constraints so people aren't entering unrealistic stuff.

Overall, it depends on the system if it saves time/effort or not. If the changes are infrequent and basic, you might as well just have them send an email and plug it into an SQL template that you saved from the last request. If it's repetitive and frequent, then I think it makes sense to build a simple UI and let them deal with it.

It could also depend on what you like. You mention wanting to build system over changing business logic. So maybe you would like building the system for them to make thier own changes vs making updates yourself.

I do feel you om the business logic stuff. I'm currently dealing with a problem because of the business requests. They commingled business display content and system data in one field, then the other team decided they would change that field content per the business request without consulting with downstream systems. Not to mention they aren't properly following json format so we have to do some escaping/parsing before running the message through a real parser... it's so frustrating. And of course the pressure is on me to fix it, and my suggestion to roll back that change the broke multiple systems was a no-go. Apparently form is more important than function.

Thanks for sharing your story. Oh man, that sucks! Yeah, it's funny there's things I don't want to build in the first place. And then the moment you build them, you are responsible for making sure they work for the rest of your tenure. Managing downstream dependencies is genuinely hard for so many systems, and is made worse by the lack of visibility and custom code-writing for internal tools.
I actually would love to own a system. I've done that as an acting tech lead for a year, and then as an ASC for a large application from a security perspective. It seems that the issues in this system are different. I probably should have said no to building it until the other systems fixed their architectures (comingled business and tech data, really?). I don't know. I need a job so I should just keep my mouth shut. I wish I could be the one making those bigger decisions and making lots of money while sucking.
Would MS Access be an option? I know Access has a bad reputation, but it is very good at giving non-developers a tool to write queries. There are likely other low code tools that would work, as you mentioned.

At a prior job I managed an Access application. Several accountants wanted to query some of the data but were not willing to work in Access. I used Excel to query the data they wanted. Then they could sort and filter to their hearts content.

Oh interesting, will look into that! Excel works for one-offs, but with repeated queries, or if they're exploring data that they don't know exactly how they'd use, or if they want to affect changes in a system ("send email to all these customer ids"), they'd still have to come back to me?
>they'd still have to come back to me?

Depends. I was dealing with accountants who were very at home in Excel. They were fine with linking Excel to a whole table or query and sorting and filtering for the data they needed. Note that Excel can be actively linked, rather than just doing a one-time import. Something like emailing a subset of customer ID's would have needed my involvement. My users were mostly using the data for discovery, looking for patterns and trends in workflow and client needs.

Makes sense. Thanks for the tip on linking Excel!
Have you explored business rules engines[0] and business rule management systems[1] such as Drools[2][3]?

- [0]: https://en.wikipedia.org/wiki/Business_rules_engine

- [1]: https://en.wikipedia.org/wiki/Business_rule_management_syste...

- [2]: https://www.drools.org/

- [3]: https://en.wikipedia.org/wiki/Drools

We looked into these, but they honestly seemed like a pain to integrate + getting ops to learn a new DSL would need org changes I can't really influence. Have you used these? Would love to hear more! I'd much rather not build it myself haha
I see; this wasn't mentioned in your question. This was used on a project I worked to prepare but it was shelved. I didn't use it personally.
Founder of Seliom here. We provide a low-code business workflow automation platform, in which non-technical folks can update business logic quite easily. Happy to give you a demo.

Check out our solution at https://www.seliom.com

Thanks! This feels like a Zapier/IFTT? What I've found with those tools is that they help me set up the connections, but I often find myself still unable to pass the "data" responsibility over to the business user.

What are your most commonly supported use case examples?