Procx Tip #1

When we were building
Procx, one of the
things we wanted to achieve was to give total control about processes, that
businesses could draw their process in a standard way (how business users draw
it and understands it) but at the same time, they could create rules, define
flow paths and control their business in a deep manner.

When a process is executed, it is usually done
in the context of something. Generally, this can be a document, a spreadsheet, a
presentation, a form, etc. The most common is a form. These are used through out
businesses to represent request from customers and internal employees. It
structure information and contains the elements necessary for running the
process.

Because of this, we wanted to integrate forms
in Procx in a standard way, so information from these forms could be available
inside the process and, at the same time, it would be easy for business users to
use that information and build processes with it.

That’s why we have forms integrated in Procx.
In actual version 2.0, you can integrate forms made with

Microsoft Office InfoPath 2003
, industry standard
XForms or any other form that
produces a standard XML file. There are
certain activities in Procx that will let you consume the fields from these
forms and use them in the process. When you do this, they are available for use
in the Data Sources browser:

In this figure for example, you can see fields
coming from an expense form.

With this you can now build business rules (or
policies), use them to send information to other systems (integration) like
accounting systems, customer relationship systems, create other documents, etc.
You can use them in any activity that supports the use of fields.

The Art of Policies in Business

When we think about policies, the first thing
that comes to our minds are the rules we must comply when we work in a company.
Companies around the world have policies. Every one has, and almost no company
have the same and equal policies that others have.

Also the amount varies. Big companies have much
more policies than small and medium businesses. Policies help businesses keep
things under control. In my theory, that’s why big corporations have more
policies than smaller ones. In a 50,000  employee company, there have to
certain rules available to keep things under control. You can compare this with
a country. The bigger the country, then bigger the amount of laws. The absence
of policies could lead a big company into chaos, leading every one of the 50,000
employees to do whatever they want and go in different direction for completing
a task. I think they are needed if you want to manage that amount of people
under one structure.

But, while the amount of policies in a company
increases, also the processes and bureaucracy for making what once was simple
things. Tasks become more tedious. Check in a file into the repository, ask for
a
expense reimbursement, ask for your vacation, getting approval for a purchase
order; you can come up with thousands of examples. But one thing is for sure:
everything becomes more slower.

That’s why small firms must be more faster and
adaptable than larger firms (definitively a
competitive
advantage
). It’s easier to keep track of work with fewer employees. And
every knows how to do their tasks and what rules to comply, because that’s the
way we do things around here, everybody knows that. You want to start blogging
about your business, you go, get an account and that’s it. Big companies don’t
do it. They have to develop first a policy that every employee must submit if
they want to blog. But there’s a balance: every company wants to grow, increase
revenues and for that, you have to increase the amount of employees. Following
what we have said, you will also need to increase the amount of policies to keep
the environment of your office from coming to a chaos.

You can do various things to keep this from
happening. One I think is to try to have like independent teams inside your
company. For example, if you are planning to launch a new product or line of
product, try to put the people in charge of doing this task in a structure like
if they were independent. Like a company apart. This will give them the freedom
and creativity necessary to drive things through. It’s like growing the company
without actually growing the structure. This people can report directly to the
CEO or President.

One other thing that can be done is to enforce
policies in the company in way so transparent for the employee, that he doesn’t
notice that a policy is been applied. And how you can get that? How do you get
your officers to not notice they don’t have the right level of approval for a
certain loan request? When you use
business process
automation software
, like workflow,  processes and rules (policies) of
the company are enter in the software. Then the software drives and enforce the
process and end users just have to complete their tasks. I like to call it “the
good parent”. They always hold their sons by their hands.

Now you make processes and policy enforcement
faster
inside the company and you don’t have to train everybody to comply with the new
rules. That rules sit on a repository, and everyone complies with it or the
process don’t go forward. So training costs go down and also the people require
to watch for policy enforcement. You’re making things simpler.

If you combine the two options above, you have
an ultra fast company. Operating and completing tasks in much better way than
the competition. 

Software and ROI

What would be the final objective of
implementing software in your organization? Definitively to increase performance
and productivity, being the final, I thing,  the most important one. Every
single task can be done manually, even finding your credit report in millions of
papers, in a big close room, can be done.

But not every software in your company will
bring the same benefits it could bring to other companies. An image editing and
processing software could be a huge benefit for publishing and media companies
while not a lot for the financial industry. It depends on the process you are
trying to automate and what are the costs of executing this process.

One way you can know the benefits of
implementing a software is calculating the Return Of Investment (ROI) of the
project. What is the actual cost you will be reducing by implementing the
software. Let’s make an example:

