This credo assignment was a lesson on the different aspects of human nature. The beginning exercise was to read through a bunch of statements about human nature. Here are a few of the quotes on human nature that spoke to me:
You have millions of virtues, but you post-pone their practice.
— letter from a friend to May Sarton
I see the right, and I approve it too, condemn the wrong, and yet the wrong pursue
When all the doors of opportunity seem closed and your precious dreams have turned to ash, remember the human race ranks first in the realm of wonders.
— John A. Taylor
The next section is to think of historical examples of the worst and best in human nature. Here are my answers:
Genocide – any occurrence, any time period
The closing down of so many mental health hospitals in the U.S. during the 80’s
The next part of the lesson was an examination of this “continuum” of human nature:
The Human Continuum
There were also a few questions that went along with “the continuum.” I won’t reproduce all of the questions, but one of them really hit home:
Are we trapped with the ancient Greek notion of the mind as good and the body evil?
Although this question is, itself, a leading question I am a big believer in the connection between mind and body. Our stress reactions have a lot to say to us. Our body language is half of what we are trying to say when we talk with someone. Perhaps in the past, all of this has been irrelevant to making software, but we are living in an age when some software processes are beginning to recognize humanity.
What do I mean by this? There are some places where the release of software is a low-drama, non-heroic process. Releasing the software does not require crazy hours or last minute herculean efforts. It does not mean weeks of testers, developers or anyone else sleeping in their cubes. These things are not required because it is understood that the human brain does not function at its best under these conditions. Our ability to be good teammates suffers when we are over-tired as does our ability to think logically, find bugs, write code, etc.
This is a dialog from Esther Derby and Johanna Rothman’s book, “Behind Closed Doors” that brings this together and is foremost in my mind when I hear about a release which required heroic efforts and/or serious overtime. Their book is written partially as the story of a manager leading a team. In this scene, Sam, the protagonist and a software manager is discussing the features that can be included in a release with Marty, his boss:
Thursday morning, Sam strode to Marty’s office, plan in hand.
“Marty, I’ve spent the last two days working with my team to replan
this release. We focused on the most important features based on
the list you gave us. We’ve organized it and reorganized it and
arrived at an achievable plan. These are the features we’re going to
work on.” Sam handed Marty the list. Sam waited a minute while
Marty scanned the list. “Not all the features originally planned
for this release are on the list, but the most important ones for
Marty examined the list. “Is this the best you can do?”
“Yes. We’ve spent the last two days figuring out how to get this
much done. If you see a better way, let me know.”
“Couldn’t you just add these two features back in?” Marty asked.
“Not and meet the release date. We know what our capacity is, and
we’re at it.”
“I better talk to the sales guy if this is the best you can do. What if
you put everyone on overtime? Or hire more people?” Marty asked.
“The learning curve is too steep. If we hire people now, they won’t
be up to speed before the release date. And extended overtime—
three months—would guarantee the developers make too many
mistakes and the testers will be too tired to find them.
“I’d be happy to talk to the sales guys with you,” Sam finished.
Marty harrumphed but agreed.
This is what it looks like to recognize human nature when you are making software, and I think we all know that in reality, the dialog doesn’t typically end with “Marty harrumphed but agreed.”
The beginnings of my credo
I’ve now written a few posts involving work that will end with my own personal software credo. With this chapter on human nature, I’ve written the first few belief statements in my credo:
I believe humans work best when we are allowed to be human. To deny our humanity, our emotions, our physicality and the ways these work together to form us is to cut ourselves off from ourselves and results in work that is less than our best.
I believe that if we don’t, as individuals, understand our own human nature, we will not be able to understand anyone else or what they try to say to us.
I believe that people mis-use or over-use technology when they don’t understand or are fearful of their own humanity.
I believe that there are a few people in this world who willfully damage others. Those people don’t belong on any software-making team.