Writing Efficient Workflow Steps Actions With Reusability In Mind.
Designing or writing efficient workflow steps requires our based design framework to be modular and clean. We designed our cDevWorkflow engine with this principle and now years later we are still able to modify a section of the current version without effecting other modules or previous version compatibility. Modifying an existing design or idea to fit the current need will require some rework. There is no way around the requirement to remove all the extraneous information from the old application design. However the finished product is a time proven, framework of a design.
Our design goals should be to create a collection of base module framework versions that each function efficiently and have a clean, easy to understand flow. This collection of code resources being able to perform specific operations resulting in predictable results are an efficient uses of both time and resources. Exactly the same two project variables everyone is always concerned with.
So how do we apply this "efficient design" concept to improve our efficiencies when writing workflow steps?
The key to writing workflow steps or actions, is to write them in such way that they are 70-100% reusable. Highly efficient designs that can be modified or configured to fit the specific business process.
Remembering back to one of those college lectures, there seems to be some truth to the concept that efficient programming requires 90% thinking and 10% coding. With regards to writing workflow steps the more properties that we can design into each process step or action, the more configurable our process solution will be.
Here is an example using a process step that was posted today. The user who designed this step created an efficient base model by providing a properties menu that is very configurable:
- table name
- field name
- field value
- where clause field
- where clause value
By providing this menu of configurable properties, the step is very efficient and easily modified to fit the overall workflow process.
Imagine a complex BPM definition that has 100-200 workflow steps where each process section or possibly each process step has been hard coded for a specific function. The design could be flawless and the end result is still a nightmare to debug or revise as we move towards implementation.
Now imagine that same complex collection of 100-200 workflow steps where the design is comprised of less than 10 unique steps. Imagine the efficiencies realized by everyone associated with the project when there are only 10 workflow steps spread over a business process rather than 100-200 workflow steps.
The lesson we learned when faced with a project timeline problem was simple and easy to deploy. We developed an efficient design that was easier to implement and maintain by writing workflow steps and actions that were reusable and configurable.
Companies around the world are seeking ways to improve efficiencies associated with repeatable workflow steps and actions. We think we should strive to accomplish the same objective when programming business process management software.
A small sampling of the Workflow Technology for BPM Solutions contained within our cDevWorkflow product offering can be found here: Workflow Technology That Works.
Learn more about our Process Automation & IT, QA Services or Software Development products and solutions on the Web! Visit us at: Innovative Process Solutions