In April, I (David, 26*) joined edorasware, representing a business sector I’m experienced in that I believe will offer new challenges with a new team and different culture, which I expect will end up being a very enriching experience for me.

When I arrived, I received a really warm welcome and quickly adapted to the new environment. So far, I am proud to be part of a team where quality assurance really matters and every idea is taken into account, allowing me to truly have the possibility to make an impact.

I’m confident that the increasing talent pool and great potential of its main products — edoras one and, in particular, the latest addition, Flowable — are key factors that can position edorasware as one of the most innovative companies in Business Process Modeling (BPM) for years to come.

For me, as an industrial engineer with a background in business processes improvement and a passion for coding at the same time, it is incredibly rewarding to work as a developer in the overlapping area between business and IT, which deals with automating work and simplifying things by using IT, providing business solutions to different sectors. Here is where Business Process Modeling is of great relevance, and that is why, in this post, I will describe some key benefits of this practice and then present my experience at edorasware with regard to these advantages.

Business Process Modeling is a combination of various process-related steps — such as process mapping, process discovery, process simulation, process analysis, and process improvement — aimed at improving business performance by optimizing the efficiency of connecting activities in the provision of a product or service.

BPM has emerged during the last few decades and has replaced previous organizational efficiency practices, such as the Time and Motion Study (TMS) and Total Quality Management (TQM).

Following are some of the key advantages BPM allows you to achieve.

1. Align operations with business strategy

Implementing a business strategy or new business model requires changes in the operations and in how people perform their work.

Business process modeling facilitates this by helping managers and executives ensure that business processes are consistent, and enable business execution toward achieving the overall strategy and goals of the organization.

2. Improve process communication

Having a very clear idea of what should be done, how it is supposed to be done, and what the exact role of every team member entails, represents key factors that lead businesses and teams to success.

Business process modeling enables the documentation and communication of an organization’s business processes. It provides a common, unified language and methodology for communicating processes, information and guidelines about the processes; it minimizes the loss of business process knowledge (for example, as a result of a loss of staff); jumpstarts the organizational process documentation initiative; and, allows for rapid knowledge transfer with thoroughly documented processes.

3. Increase control and consistency

Successful companies and organizations also attach high importance to well-designed business processes and rules to ensure that they are consistently applied the same way every single time.

Business Process Modeling makes this possible, as it provides the formalization of existing processes that may not be well-documented, eliminates guesswork, and ensures that these documented processes follow the company guidelines and legal regulations.

4. Improve operational efficiencies

The process simulation and analysis steps of BPM provide understanding of the process flows and helps managers determine if there is room for further optimization, improving the process cycle time, enabling better resource utilization, and allowing modeling of the process before actually implementing it, thus minimizing disruptions.

5. Gain competitive advantage

All the benefits mentioned above lead to a significant competitive advantage for an organization that has invested the time and effort to document, simulate, constantly refine, and improve its business processes.

A business that has aligned its operations with its strategy, is agile, has control over its processes, runs efficiently, and has a well-trained staff, is likely to be performing at its best.

At edorasware, I have the opportunity to learn from many colleagues who are experienced developers or business analysts through a collaboration platform used to create, organize, and discuss work. This is actually a very useful documentation practice that provides employees with coding guidelines (for example, how to deal with error logging) — information on how to set up a programming environment or how to create a branch from a master project within others — avoiding loss of knowledge and increasing consistency.

Business analysts and requirements engineers are responsible for gathering and negotiating the requirements of the client: splitting this whole package into dif-ferent tasks that would then be performed by the developers, who are responsible for developing, testing, and documenting the tasks performed, following a documented task lifecycle. Afterwards, the work is evaluated by all team members to assure code quality and consistency. While business process modeling relates to many aspects of management (business, organization, profit, change, projects, and so on), its detailed technical nature and process-emphasis links it closely with quality management and the analytical approaches and responsibilities arising in the improvement of quality.

As a team, we also put heavy emphasis on effective communication by implementing team-focused approaches such as Scrum, which provides a framework for continual feedback and exposure to make sure that quality is as high as possible, improving progress visibility and increasing project control.

