Showing posts with label Business Process Management Software. Show all posts
Showing posts with label Business Process Management Software. Show all posts

Thursday, August 20, 2009

Workflow Managment Software Components - Part 2

Part 2

Process Activity and Process Implementation

Now that we have reviewed some of the basics in your workflow management software, we need to continue with process modeling implementation. This is where a good business process management suite will make your life easier. This part of the business process implementation requires some coding, sometimes. You will need to create your logic at this point, both for the people and the computers and programs that will be involved in the process or procedures. You need to take you model and make it into an executable process by the people or machines doing them. This involves both the execution flow, triggers and data flows as well as the specific instructions that need to be programmed into the applications involved.

The development of your process code and flow can be a manual process. I would not recommend this though, unless you only have a limited amount of budget or processes to develop. We're not even going to go there because the focus of this article is the software components and how it related to bigger business transactions and processes. This part of the process can be time consuming for some people if you need to input a lot of custom coding and programming to support your business calculations, application software, database communications and data entry. If you are in a position where you can be more flexible in your computer application implementation, you can make more use of the vendors integration tools. These integration tools are your development environment to go from a process model to an executable process. How you develop the process is varied by vendor and usually involves some sort of graphical interface to a coding environment. Most workflow and business process management software developers try to make it as easy as they possibly can for any user to create the end process through their software. Most will use common IDE ( Interface Development Environment ) that ties closely into the modeling tools used in the previous steps. These tools are designed to speed up the implementation stage by generating the code for you.

The software packages available today usually integrate well into existing business applications and tools that as used throughout the world. The problems crop up when you or your company are using proprietary software, code and software. Or you have some old application that some guy you hired 15 years ago programmed for you and did not document it or use any standard interfaces. This is when you need some computer expertise in your quest to implement any process flow and you want or need to maintain that old application code.

The new way of doing things usually involves commonly used API's and web services that let you design your own forms, fields and data inputs in standard formats. This is when your flexibility with external software and systems will be considered. When I mean flexibility, I mean that if the vendor offers a fully integrated package with pre-built components that can replace or improve other areas and you can easily implement them. It is usually safer to go with a full, out of the box, setup. You can avoid costly time required to shoe-horn a software package into a tight environment by simply replacing more components at the same time.

Ok, I think I went a little off tangent there... and I am not sure that makes a lot of sense yet... lets move on anyways.

Basically, the steps involved at this stage will convert your pictures of the process ( the model ) into something you can use. As an example, a simple purchase process. You can initiate the process through your tracking software and that will start the flow... all the communication and interaction within that item purchase can be tracked, followed, reported on and completed with ease... which is the next stage, process execution.

Business Process Execution


This is where the work gets done, execution stage. The process engine, or software that executes the process is varied between vendors. Lets look at it as it's own piece or component, it is basically your interface to the process, like you have a button on your desk to click and it starts something up. The software or management facility used for execution is typically not the sole service involved and usually requires some support and services itself, such as computer hardware, software and administration. These support facilities are provided by the vendor or will work with existing or recommended services and applications.

When the process is executed, you can follow 2 paths. One path you have a single owner who is responsible for the interaction between components, the information passed, stored and direction to each stage of the process. This is more of an orchestrated approached. Another path that some vendors follow is a more coordinated flow, where the interaction between internal, external or both parties can be done independently and each participant has some ownership to the process.

In either case, the job should get done at this stage and your end result will be the same, no matter what methodology it takes.

Friday, August 14, 2009

Workflow Managment Software Components - Part 1

Part 1

First, if you do not know what workflow is then we might be in a little trouble.... Workflow is basically a sequence of events, operations or processes. Work is work and that is really what people are doing, but the description of that work as it goes through a process or evolves is the flow. Workflow concepts are one of the more basic building blocks of a procedure and larger processes. You could say that workflow is the fundamental backbone of process management. Workflow is probably best represented as a flow chart visually, but is usually more integrated with computer processing and integration.

When your business workflow is described, it almost always involves a technological component to track and manage each of the individual processes ( workflows ). Part of the business context in workflow management is documenting a pattern or process to be easily learned, duplicated and repeated. Providing a machine, human or process a way to most efficiently complete a task. Part of this process is to always improve the process, thus improving the workflow and interaction between all parties in the process. Some of the theories used in todays markets include Six Sigma, Lean systems and Total Quality Management. All current process modeling involves computers and software, the systems are too complex to be written out on paper anymore.

Process Modeling

One of the first phases and parts of the management software implementation or design involves a modeling phase. Often the process management software includes this as part of it's development system. This initial phase is often a visual representation of the process flows that are currently in place in the business. This modeling is done with a visual design tool such as visio, which is one of the most common. However, many of the workflow management software solutions and vendors have their own proprietary solution and tool for this part of the design phase.

A Process is a grouping of tasks or activities that link to and from each other in a flow. This process or workflow usually has a single purpose or goal to achieve. Defining a full process from scratch does take some time, but it needs to be done. Conditions that invoke the process must be defined and the conditions affect the flow too. During the process modeling phase you will need to include all files, documents, steps, tasks and interactions that occur throughout each process. Define the human interactions as well as the non-human processes that can be automated along the way too, you don't have to fully develop them at this time, but it is a good time to make a note of where improvements can be made. The modeling tool you use must be able to handle all the human to human as well as the system to system interactions. It also needs to be able to handle all the events that can invoke the process, as well as end it.

All this documentation in a single visual tool might seem impossible, but it is not. One of the ways that these new tools represent all the different forms of activities is by using widely accepted standard, known as BPMN, which stands for Business Process Modeling Notation.

The outcome of the process modeling phase usually yields a somewhat executable process flow. The next step is to be able to migrate that visual flow into a working executable format. The type of business process modeling format that most of the business process modeling tools use, such as XPDL or BPEL. These formats, or languages are understood by most of the process modeling tools out there today. XPDL stands for the XML Process Definition Language and was standardized by the Workflow Management Coalition ( WfMC ), BPEL stands for Business Process Execution Language ( short for Web Services Business Process Execution Language ) and is used for specifying interactions with Web based services.

In the next post, I will continue with this article and move into more of the process implementation stage.