The fast-changing business processes of modern IT companies create only the illusion of manageability. Often an oral agreement during a production meeting or a well-documented process is “lost” because of the inability to monitor their follow-up. Is there a way to control and also improve the rules of the game both efficiently & non-resourcefully? Today’s topic is Unit Tests (PUTs).
Process unit testing is an automated auditing of compliance of business processes with business policies and business rules of the entire enterprise or specific organization unit. Hereafter is why companies should write PUTs:
- PUT as a means of identifying nonconformities. It often happens that it is quite difficult to find out that a particular Business Process or Business Rule does not work — employees do not follow it. The PUTs help to quickly identify this problem and spend the saved time on finding the root cause of the nonconformity or a series of non-conformities.
- PUTs give an instant result. PUTs allow you to check the process at once and know that the employees or team are following it. This is a very powerful mechanism. One of the reasons how you can enjoy the process is the ability to immediately see the result of its implementation. PUTs allow you to instantly try the process and see that it’s working.
- PUTs reduce the fear of change. PUTs give an opportunity to change the process without fear. This means that you can make changes to the process and instantly find out if your changes have disturbed anything. If you have a good foundation from the tests, then you can be sure that the process is working and that you are not afraid of changes in the future.
- Testing (or coverage) by process tests makes the development and excellence of processes faster. If you develop processes on-point, from section to section (which is quite laborious), then testing can slow down your process. Think with PUTs (think about good tests) and create good tests — it takes a decent amount of time. But eventually, you will see that the speed of advancement in the development of processes has increased because you have ceased to constantly think that you can “break something” in an already established process with its development or improvements. One of the greatest fears that employees embrace when making changes to the process is the fear of misinterpreting one or another Business Policy or rule and making a mistake. With good tests in the initial process, you can ignore the various details of the process. We can improve the process later without fear of disturbing anything. At the first pass, it can outline rough, awkward brainstorming results. We can always return to this decision and replace it with a more successful option if necessary.
- PUTs contribute to the digitization of infrastructure. There may be a situation when the initially tested object will not be available in the IT infrastructure. In order to write a test for such a process, it is necessary that the tested objects be presented in the digital format (a financial warrant, some ticket type in the issue-tracking system, or a request format for the purchasing). Tests will push the company’s movement towards digitization of the tested objects and expression of them in the IT infrastructure. Such a step will lead to an increase in the level of digitalization of the company’s processes.
- Tests are aimed at concretizing the process. If you start thinking about what you would like to control automatically (think with PUTs) when developing a new business process, this might help to crystallize the Business Rules that will be under tests. Such Business Rules will present specifics, which will be based on the implementation of the PUT. It will also help to define and develop clearer terminology, inputs and outputs, surrounding relationships.
- The ability to test the process before it is created. Sometimes a newly created team is forced to “go down a procedural trail” independently. At meetings, we create a dense agreement, internal rules, but this can’t yet be called a process; that’s just an inception. It is important that these arrangements are carried out, and this can be facilitated by tests that can be written on these arrangements and their agreements, even without a perfectly defined process description. When the process is final, then the PUTs will serve as its support and improvement.
- PUTs analyze the survivability of processes. Tests will help to think whether such a complex (tangled) process is needed or needs to be broken down into sub-processes. PUTs test the workability, “survivability” of the process (how much difficulty there was to follow) under different scenarios.
- PUTs are aimed at streamlining processes. When you develop a new process or revise an old one, testing (the process) makes you think, which usually gives new ideas for optimizing and automating the process itself. If the process is not described, and there are only oral agreements, then the PUT may be the only established confirmation of the existence of the process.
- PUT, as a means of controlling the passing of the happy path to the process. Often, Business Policies or Business Rules are classically well-trained multi-page documents that no one reads or reads to the end. PUTs can cover a kind of happy path — the minimum necessary business rules, which allows you to be sure of controlling the minimum allowed requirements.
Read the full article here.