Put simply, business process modeling aims to improve business performance by optimizing the efficiency of connecting activities in the provision of a product or service.

*About the author:
Name: David Santiago
Date of birth: 01/08/1990
Birthplace: Ponteceso (A Coruña), Spain
Education: Industrial Engineering, Universidade de Vigo (Spain)
Start at edorasware ag: 18/04/2017
Title: Full stack developer
Projects: eDiscovery (Finance)
Hobbies: swimming, travelling

When we talk about the open source Flowable BPM, it’s important to bear in mind that there are two versions: 5 and 6.

Flowable 5 is based on a fork of the open source Activiti 5 and can literally be dropped in as an alternative (with more bug fixes and some additional functionality). We will continue supporting Flowable 5, but most of the future features are going to happen on the Flowable 6 line that we released earlier this year.

Flowable 6 is the next generation engine that brings a number of significant changes in its core.  One major enhancement is the introduction of an abstract data layer, which allows you to use relational or other databases to store process state.  You can even mix the data storage between a relational database and a NoSQL database, if you want.  The other key change is in process execution, which will allow us to innovate in BPM for years to come.

The way processes are executed in Flowable 5 (as for other engines with the same origin) is that BPMN is mapped to a Process Virtual Machine (PVM).  You can think of this a bit like Java code that’s converted to bytecode to run on a JVM.  In Flowable 5, one BPMN operation might get mapped to multiple PVM operations.  The problem is, over time, these PVM operations have had to deal with more and more exceptions and use cases that mean they are no longer clean, isolated and efficient.

Flowable 6 introduces a clean and predictable execution model.  There’s a one-to-one relationship between BPMN and the execution operations, so all the odd bits of code scattered around the PVM operations are no longer needed.  Now the model is much more understandable with clear meaning, which means less chance of bugs being introduced with new features, as well as being easier to fix.  More excitingly, it is now possible to manipulate running processes, such as easily changing the state of a process.  We can even inject new process elements into a single running process – imagine you’re part way through a complex on-boarding process for a client, when you come across a new piece of information that means you really want to include a credit check on an associate – with Flowable 6 you could inject the additional credit check process into your current one and continue as if that was how the process was designed.  And, that exceptional process is fully auditable and even re-usable. It may not even need to be a human that decides to inject the process, it could be some external risk assessment system or machine learning algorithm that decides it should be inserted.

The new Flowable 6 architecture will allow us to introduce new dynamic capabilities as we move forward, and our customers will guide us on what we should be doing to best exploit this for their business challenges.  Meantime, we’ll continue to support and maintain Flowable 5 for years to come, because some want an instant, painless switch to a supported open source BPM library, but aren’t ready to move to Flowable 6 immediately.  For any new projects, you should really start with Flowable 6 to gain its benefits now, and at the same time you’ll be working with the future.

After our announcement… it seems now to be a good time to give a brief introduction to Flowable. There are just two key takeaways: Flowable is Open Source, and Flowable is an awesome Business Process Management engine.

What does that mean to you? Let’s unwrap some of that and dig in more deeply, as they say.

Open Source, so what?

You can…

just download and start using it
look inside at all the codes
make whatever changes and extensions you need
contribute code back to the project (if you’re progressive enough…)
use it wherever you want
… and we may never need to be aware of each other.

There’s a healthy community of users and people contributing fixes and enhancements, all curated by the core engineers. This community can help you by answering questions on the forums, whether it’s low-level technical detail or just how to get started. There are many varieties of open source projects, and the only way you’ll find out which are the best is by experiencing their community.

And who wants to learn more about the BPM engine? We are looking forward to give u more details… coming soon!

What if more help needed? Support subscriptions are available from now on. Please check Flowable Core

We’ll be talking much more about the technology and business benefits, so remember to check back here to find out more… do not miss to follow us!

Karin Deichert
Head of Marketing

“Digitalization” – probably one of the greatest forces transforming society today. It radically changes our habits, and it’s much more than just automation and making analog things digital. It affects how people, technology and things interact and relate to each other. So digitalization is on many companies’ plate. It is challenging and it is not always properly managed: many companies find digital transformation a significant challenge. Nevertheless, with some minor precautions there will be fewer stumbling blocks on the line.