A vacation request from an employee needs the
approval of his direct supervisor and the approval of the HR department. After
your boss questioning for two days about the necessity of you taking that long
deserved vacation and your involvement in the project of reducing the amount of
pencils on the companies employees desk, he finally approves your application.
Then HR department also investigates and approves the request. Calculating the
hour cost of our boss in $100 and the person in HR department in $95, we could
have the following table:

Activity Hours Cost
Supervisor Approval 5 500
HR Approval 4 380
Subtotal   880
By 100 request a
year
  $88,000

We have calculated the actual cost of
processing vacation request in a total of 88,000 thousand a year. Now let’s
assume that you implemented a workflow software with electronic forms
integration and have automated the whole vacation process. You could reduce the
time taken routing the actual paper form, reviewing and locating  the form
by 50%, then you could have the following table:

Activity Hours Cost
Supervisor Approval 2.5 250
HR Approval 2 190
Subtotal   440
By 100 request a
year
  $44,000

You are saving 44,000 thousand that could be
use in the business for raising wages. Your return on investment is 44,000
thousand if you implement this kind of software. One of the good things about
workflow and process automation software is that you begin realizing the value
of it since day one of the implementation, and
this is only one process. Automating other processes through out the
organization will lead to fewer costs also.

In an enterprise organization, the benefits of
this kind of software are huge because of the reducing costs they lead. But I
think that small and mid businesses also take a huge benefit. Not only are they
reducing costs, but they are also building the infrastructure for a competitive
advantage against big corporations. For example, in SMB, the HR department isn’t
typically big. As the company grows in amount of employees, you would normally
need to increase the HR department, but this is not true if you have automated
the core processes of HR.

The benefits are even higher when you automate
core processes of your business, like software construction in a software
company, loan requests in a bank, legal cases in a law firm, etc.

Always calculate the ROI and the benefits the
software will bring to your organization.

Speed

No, this is not a publicity for the movie.

What is one of the biggest advantages a
MicroISV or Small ISV has over big software corporations? That’s right. I think
is speed. Is the capacity of getting good software out to the market in a small
time frame. And why this could be an advantage?

If we take a look back in time, one of the
reasons software products loose the battle to other
products is because speed. Take a look at Internet Explorer vs. Netscape some
years ago. One of the biggest flow with Netscape was their ability to take new
versions quickly to the market. If my memory don’t cheat me, back in that time
you could see a new version of IE almost every six months, and with a ton of new
features. This is pretty quick for a company as big as Microsoft. If Netscape
could figure out a way to build new versions quicker and rival IE, maybe it
could have had a chance. Of course, you cannot only take this factor into
account, but I think is one of them.

Take also a look at
Project Aardvark, of FogCreek
Software, they manage to build a product, market it and take to the clients in
almost three months. That’s pretty a quick step. Big software companies can not
take this luxury. But, by the time, they are making money out of it.

With
Procx for example, we
are able to add activities that business processes uses very fast and in a
standard way. For example, we needed to add the capability to use SharePoint
Document Library fields (columns) inside the process for making decisions. We
added this functionality in a week and customers are the ones getting the
benefit of this.

Another good thing about speed is the ability
to easily adapt to changing environments and technology. Taking a product to
work in other operating systems like Mac o Linux is no easy task but been small
ISV’s things are different.

So you can say speed in small ISV’s is a
competitive advantage. They can increase the amount of innovation they put in
the hands of customers at rate higher than other software companies. It’s like
getting there by plane and letting the others get there by car.

Managing Software Requirements

Companies in the software industry are possibly the ones with the most unstructured approach when it comes about processes. Almost every concerning activity in the operation of building software it’s not define. And I can say for sure, that every company that builds software has a different way of doing things.

This is not a bad thing. We see companies every day producing good software. They can have different ways of gathering requirements from clients, making designs, constructing the software and performing the tests, but at the end, the objective is one, having good software.

Today we have different development methodologies and everyone feels comfortable with one. You have Code And Fix in one way, then you have Scrum, the Agile software development and also RUP (Rational Unified Process). Each methodology preaches for something different in building software and a different process for each stage in the software development process.

A formal process for gathering software requirements can be taken from any of the previous methodologies. Let’s take for example RUP (with no preference).

The requirements process begins for example by filling out a form in which we can enter who the client is (in internal software development teams, the client can be a department in the company). We can also enter the name of the project, responsible, etc.

The second activity is a question, is this a new system? If it is a new system then we have to make a list of specific questions for gathering the requirements and also produce a set of documents for the project. If it is not a new system, then we may have some documents already define. Then, what we have to do is define the stakeholder needs in the project. This will be the client real needs, what they are trying to target with this system. This is define in a set of meetings or some other kind of interchange with the client.

The next activity would be to verify if the requirements gathered are in accordance to the stakeholder needs, if it is what they are looking for. This can be done in a series of a meetings also between the stakeholder and the system analyst. If they are not correct then we need to repeat the whole process again, just to get the right requirements.

