A
little process goes a long way. Process is, after all, just a
manifestation of organization. It lays out an approach to some
accomplishment as a breakdown of its parts. For simple goals the path
may be obvious, but for highly complex things the process guides people
through the confusion and keeps them from missing important aspects.
Without
any process there is just disorganization. Things get done, but much is
ignored or forgotten. This anti-work usually causes big problems and
these feed back into the mix preventing more work from getting
accomplished. A cycle ensues, which among other problems generally
affects morale, since many people start sensing how historic problems
are continuously repeating themselves. Things either swing entirely out
of control, or wise leadership steps in with some "process" to restore
the balance.
Experience
with the chaotic none-process can often lead people to believe that any
and all processes are a good thing. But the effectiveness of process is
essentially a bell curve. On the left, with no process, the resulting
work accomplished is low. As more process is added, the results get
better. But there is a maximal point. A point at which the process has
done all that it can, after which the results start falling again. A
huge over-the-top process can easily send the results right back to
where they started. So too much process is a bad thing. Often a very bad
thing.
Since
the intent of having a process is to apply organization to an effort, a
badly thought out process defeats this goal. At its extreme, a random
process for example, it is just formalized disorganization. Most bad
processes are not truly random but they can be overlapping,
contradictory or even have huge gaps in what they cover. These problems
all help reduce the effectiveness. Enough of them can drive the results
closer to being random.
Since
a process is keyed to a particular set of activities or inquires, it
needs to take the underlying reality into account. To do this it should
be drafted from a 'bottom-up' perspective. Top-down process rules are
highly unlikely to be effective primarily because they are drafted from
an over-simplification of the details. This causes a mismatch between
the rules and the work, enhancing the disorganization rather than fixing
it.
Often
bad process survives, even thrives, because its originators incorrectly
claim success. A defective software development process, for instance,
may appear to be reducing the overall number of bugs reaching the users,
but the driving cause of the decreases might just be the throttling of
the development effort. Less work gets done, thus there are less bugs
created, but there is also a greater chance for upper management to
claim a false victory.
It's
very easy to add complexity to an existing process. It can be
impossible to remove it later. As such, an overly complex process is
unlikely to improve. It just gets stuck into place becoming an incentive
for any good employees to leave, and then continues to stagnate over
time. This can go on for decades. Thus arguing for the suitability of a
process based on the fact that its been around for a long time is
invalid. All it shows is that it is somewhat better than random, not
that is is good or particularly useful in any way.
Bad
process leaves around a lot of evidence lying around that it is bad.
Often the amount of work getting accomplished is pitifully low, while
the amount of useless make-work is huge. Sometimes the people stuck in
the process are forced to bend the truth just to get anything done. They
get caught between getting fired for getting nothing done or lying to
get beyond the artificial obstacles. The division between the real work
and its phantom variant required by the process manifest into a negative
conflict-based culture.
For
software, picking a good process is crucial. Unfortunately the
currently available choices out there in the industry are all seriously
lacking in their design. From experience the great processes have all
been carefully homegrown and driven directly by the people most affected
by them. The key has been promoting a good engineering culture that has
essentially self-organized. This type of evolution has been orders of
magnitude more successful than going out and hiring a bunch of
management consults who slap on a pre-canned methodology and start
tweaking it.
That
being said, there have also been some horrific homegrown processes
constructed that revel in stupid make-work and creatively kill off the
ability to get anything done. Pretty much any process created by someone
unqualified to do so is going to work badly. It takes a massive amount
of direct experience with doing something over and over again before one
can correctly take a step back and abstract out the qualities that make
it successful. And abstraction itself is a difficult and rare skill, so
just putting in the 10,000+ hours doesn't mean someone is qualified to
organize the effort.
Picking
a bad process and sticking to is nearly the same as having no process.
They converge on the same level of ineffectiveness.
No comments:
Post a Comment
Thanks for the Feedback!