Yesterday, I described a conversation in which I've been involved about Norm Kerth's Prime Directive for project retrospectives. The Prime Directive asks us to believe that throughout the project everyone was doing the best they could given the situation at hand.

In that conversation, on the Extreme Programming and Industrial XP mailing lists, several people balked at that belief and raised examples of people acting in their own interests in ways that were detrimental to the project. How can we call that "best?" Referring to one example, Steve Bate said:

I don't see how this behavior can be labeled as a "best job" in the context of the project (even if was a "best job" for his own personal goals).

Later, Steve added:

Wouldn't a project charter or the equivalent help to avoid the tendency to define "best" in terms of personal (vs. project) goals?

Here is my answer, slightly edited.

I hope not. If the project is to succeed, it will have to be at least compatible with the needs of the people on the team. If we allow for each person's personal definition of best, we have a better chance of detecting and addressing incompatibilities.

I believe that one of the conditions that affects a project's success is congruence. Congruence, Congruence is about honoring myself, each other person with whom I interact, and the context in which we are interacting — Self, Other, and Context. (Congruence was a central element of family therapist Virginia Satir's work. See her small and powerful book Making Contact .)

My take on congruence is that each (Self, Other, and Context) has needs. Each has support to offer. Each offers its support more fully when its needs are met, and the needs of each are better satisfied when each offers its support fully.

In a project retrospective, the context includes the project, the organization, the people affected by the project, and so on. Of course it's important to honor the needs of the project. If the project isn't satisfied (I'm anthropomorphizing here), it will offer less support to the project stakeholders, to the team, and to me. I care about all of those things, so I want to satisfy the project's needs.

It's also important to honor each other person on the project. If their needs are not satisfied, they will offer less support to themselves, to each other, to me, and to the project.

It's also important to honor myself. If I'm not getting what I need, I offer less support to my teammates, to myself, and to the project.

Self, Other, and Context form a mutual support system, a whole. The whole is healthier when each part's needs are met. Each part's needs are satisfied most fully when the whole is healthy. Any part that I neglect offers less of itself, which affects the other parts.

The Prime Directive reminds us to honor each other, and to honor ourselves, which creates an environment in which we can each bring our full resources to bear to support each other, ourselves, and the project.

I am entirely selfish. I promote congruence and the Prime Directive because my life works better when I attend not only to my own needs, but also to the needs of the people in my life and to the needs of the context around us.

(Thanks to Keith Ray for encouraging me to post this.

Experiment: In what ways are you supporting the needs of your project teammates? In what ways are they supporting your needs?

Experiment: What additional support would help you bring your talents more fully to your project? Where could you find that support?

Experiment: What additional support would help your teammates bring their talents more fully to your project? If you aren't sure, how could you find out?