MakingBadProgrammersCare

July 30, 2010
BruceEckel blogged this:
On the other hand, the WBC summit was really about psychology: why do programmers write poor code and don't seem to care about it, and what can we do to convince them to write better code and to care? At best, we succeeded in enumerating the problems that we had seen, so compared to the other summits we reached no conclusions. But perhaps the struggle was the important thing, and like Weinberg's PSL company simulation, we all needed to have these ideas inserted so we could struggle with them over the ensuing years.


I had a similar conversation with PragDave once. He related an incident with a programmer at a client that seemed 100% on board with unit testing, and then never actually did it. They'd go round and round, discussing doing it, and then it never happening.


Rick Kitts would like a “developer psychology book” (I'm quoting a comment he posted to his own article, not directly linked here...). Sounds like he wants one for the business people, too.




Luke Hohmann says:
Forcing a given team to adopt an approach that they don't believe in ... is a certain recipe for failure.
How do we change their beliefs?

Alistair Cockburn throws a log on the fire of despair:
Somewhere in here is the point I'm trying to make.
* One point is that there really are a bunch of good techniques and behaviors out there, and there are people who use them effectively.
* One point is that most people don't know of such techniques and can't use them.
* One point is that Oh So Very Many People don't have the motivation and energy either to research and learn the techniques, or to apply them. With the very many disastrous results that we see.
* One final point is that the last point limits our hopes of eventual success, whether with agile, with lean, with project management, product management, testing, architecture, etc etc etc. As long as the multitudes can't be bothered, it doesn't matter what great techniques some of us know.
So, in this sense, I'm done with the “60% projects fail, 60% features don't get used” attack (or defense).

Those failures can be ascribed to lack of caring. That has no known antidote.

As Bruce says, this is about psychology and ethics and morals. This is about the spirit and the soul.



This TED talk by Dan Ariely (“Our Buggy Moral Code”) I think has some interesting parallels to some of the agile practices to increase the amount of accountability in a group. Dan doesn't use the word accountability, but it's what kept coming to my mind throughout the talk.


My friend Paul Nelson shares some thoughts on being the pickle vs. the brine:
As I explained to my friend how this might impact him, his response was “this is the wrong solution. It’s going to cause more problems than it solves!”

My initial thought was “technically he’s right, but he doesn’t have enough experience with this client to know when to accept the inevitable.” And that’s when it hit me: I’ve been pickled.


tags: ComputersAndTechnology