If they are correct, the we can continue with the next step of managing the scope. Is our department ready to handle the workload of this software product? Is it to big? Is it out of scope? If it is then we have to get together with the stakeholders and review the scope of the system and repeat the process until we have something to work on.

After the requirements have been well specified and are inside the scope, we can then proceed to the activity of prioritization of the requirements. This can be done by the Software Architect. At the end, what he will do is prioritize Use Cases. After completing this activity, we can pass the requirements to the Requirements Specifier to refine the system definition.

This is a very general way to specifying requirements for a software product. Every activity mentioned here can be it’s own process. But as you can see, we really can define a process for requirements gathering. The next step will be to enforce this process within our developers. How we can do that? You can put it in a system that, instead of enforcing it, take the developers and the people by their hands and guide them through the process. You can do that using SkyXoft Procx. This process would look like this:

 
 

As you can see every activity is defined and the decisions are in place to enforce the policies. At the end, every time a new system is needed, the process for gathering requirements will be the same. You can complicate this as you want, and perfection it to your organization as needed. Not every organization is the same.

The electronic enterprise

A joke: How do you think companies in the future will look like? Well, they will be composed of three basic elements: a computer, a security guard and a dog. Why? The computer will run the business; finance, sales, operations, etc. The security guard will keep the computer from been stolen or damage. The dog will keep the security guard from touching the computer.

As more and more software comes out for automating processes in the enterprise, things will become simpler to manage than they are today. But of course, there are so many things a company does, that for fully automating it we would have to tackle hundreds of processes.

So, divide and conquer. Taking one processes at a time will take you to automating routine tasks, like the expense report application, to automating a full department.

Companies starting to get bigger would be easier. Imagine a small company or midsize company automating their process of expense report; at the end they could have an accounts payable department a quarter of a size of an enterprise managing the same volume. That’s what you get automating business processes.

Also, the most important interaction a company has is with its clients and we can also automate that as much as possible (of course, without forgetting customer service). But imagine a customer self service internet site where clients requests their needs and automatically this enter an automated business process. Using Procx for example, you can have forms like the standard XForms or XML, that after the customer hitting submit, automatically enters a workflow inside the company.

With all these things we can imagine a more and more automated enterprise, tracking every process and knowing where everything is. I like to call it the coordinated enterprise. Every process is hook together with one another and everybody in the business knows what to do that also translate in client expecting what the service offer will be.

Approving expense request in a minute

The primary purpose of workflow applications is to increase performance of existing processes. In general these processes are linked to day to day operations of a company.

 

Increasing performance sometimes is not that easy and more if those processes are running for years and people in your company are used to do things like that. Consulting services companies provide business process advisory for decreasing the cost and time of actual processes by doing reengineering and things alike that can cause more problems than solutions.

 

A workflow application reduces costs and time just by modeling the process and managing all tasks assignments electronically.

 

For example, thinking about the process of approving an expense application, the whole process begins when someone in the company stayed until late last night and decided to order pizzas on behalves of the company. The person keeps the receipt hoping tomorrow to fill an expense report and get his 12 bucks reimbursed.

 

The process of approving an expense form is fairly simple, you just fill out the form and hand it over to your manager or assistant for approval and send it to the accounts payable department. While the form travels his way to the later department, it may need to go to various levels of approvals, depending on the amount that needs to be reimbursed. This can last a couple of days if the levels of approvals are high. Even more days if the expense form comes from a branch in town and has to travel to the headquarters.

 

But, if we make a twist and have an electronic expense form, located in the company intranet or some central site where employees can enter and fill out the form electronically and submitted to a workflow application that takes charge of delivering this form to every person whose approval is needed, handling the response of each person and managing the policies that applies to the expense form, then we are talking about some time and cost improvement without having to reengineer anything.

 

The process of approvals and task assigning can be done inside the workflow application by configuring it to take into account the total amount of the expense. This can be done integrating forms into the workflow application.

 

We can reduce this process of approval from days to maybe just one day or even hours for our hard working employee that order a pizza last night. You can increase performance of processes and reduce costs by just automating the task and policies in the application. We can even go further along if we want to integrate the form with third party applications like the financial system of the company, also reducing the work load of our folks at the accounts payable department.

 

When you compare the investment made in other software applications, the return of workflow and automating business process is higher and, by far, easier to implement.

Beta version released

Since today we are rolling out the beta version of SkyXoft Procx 2.0. If you want to participate in this program, feel free to register by filling out your request. Every organization that rolls in the program will receive a 30% discount on the license price at the end of the beta program.

Any bugs or comments you find during the testing, please let us know about it on our support forums.

Any comments are welcome.