A clear vision

Opportunities are massive: digitalization brings enhanced levels of service, more automation, usage of artificial intelligence, reduced environmental impact, more efficient processes in the industrial and service sectors: it simplifies everyday life. Many companies concerned with digital transformation are sometimes not looking at the big picture: every company must create a vision that shows where it should go. It must be clear why the digital transformation of the company is actually important. Employees must be involved and taken into this voyage of business transformation from the beginning. A strong vision is key, so apply one.

Cultural and organizational changes

Digitalization brings many challenges. You need knowledge and close collaboration between various actors inside and outside your company. If you believe that digital transformation can be a little side project in your company, think again. A cultural transformation has to take place.

The correct priorities must be set: the right structure is often lacking in many areas. It often makes little sense to pick the “digital” part out of every area of the company to form a dedicated project. One of the most important considerations is the appointment of the right people to the right positions. Compromises occur all too often. Employees need a clear attitude, and companies need to consider budgeting more for appropriate employee training. Training in the professional fields of respective employees is important, but there is often a lack of additional training on topics such as digital transformation.

A flexible platform

Last but not least, it is also important that companies invest in the right tools for their employees. It might be difficult to continue to work with your current legacy software platform because it may not have the capacity to grow with the company and with the needs of today. Consider introducing a modern work and collaboration management solution is certainly a good starting point. Complexity needs to be orchestrated and setting the right technological foundation is crucial.

All of this is both challenging and exciting. We are heading rapidly to a highly connected and digital world. Get in touch with us. We are a strong partner to support you in your digitalization journey.

Marc Bühler
Marketing Manager edorasware

Testing business processes can take a lot of time and resources. To test all the possible variations and different scenarios in a complex business process manually, can be quite challenging and time-consuming. This is further evident when we take into account that business process management processes are usually long running. This means that finding a bug by utilizing an iterative process can take several days as there may be thousands of process instances running on the potentially bug-affected process. Therefore, there is a need for a sophisticated testing framework for BPM platforms. And it is evident that automation is crucial. There are a few different ways to implement automated testing. Let us have a closer look at the key methods.

Unit testing with JUnit

JUnit is an open source unit testing framework. It is ready to use, well-known to Java developers and it is easy to use as almost everything can be expressed in Java code. This is the best tool for low level testing of technical aspects, such as testing services and REST APIs.

However, it has some disadvantages, such as when it comes to more business-oriented end-to-end testing. Testing in this instance is usually performed by business and test analysts, who may not be familiar with Java. Also, writing unit tests can be very time consuming. Last but not least, you need to build up a special infrastructure, because JUnit cannot be run directly from the workflow engine.

Using process modeling to define test procedures

A very interesting option is to use business process modeling and notation (BPMN) for testing. Using BPMN to write the test cases can bring about many benefits. It allows process modelers, such as test and business analysts, to design the tests in their usual manner on a user-friendly level.

Tests are event based and tasks can be tested step by step. Different input variables can be used and assertions tested. To achieve this though, the pallet of workflow nodes needs to be extended. New nodes need to be specifically prepared for testing. This makes the testing more user friendly and flexible. Process events (such as deploy, start, complete) can be designed manually, while evaluation is part of the process test definition.

Workflow nodes for testing the nodes available in the library (palette)

Process simulation

With these two methods, the possibilities are huge. But what about testing something in an environment that comes close to the real world?

Simulations are the answer. For simulations, different virtualised situations can be applied and tested. The goal here is to simulate a variety of states in a fast and efficient manner. Imagine you want to test a car and you would like to run the car to the end of a pre-defined route but you also want to see its performance with different weather conditions. With virtualisation, the same flows can be retested under different circumstances very quickly and easily.

If your workflow management platform runs on the Activiti engine, then Activiti-Crystalball could be a good solution to implement this virtualisation for testing. With the appropriate tooling, it is easy to reuse data, start simulations and then to replay the workflow behaviour from the set-up history.


