Version control systems are proven to be the best approach to manage changes in software development practice. Then, why do many BRMS and DMS vendors want to re-invent the wheel by building a proprietary system to manage versions for business rules and decisions? This use of a proprietary system makes the decisions and rules project complex and introduces a technical debt to the organization because it is not a standard and an acceptable way of looking at versioning. Let's delve into how we can solve these challenges with a standard system that enables versioning decisions and rules.

The benefit of using the standard systems is that everyone knows how to use them. And on top of version management of the decisions, you get many other benefits:

  • Enables collaboration: It helps the team members to work together on the same project. 
  • Improves transparency: Team members can see the changes, who made the changes, and the time the changes were made.
  • Store backups: There will be no need to save different versions of the project at multiple locations. With a version controlling system, you can have the latest version of the project stored in a central repository along with the changes made.
  • Enhances productivity: Since the team can work together with less effort, it improves productivity.
  • Reduces Errors: Since you can revise at any stage, even if a team member makes an error, you can still revise and continue development from the working point of the project.

GIT is one of the most commonly used version control systems. Git is a distributed system, everyone who has access to the repository can download it on their own machine and use it. The benefit is that you can have unlimited distributed repositories that sync with each other for different purposes e.g. backup.

So why not use Git? The answer is simple, git, despite all the flexibility and features it provides, is complex! Very hard to sell to non-technical people as they are the main owner of a decisions and rules project.

In our new platform FlexRule X, we have introduced the built-in GIT integration. But we made it super simple and intuitive with an easy-to-use user interface! This is GIT for managing decisions (i.e. business rules, processes, ML, robotics, etc models). Our integrated GIT capability enables enterprises to safely collaborate and manage versions for models with ease.

Versioning Decisions with Full Control

Hence we use GIT for version control, you can take the advantage of the transparency, distributed repositories, having multiple branches, and so on. On top of that, organizations are used to managing GIT for some years now, so they have the internal capacity to support it if needed, and is better than a proprietary system that no one knows how to work with for an organization's most critical assets – business decisions.

Now let’s see how team members collaboratively worked on one project using FlexRule’s built-in Git version controlling system for versioning decisions and rules.

Team Collaboration

As you can see in the following image, there are two team members working on the same project. The changes made are clearly visible, along with the time and revision ID. In this way, you can clearly track the changes and revise if necessary.

versioning decisions
As your project requires more resources, you don't need to worry about how to scale the project. New team members simply can contribute to the project without any worries.

You can further compare the content of files under each commit with the previous versions of decisions and rules projects and see the added/ deleted/ updated files.

versioning decisions

Commit Changes

When you are modeling decisions (i.e. rules, processes, etc) many artifacts are changing, but you may not be ready to commit to all the changes, but a portion of them. Our GIT integration allows selecting only the necessary files and committing changes for only selected numbers of files.

Of course, you can select all of them and commit your changes if that's what you need.

Automatic Conflict Resolution

While you are making changes on the project on your side, other team members might also make some changes on their side, and if that happens to be on the same document you are working on now, that will introduce a conflict. But don't worry, we automatically identify the conflict and resolve it for you.

When you want to commit your changes, our authoring platform (FlexRule Designer X) will let you decide on how to resolve this conflict.

decision version conflicts

Comparing Changes and Revert!

Our authoring platform also allows you to quickly have a look at changes before committing them. You can compare the changes shown below.

And if you are not happy with the changes, you can always Revert Changes to go back with a single click. This reduces the errors and time it takes to track and make all the changes manually.

You are in Control

Everyone in the team can push their changes to a central repository. Hence the GIT is very well known, there are so many options for your central repository servers. You can push the project to a desired remote repository like GitHub, Azure Repo, GitBlit, GitLab, and so on. Having the project in a secured, online, private, and centralized repository allows anyone in the team to manage the project from any location based on the given access level.

Conclusion

It is not acceptable to use a proprietary system to manage the versions of the most important assets of organizations. A version control system for decisions is a must-have tool for decision modeling as a team. It enables collaboration, making it easier to work on a project as a team. Especially, nowadays, when team members are in different geographical locations working in different time zones, collaborating has become essential. When you are modeling decisions, it allows modeling the separate parts assigned to each team member and reviewing them by a team leader before merging into the main project. In this way, you can ensure accuracy and transparency, reducing errors. As a result, you can efficiently work and complete the projects on time which is advantageous to both the customers and your organization.

Published February 3rd, 2022 at 05:16 am