Polite software should be fudgable

When manual tasks and processes are automated, most of the time something is
lost in the middle. The most simple thing that is lost is flexibility. When
humans interact with a process, they can always adjusts things to their own way.
When handling an expense request, the account payables department may want to
approve it faster if the request is coming from that project in China that is
behind schedule, so the priorities in the process change. When we automate the
expense reimbursement request with software, these flexibilities are gone making
the software not likable for users.

That is how Alan Cooper describes fudgable software in his extraordinary book
The Inmates Are Running the Asylum : Why High Tech Products Drive Us Crazy and How to Restore the Sanity (2nd Edition): “I call this ability to take actions
out of sequence or before prerequisites are satisfied fudgability

For solving the problem, Alan describes in his book that software should be
flexible enough to handle this out of sequence tasks in the process allowing
persons to interact with it in a more human way. It’s like letting the users
decide which is the best way to handle a request.

This flexibility in software maybe one of the most complicated task to
accomplish during construction. Generally products are locked in the way a
workflow should execute, closing any other variables and exceptions that the
final user may want to use, as Alan explains in his book. But, if we achieved
this kind of malleability in software, we are making software that acts more
like a human allowing interaction to be kindly.

This kind of flexibility in software can be achieved using
business process
management software
like Procx. The process per se can be changed and
configured according to organizational needs. Exceptions can be taken in and out
of the process as management wants. A request for a purchase order can no longer
be locked in an specific workflow forever. Process analysts can draw their
processes in the workflow
and decide under which rules it will execute.

So, the interaction of the user with the process is not embedded in the
software, it would be built in Procx allowing the process to be as flexible as
the organization and management wants. It’s a new way of automating processes.
What do you think?

Forms with InfoPath, XForms and others

Every process in an organization is related to document or some other kind of
information. The majority of these documents are forms. From an expense request
form to a vacation approval form. Forms structure information, so these can be
more easily digested by others in the organization.

When you are looking to automate this processes you need to find a way to
also take these forms to electronic forms. Then users in the company will have
like a central repository for these requests, allowing them to fill them more
easily and at the same time reduce errors. For developing electronic forms you
have several options in the market:

- Microsoft
Office InfoPath
: It’s the product offering from Microsoft. You can easily
draw forms in a very intuitive way. It integrates with other Office products
like Excel, Word and SharePoint. The final produced form is an XML, which makes
it easy to integrate with other applications. For viewing and editing the form,
you need to have InfoPath installed on the client machine.

- XForms: is the W3C standard for
making web forms. It has a whole structure for developing and designing them.
Any organization can take their forms electronic using these technology. You can
view and edit the forms using one of the commercially available products or just
use the Firefox XForms plug-in
which is free. Also with XForms, the final produced form is an XML.

- Developed your own forms: You can also developed your own forms using the
technology you prefer (PHP, ASP, ASP.NET, etc.). The only thing to have in mind
is that the final output must be also an XML to be compatible with other

Procx allows you to
add workflow
to any type of the previous forms.
XForms or any other
XML file is supported. You can design the process and use the fields from the
form to build business rules and customized notifications. This provide an
integrated environment for developing forms and the workflow for handling the
requests. Real process automation.

BPM is an ongoing journey

Organizations are composed of processes. Not only organizations, but anything
that surround us, that has some type of function, can be described as a series
of steps followed to achieve some desired goal. For me, I think the perfect
machine, with perfect processes, is the human body. Every function is delimited,
has a series of steps, and evolution has made of these processes an art, making
them perfect. Every single one of them.

The same thing happens in our businesses. There’s a workflow to be followed
for almost any function. The only difference, with our bodies for example, is
that they are not perfect. In the majority of businesses we don’t event know the
steps of processes because they are not documented, making it more difficult to
correct errors.

When you want to make processes in an organization better, you need to
correct errors, eliminate steps, maybe automate others, etc. But there’s always
some tweaking to do until you reach an acceptable level of performance. That’s
why business process management is an every day task. It’s not a project that
finished today.


this article
: “Both BPM and SOA could be thought of as a way of thinking
about how the business and governance model should be designed and a way of
delivering the technology and applications to support that design,” Miers says.
“Both concepts involve a journey, not a destination. At their core, both employ
an iterative approach to business performance improvement.

New processes appear every day. They come from new campaigns, new product or
services offering and also from changing directions of companies. Also actual
workflows change due to market needs.
BPM and workflow
will give the flexibility businesses needs for adjusting and
creating these processes allowing them to face competition and increase their
performance in an ongoing basis.