Forms Circa 1923

Forms Circa 1923

In my previous post I reviewed the Form Functionality Value Curve and hinted that certain functionality in BPM forms don’t provide enough benefit to justify their implementation – at least for short term ROI.


Let me take you through a real life example by looking at a core process found in most consumer goods companies: New Product Development (or the equivalent “Engineering Change” in a manufacturing firm). Here is a very important process at the heart of the business that is generally not well automated because of its complexity resulting from the multitude of participants and systems involved. This is a sweet spot for BPM and it involves the creation of a workflow and its associated form(s).

We all dread this more recent form

We all dread this more recent form

Jane wants to create a new form that will navigate through the workflow. This form could be an InfoPath form, a web form based on Microsoft .NET, a PDF form, a Word form – it doesn’t matter. Jane analyzes the needs of the business and begins to create the form by adding “objects” to the empty form, like text boxes, drop downs, buttons. She quickly sees that not all objects are created equal, and upon consideration she realizes that form content can be roughly classified into three groups: logic-free content; simple logic-based content; and complex logic-based content. In layman’s terms I name these “Type 1: Logic-free”, “Type 2: Power User”, and “Type 3: Programmers-on-speed-dial”.

Type 1, Logic-free form content requires minimal work in their design and includes:

  • Free-form text boxes
  • Hard-coded (keyed-in) drop downs and lists
  • Check boxes
  • Images, tables, lines
  • Basic formatting
  • Hard-coded links

Type 2, Power User logic-based content require some level of linking between objects  and include:

  • A drop down or check box which controls behavior of any other control (e.g. I check a box and another appears)
  • A button that triggers a simple pre-defined event like submitting a form
  • Style sheets (Language/resource files Control of read-only, required, or hiding and showing of objects and information on the screen based on conditions from within the form
  • Advanced formatting requiring simple scripts
  • A basic validation at input such as numeric formats, checksums, conditional verifications, etc.
  • Simple database connectivity built using wizards

If you see where I am heading with this, you will note that the Power User logic-based content above is already beyond the ability of most people to handle. Now check out Type 3 below.

Type 3, “Programmers-on-speed-dial”, complex logic-based content requires advanced scripting or programming and include:

  • Intermediate or advanced integration to a database to pull or push data
  • Connecting and consuming web services
  • Adding complex controls like multi-column grids with add/remove/edit, sorting and pagination logic
  • Significantly altering the behavior of the form content when an event occurs (e.g. I select an item and an entire section of the form expands to display various new fields in a new tab)  Complex data validations including database or form content lookups
  • Managing complex content on the form (e.g. XML parsing)
  • Parent-child data structures
  • AJAX or jScript functions (or similar) to provide a more streamlined look and feel and user interface – and if you don’t know what these acronyms stand for, you are already beyond your capacities…!

After reading the above, at what point did you stop understanding what Type 2 and Type 3 means? Do they sound the same to you? The fact is that the average business user can only manage to create Type 1 forms, and a few “power users” can do some of the Type 2 stuff with training and assistance.

In my example, Jane understands her area of work, but not entirely the technology that supports it to the degree required to create Type 2 or 3 forms. She knows functionally what should occur. She can design the flow. She can talk through all the “use cases” (all the eventualities of the logic). But getting that logic to function optimally in the appropriate form and workflow engine environment with the best available methods can become a challenge fairly quickly.

In my next and concluding post I will discuss suggestions for getting past these hurdles and building a successful BPM project no matter what type of forms you encounter.