Information Technology Reference
In-Depth Information
Do Processes Help?
It is an expected fact that software development depends heavily on the
quality of the people involved. How much do processes help? There is
some debate about the relative merits of processes versus people. Many
are of the opinion that a good process is more important, that it can
compensate for some lower quality on the part of developers. This is a
real-world problem because it is likely that one's project has a mix of
good, and not so good, people. The argument in favor of processes is
that if an average developer follows a set of project guidelines (coding
standards, naming conventions, use cases, and unit tests), and regular
meetings are conducted to check the status and adherence of the process,
then quality software is the likely output. There are, however, many
followers of the opposing school who believe that processes are overrated
in software and that there is no substitute for good people. Their conten-
tion is that there is nothing like a “good” process because no process can
embody 100 percent of the project needs, or cater to all the risks.
Good people are good not just because they are experts in the business
domain or that they have a good command over programming, but rather
because they have internalized good processes that they have found to
work most often for them (Figure 8.3). True professionals show a great deal
of discipline (and patience) in following processes to handle mundane day-
to-day stuff. They realize that 80 percent of most development will be
around this — any carelessness here will only magnify as the process goes
through its critical phases. Professionals see the intent behind the activities
in a process. Even if they disagree with it, they can relate to why they are
being asked to follow it. A big part of the problem is solved just because
of this open attitude. If the process is really bad, they will give meaningful
feedback to improve it, instead of rejecting or subverting it.
From a business point of view, it is critical to have a good process to
guide the team because teams will have a mixed level of skills. It is
difficult and expensive to staff the entire team with the best people
available. It is more economically attractive to lower resource costs and
have better processes. Keep in mind, however, that the processes must
be good, because many in such teams will apply the process as is, without
exercising further judgment. As discussed previously in the section on
designing good processes, a good process has built into it ways to
communicate objectives, goals, and desires to the people in question in
terms of inputs, outputs, and transformations therein. From a management
point of view, a process is good if it can make a positive difference in
the performance of the entire team.
If forced to choose, we would recommend that you put your faith in
the capabilities of people over processes. To believe that a process is
Search WWH ::




Custom Search