Repeatability in software development (or why people are important)

Software development processes try to achieve the impossible: “repeatable success despite who implements them”.

How about this thought: Repeatability comes from people, not from processes. Why?

Software development processes are procedural rules to follow when developing software. Let’s, for the sake of argument, ignore the fact that those rules rarely focus on the actual work, but rather on the management of that work.

Even if processes would be “perfect” definitions procedures to develop software, before they can be applied they have to be understood by a less than perfect mind. Project team members will read the process documentation, make their own assumptions, based on their own experience and on input from people they value and then proceed to implement their own flavor of a process.

Even if you have a “perfect” software development process it is still true that people will do the actual process implementation, it is also trivially true that people are different, so the logical conclusion is that repeatability can only be achieved by maintaining the same people doing the same job.

Consider the alternative: define a process so that there is only one, and only one way to understand and apply it. (Does this sound like “complete requirements”?, it probably is the same: a mirage crafted by people with little understanding of what software development really is).

Having people at the center of a software development process is according to the Agile values (which value people and interactions over processes and tools), but it is completely against the old-school thought that people are and must be replaceable.

The people issue

Having read many books on the issue of “managing people” I still believe that the best advice to people working in software development is: talk to your people, learn to know them, listen constantly and you will definitely become a better manager!

If you do that and stick with your best people you will be given the “repeatable successes” you have so long be looking for.

For some good reading on “managing people” take a look at these:

First, Break all the rules; Marcus Buckingham et al; Simon & Schuster (Trade Division), 2001
Peopleware: Productive Projects and Teams; Tom DeMarco et al.; Dorset House Publishing Co, 1999
Maverick!; Ricardo Semler; Random House Business Books, 2001