When creating a workflow, one of most common activities in them are tasks.
These tasks must be approved or completed during the execution of the process.
Someone in the organization is in charge of completing the task.
For this to happen, tasks must be assign to users or employees inside the
organization. They must then complete it according to their criteria. For
example, in a bank application for creating a new account, the officer will
generally have a task for checking if the person opening the account is already
a customer of the bank, maybe using their social security number (going one step
further this can be automated using a web service that makes a query to the
backend system and returning true if the person is a customer). After the
officer has completed the check, then he can complete the task.
Assigning a task to a person can be made directly or indirectly. In
Procx, you can do it
any way you want. Directly means assigning a task to an employee, a user. For
example, the task described in the previous example can be assign to Jack, an
officer in our Timbuktu branch. You can even get the user from a variable (for
example a user selected in a list on a form). The disadvantage of using this way
is that if Jack is transferred to the Honolulu branch, then you must edit the
process and change the assignment to the new user.
Assigning a task indirectly means not attaching a task to a user, but instead
to a role. A role belongs to an organizational chart and is occupied by a user.
In the previous example, instead of assigning the task to Jack, you can assign
it to the loan officer located in the organizational chart of the Timbuktu
branch. When Jack gets the sad notice that he’s been transferred to Honolulu,
then the only thing to be done is change the user assigned to the loan officer
role in the organizational chart. No other changes are needed in the process and
everything continues to run smoothly.
This is why assigning tasks to roles is the preferred practice when building
workflows generally and one that is totally supported in Procx.
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
product 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?
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
applications.
Procx allows you to
add workflow to any type of the previous forms.
InfoPath,
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.
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.
From
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
solutions 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.
I think SharePoint is one of the must have components everybody using Windows Server 2003 should have installed. As a free piece, the WSS version allows you to share files and collaborate with peers in the organization. It has document versioning capabilities in the web site and acts as central repository for document storage.
One of the coolest thing I find about it, is the integration with Microsoft Office InfoPath. InfoPath allows you to create forms that are routinely use in the business like purchase orders, expense reimbursement and management, vacation requests, etc. in an easy to use interface. Then you can publish these forms in SharePoint and every employee will be able to see them and fill them. Then you also have a central repository of forms.
The next step in this document and form collaboration environment is to add workflow or approval processes to these documents. That’s why we have made it easy to combine Procx and SharePoint workflow. Procx has features and activities for integration with SharePoint and InfoPath giving already established users of these platforms a huge return on their investments.
See more information about Procx and SharePoint here and see the movie here.