For developers, unit testing is a natural thing to do. Concluding unit tests is always useful, especially with the focus on testing at lower rather technical levels. Process testing is the friendlier option for process modelers too. In order to test a process efficiently under different complex circumstances, concluding simulations is a cost-effective and time-saving method to do so.

Last but not least, the magic lies in finding the right mix between the mentioned options as all the different options follow their own specific purpose, but finding the right combination means they can complement each other to achieve more effective results.

Martin Grofčík
Product Developer

In our last blog we gave you some basic advice to help you to decide whether decision management notation (DMN) is right for you. Now if you have come to the conclusion to use the DMN standard, how would you typically start such a project and what do you need to consider?

The first step is to gain some know-how. Take an in-depth look at decision management. DMN is a notation, built from years of practice. It is a new standard and it’s developing. If you understand what it does, then you’ll know better how to use it and how to improve it based on your own practical experience.

Any modelling approach, requires a certain rigour, otherwise you will waste time and not use it long term. Pick a vendor or consultant with a demonstrated track record of implementing process and decision management platforms and who has a solid implementation project methodology. It is important to understand the distinction between business logic and decisions. Once that concept is clear, using a DMN tool that not only allows you to model but to deploy the model as an operational service across your entire organisation will allow you to make huge progress.

The analysts and modelers who create the decision models must follow an in-depth training programme to learn the principles of decision modelling and to become experts in the tools chosen. The developers of decision modelling tools must focus on the relationships and elements within the decision models and learn as much of the DMN specification as necessary to ensure the desired level of conformance with the specification and its proper implementation in their tools.

In general, start small, keep it simple, demonstrate success in a project of a small scope that potentially has a real impact on the business, and keep iterating in an expanding manner. You should understand what level of maturity you wish to reach and frequently measure your progress.

As with any project, you need to analyse the business requirements. Use a simple top-down decomposition of your business rules, involving a few days’ participation from your process owners and subject-matter experts, led by a business analyst. This investment will result in decision diagrams showing the structure of the decision-making domain and identifying all the information required for it: the data that must be collected by the process and the organisational business knowledge – business rules, analytic models and calculations – that must be applied to the data to make the necessary decisions.

Decision Model by Object Modelling Group (OMG)

Soon it will be common practice for you to specify your complete decision model in DMN, working top-down, and then deploying it directly to the execution architecture as a decision service to be consumed by your business process management platform. I hope we have given you some insights into DMN. Feel free to ask any questions or add any comments below. We are happy to discuss this with you or become your partner in finding the right way to profit from this useful new standard.

Marc Bühler
Marketing Manager edorasware

DMN is becoming increasingly popular. Many business processes are about approvals – for loans, expenses, travel, documents, and so on. Business process modeling notation (BPMN) is useful for defining the steps of such processes, but it doesn’t explain why things get approved or rejected. This is where DMN comes in, as it standardizes the composition of decision-tree diagrams, automating the underlying logic as decision tables and other user-friendly tabular expressions. But is it the right solution for your company?

So DMN allows us to represent decision logic in a way that’s not only easy to understand, but also able to be precisely replicated. Choosing to use DMN depends on whether:

your business processes require rule-based applications that are subject to regularly changing business rules;
your affected business domain and the business rules from which decisions are derived are suitably complex; and
you can see the potential for scaling your rules in a distinct reusable manner.

DMN is suitable for use in all industries and by all types of organisation, especially where decision-making must be accurate and compliant with legislation. Government regulations, including financial, environmental and labour regulations, have risk implications that must be taken seriously. These operational decisions can have major impacts on your operations, so even small enhancements can have considerable effects on your company’s performance and risk profile.

DMN is a great auditing tool, too, as it provides a complete and detailed audit trail of decisions and how they were reached. Plus, if you’re using BPMN, DMN is an obvious complementary choice for modeling and executing business rules, and properly maintaining them within an adaptive and agile development approach.

All of this makes DMN a convenient way of navigating today’s complex business environment, particularly for service-oriented industries such as financial services, insurance, logistics, government, legal and healthcare.

Have we awoken your interest in DMN? If so, please read our next blog, which explains how to get started and what to consider when setting up a DMN project.

Marc Bühler
Marketing Manager edorasware

Go back to top