Editor's Note: Remember that if you're interested in SaaS or
other Web 2.0 issues, then you cannot miss ebizQ's upcoming virtual
conference on Enterprise 2.0. Sign up today.
What is so hard about making software? Surely you just collect
the market requirements, generate a high level functional
specification, build the product, and then test it? All Marketing needs
to do is put together some screenshots and sales should be as easy as
sitting by the fax machine and waiting for the order?
Unfortunately for software vendors it doesn’t quite
work that way. It takes a long time, many years in fact, to get
software right, and the problem stems from the first step –
understanding the market. Part of the issue is that the market does not
understand itself. Go into any large company, and ask them to detail a
business process such as order entry, and you will get a variety of
differing responses.
Management will describe the process as they think it should
be. Unfortunately, this utopian vision tends to ignore the inevitable
trade-offs that need to be made in the real world and is at times rife
with logical impossibilities. The user population will give a different
story. A small number of staff members can be counted on to provide a
fair description, but many will innocently leave out critical nuances
that are essential to effective outcomes, while others will
deliberately conceal activities that are considered out of bounds.
Unfortunately, workarounds, however necessary, are frowned upon by
management, so are often left out. The net of this is that the
definition of the business process that emerges is often inaccurate
and/or incomplete and any effort toward automation is bound to fail.
Even when processes are accurately described by the users, if
the underlying process was poorly designed, automating it will only
make it worse. Many companies have a wide spread in the quality of
their internal process. They may have excellence in one department and
mediocrity in another. For example, a given company may have great
customer support procedures but lousy billing processes – or
vice versa. Automation of a poor process like that solves nothing and
will likely make the situation worse by creating faster and more
efficient ways to fail.