Sunday, November 18, 2012

Improving quality of a multi-component system

Suppose you have several product testing teams -- let's call them the "A", "B", "C", "D" [etc] teams.

Suppose each testing team focuses primarily on testing "their" component, but teams can also find defects in other components, so for example the "A" team mainly tests the "A" component, but they might happen to find a problem in the "B" component.

The "A" testing team has a manager, who is probably being rated on how well the "A" team is finding defects in the "A" component. The "B" test manager is rated on how well the "B" team finds defects in the "B" component. And so on.

Each manager will tend to say "I want the bugs in our component to be found by us, so whenever those other turkeys find bugs in our component, you guys explain to me why they found it and we didn't."

What will happen then? Whenever the "B" team finds a bug in the "C" component, say, the "C" team will be motivated to duplicate the portion of "B"'s tests that found the "C bug," and they will spend time on this that they could have spent writing new tests.

So here's a puzzle: how to put a stop to this behavior? Because if things go on like this, the "C" team will waste a bunch of time

  • writing reports for their manager (who is also in a lousy position) explaining why the "B" team found bugs in the "C" component, and
  • duplicating parts of the "B" tests.
In the worst case, everybody will copy everybody else's tests, which means the same tests will be run multiple times, rather than writing and running different tests. How does this improve product quality? (Really, the "C" team should be thinking of other ways to test the "C" component, and the system for that matter, rather than duplicating all the "B" tests that happened to find some "C" bug.)

Here's what needs to happen: The QA Director or VP needs to be told that this nonsense is going on, and they need to put a stop to this sort of internal competition. In particular, they must not ding the "C" manager if the "B" team finds a "C" bug, and so on.

I mean really, if the "B" team finds a bug in the "C" component, the "C" manager's response should not be "Grrr, we should have found that, not those turkeys"; it should be "Terrific! Let's see if we can learn anything from them and write new tests to more thoroughly test our stuff."

Because every bug found inside the company is caught before the customer hits it, and for that we should rejoice. The point of quality assurance is to assure quality of the product as seen by customers; it really shouldn't matter if the "B" team finds "C" bugs or the "D" team finds "B" bugs -- so long as we find and fix the bugs before they get to the customer.

When people don’t stay long on your team

In a conversation that hasn’t happened, I chatted with someone about the team he manages.

“People don’t stay on the team for long,” he says. The team is staffed entirely by volunteers who want to support the team’s purposes, which for purposes of this short essay I’ll describe as “helping people grow.”

Why might people not want to be on this team long? Is it because they don’t really understand what the team’s mission and vision are? That’s possible.

Another possibility is that the work is too difficult—either absolutely (Just Too Much Work) or relative to the results they can see (i.e., “What is the larger organization getting for all this effort I’m putting in?”).

Or there may be something about team dynamics: is the team hard to get along with, is there too much criticism and not enough encouragement for new members’ work? Is the leader hard to get along with?

Now that I think of it, I know of at least two teams with long-term (multi-year) recruiting challenges. Let’s call one of them the “G Team”; it’s hard to get people interested in joining this team. It’s kind of nerdy, to tell you the truth. I was on the team for a while, but then other responsibilities took me away from it. Today it’s still hard to get people to sign up for it. Once people do, though, they seem to stick with it, at least for a few years.

Another team, I’ll call it the “T team”, has people sign up, but they seem to stay on for a fairly short time. I’ve talked with two ex-members of the “T team”; one of them had the odd experience of showing up for a meeting and being put to work stuffing envelopes. This person left the team shortly after that meeting.

Another ex-member had a, ah, an altercation with the team leader. This ex-member apologized for their part in the unpleasantness, but the team leader never ’fessed up to theirs. As far as the leader was concerned, the issue was 100% the ex-member’s fault.

This sort of thing isn’t unique to the non-profit or volunteer world. There are some managers who have a hard time holding on to subordinates. You may have met them; some of them are like the engineer who was never wrong; some have multiple faults (hopefully your manager isn’t like Michael Wing’s composite anti-manager “Burt”), some just work in awful organizations.

But if you’re leading a team of volunteers, or managing a group of employees, and you’ve got high turnover (you get to define the term), you might want to look in the mirror. Some questions to ask (and not ask):

  • How have I solicited input from the team about my leadership style, my strengths and weaknesses, things I could change? And how have I responded to that feedback?
  • How do I show each team member that their efforts are important? How willing am I to delegate decisions (rather than tasks)? And if they decide something in a way other than I would have, how often have I overridden their decision?
  • How often do I give direct, specific encouragements to my team members? The “specific” part is really important. “You’re great” is nice, but it could be insincere. And it could sound insincere. Better to find something they’re doing right and making a sincere and appropriate affirmation about that: “Thank you for putting in the extra effort to find those details supporting our plan; that really improves our chances...” or something like this, is much more powerful.
  • When a team member does something I don’t like, how often do I to tell them, vs complaining to someone else? And if I tell them, do I do that in a punishing or a non-punishing way?
  • How readily do I admit my own mistakes, misjudgments, failures, to my team?
  • Don’t ask: Why are you leaving? (And don’t ask HR what was said in the exit interview, either, if there was one.) Really. An employee leaving the firm knows there’s no percentage in saying anything negative about their ex-manager. And in the non-profit world, what’s the point of saying anything negative to you? If they thought you would/could change, wouldn’t they have said it earlier?
  • When was the last time I showed concern for each team member’s personal or emotional life?

Saturday, November 03, 2012

The best thing in the world

It happened at lunch: “Tim” caught the vision. What captured him was the hope that “Whenever someone sees me, they see Christ in me.” We were looking at Deepening Our Prayer by Adele Gonzales (link), where an exercise encouraged us to consider 2 Corinthians 3:18:
And we, who with unveiled faces all reflect the Lord’s glory, are being transformed into his likeness with ever-increasing glory, which comes from the Lord, who is the Spirit.
“Bill” pointed out that the verse says that we all reflect the Lord’s glory; we all are being transformed into his likeness. This put me in mind of Genesis 39:3, which was in a recent sermon on the “With God” life: “[Joseph’s] master saw that the Lord was with him and that the Lord caused all that he did to prosper.”

Joseph, as you may know, was sold into slavery, but the Lord was with him. Though he was a slave, he didn’t despair; he pursued his tasks with intelligence and energy. And the text doesn’t say his master “saw that Joseph was intelligent and energetic”; it says he “saw that the Lord was with Joseph.” What was it about Joseph, I wondered, that his master saw the Lord was with him? How would I have to change so my boss would see the Lord is with me, rather than seeing my talents or whatever?

At our church, we’ve also been praying a shortened version of a prayer of St. Patrick:

I arise today through a mighty strength, the blessing of the Trinity:
God’s strength to pilot me,
God’s might to uphold me,
God’s wisdom to guide me
… and so on
I recently read a longer version which includes these lines:
Christ in every eye that sees me,
Christ in every ear that hears me.
which I take to mean “may all who see me see Christ in me; and may my words reflect Christ in me.”

It was somewhere in this discussion that Tim’s whole face lit up. The idea really captured him—the idea of being so much like Christ that everyone who sees him would see Christ in him. And rightly so!

Lunch with Tim and Bill was a high point of my week: it’s a joy being with brothers in Christ who remind me how magnificent God’s promises are and who share my joy in partaking of his goodness. It’s the best thing in the world.