There have been several remarks on collaboration in the "Three demos" thread 
<https://groups.google.com/forum/#!topic/leo-editor/GkMTfp8W1hc>.  It's 
worth its own thread.

> John: Skepticism is fine when maintaining a mature code base, but *any* 
show of hostility to change ends in results like this: contributor 
alienation. 

I understand John's wanting to "make nice", but the word "hostility" can be 
taken several ways, as I'll explain.

> Xavier: premature judgement is the root of all evil!

This is a fine principle, but I don't think it is the heart of the matter.

Here are the principles I follow. I recommend them to all devs.

*Use "I" messages*

Talk about what *you* think, or what *you* feel.  Rebecca taught me this 
when we were first married.  It makes a world of difference.

Not: "You are an unfeeling so and so".

But: "I feel hurt by what you said".

This can lower the temperature when things get hot. It is less likely to be 
perceived as a personal attack.  But beware of false "I" message, like, 
"I'm sorry you are an unfeeling so and so" :-)

Another caveat: The "Boeing Way" is management's statement: "You can do X 
if...".  Imo, this is a superb mental "trick". It works because it empowers 
the messages receiver to solve problems.

*Make the subject technical, not personal*

Discuss the pros and cons of the technical issue under discussion, not the 
people discussing the issue.

Don't take criticism of your ideas personally, but be aware that anyone, 
including yourself, is prone to do so.

*Say what you mean*

My intention is to always say what I mean as clearly as I can, without 
weasel words.  This can be mistaken for premature judgement.

There is one great benefit to plain speaking. If I am wrong, I shall be 
seen as *clearly *wrong, and my mistakes will be corrected.

I train devs to push back against my ideas by changing my mind. Two days 
ago I said that I would not approve the new data model while I was project 
leader.  Yesterday I said that I would approve Vitalije's work if Terry 
also agreed.

Was my first statement a "premature judgement"?  No.  It was my clear 
opinion at the time.  And implicitly, it was a test of Vitalije's 
commitment. If Vitalije did not have the gumption to fight for his ideas, 
he would not have earned the right to put them into practice.


*The less said, the better*

People mistake words for power. They think, more the better.  Often, the 
reverse is true.

I changed my mind yesterday for several reasons, but the one was Vitalije's 
statement that supporting hoists (and chapters) would take about 30 minutes.

Then he said that a hoist would just be a slice of the data structure. It's 
a great picture. My thought was, that's elegant.  A hoist is, conceptually, 
exactly that slice.


*Keep calm, don't panic*

Don't write what you may regret.  Sleep on important replies.  Edit out 
anything that could be considered a personal attack.

*Summary*

The following are useful guidelines, not cure-alls:

- Use I messages.
- Keep discussions impersonal.
- Be concise, even blunt. The less said, the better.
- Pictures are more persuasive than words.
- Be willing to change your mind.
- Be willing to push back, to fight for your ideas.
- Stay calm and respectful.

All comments welcome.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To post to this group, send email to leo-editor@googlegroups.com.
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to