Pages

Wednesday, March 2, 2016

Pair Programming "Out Loud"

One element of Pair Programming that I find key to success is "Programming Out Loud". When I have the keyboard and mouse (driving), I want to be explaining my train of thought to my pair partner, moment-by-moment. Conversely, if I am the non-keyboard partner (navigating), I want my partner to be explaining their thoughts moment-to-moment. If my partner is practicing "silent pair programming", I try to ask ask questions like: "What's next?" or "Where are we headed?" to try to get them talking about what they are thinking or doing. Or if that doesn't help, I can ask to drive for a while and try and draw out their ideas that way. Usually things don't go this far, unless my partner is new to pairing. When I start to go off silent and solo, my partner usually invites me back into collaborative mode.

But what if my partner is the navigator and they are disengaged? I can ask (slightly tongue-in-cheek): "Are you with me?" It can require courage to "call out" my partner in that way, but sometimes it takes courage to be on a successful agile team. And if I'm the disengaged navigator and I catch myself being distracted, I can ask to write the next test to try and focus myself back on what we are doing.

Do you have ways that you draw a distracted partner back into collaboration? Or do you have ways to get yourself back into collaboration?

Wednesday, February 24, 2016

Hiring and Diversity

I’m so glad to see another man thinking about hiring women and members of marginalized groups. I started a comment that post, but it became rather long, so I am posting it here instead. Read Jay's original post at the link above for perspective, although I hope that what I have written below stands fairly well on its own.

Jay,
I really like your post: "Hiring Awesome Developers (who happen to be women)". I've been thinking about how to write a "disclaimer" paragraph like your “Before you start” paragraph. You've covered many of my thoughts. I also try and acknowledge to people that I will make mistakes, and that I will accept the impact of my words regardless of their intention. Further, I won’t expect people to teach me about those mistakes (although I am totally open to it), and I will research on my own until I think I understand them.

Another thing I find important is to amplify the voices of people in marginalized groups. I try to provide references to people who belong to the groups that I am speaking about. They are the ones whose lives are affected daily by these issues and they speak from the most authority.

Your paragraph “A Possible Plan” addresses the so-called “pipeline” problem that results in too few minority and women candidates. But another reason that the makeup of companies is still disproportionately is that women are leaving STEM in large numbers. We need to make sure that our company cultures and environments are really fair to women and minorities and free from discrimination and bias before we bring in women and minorities, or we risk losing them and alienating them more.

We can also examine our websites and job descriptions for wording and imagery that may discourage women and members of marginalized groups from applying. A simple example is a posting that looks for “ninja” developers who can “smash” technical problems — this aggressive language exclude women from considering themselves as a candidate.

Finally, women tend not to apply for tech jobs unless they meet 100% of the criteria in the posting while men apply if they match 60%. I’m not sure what to do about that - maybe mention in the posting that not all criteria are required and avoid long lists of “nice-to-haves”.

I wrote another post that has a more concise bullet-list of things I'm learning about diversity and the workplace.

My Crash Course Crayon Video: 4 Levels of Listening

My employer, Pillar, produces a series of two-minute videos related to software development and the people skills needed to do it well.

A video I made was just released. The title is: "4 Levels of Listening" and you can watch it here. I'd love to hear your reactions.

Sunday, February 14, 2016

Things I am Learning About my Part in Diversity and Inclusion

As a cis-gendered, heterosexual, white man, I want to:

  • do my homework to learn fundamentals about marginalized groups' experiences
  • amplify marginalized people’s voices
  • believe marginalized people's life experiences 
  • understand intent vs impact of what I say
  • be ready for the mistakes I will make
  • accept that the people that my mistakes hurt may be angry
  • accept that they don’t owe me an explanation of why it hurts (see doing homework)
  • not “expect a cookie” for working on diversity and inclusion (pic)
  • understand that being an ally is not a yes/no condition, but requires a level of proactivity
  • find someone besides marginalized people to help me explore my feelings about allyship
  • learn to "check my privilege" and understand that I have privilege even if I had a hard life of poverty and abuse.

If these ideas interest you, please follow the links above and come see me present at Agile and Beyond 2016 this May.


Sunday, January 17, 2016

Accountability - Do you do what you agree to do?

How accountable are you for your agreements? When you say you are going to do something, do you do it?

There was a time when I would say I would do things but then often not do them. For example: an acquaintance would suggest we go bowling and I would answer something like: "Yeah, I'll call you." But then I wouldn't call. Or when I first started in my career, a manager might ask me to provide a write-up on something and I might say something like: "I'll have it by the end of tomorrow." But that day and the next would pass, without any high-priority emergencies, and yet I wouldn't finish the write-up.

Does that sound familiar? Do you have patterns like this? Maybe at work, or with a family member or spouse, or with friends or acquaintances?

What was I doing when I said I would do something but then not do it? In both examples above, I might have had mixed feelings about doing the thing, or I might have actually meant to do it. But somehow I never quite managed to get it done. What did this behavior communicate to my friend or my manager? Perhaps it told them that I couldn't be counted on. Maybe even it said that I didn't put much value on things are that important to them. They might not have realized it consciously, but I suspect that they received a message that I didn't care very much about them.

There came a time when I realized that not keeping agreements were weakening relationships with people in my life, at work and outside work. So I briefly decided that the answer was that I wouldn't commit to very much. So if that acquaintance suggested bowling, my new answer would be something like: "Yeah, maybe." Or with my manager, I would try to get away with telling him that I would complete the write-up "soon". But it quickly became apparent that this strategy wasn't strengthening relationships with people.

These days, I have a strategy around agreements that strengthens relationships with people. When I'm asked something, I stop and consider the request seriously. I ask myself whether I want to agree to it, and whether I'm for sure able to commit to it. If both are yes, then I give the person a date or time when I will do it, and then I follow through. So, in the bowling example again, my answer would be "Yeah, that sounds fun! Can you do it this Friday?" And with my manager, I would say: "I've got a lot on my plate right now; I'm not sure when I will be able to get to the write-up. Do you want to change my priorities? If I stopped everything else right now, I could have it by noon tomorrow."

Obviously, my new strategy doesn't require me to agree to everything. Maybe I don't like bowling. In that case, I could suggest a specific time for an alternate activity. Or maybe I really don't want to hang out with that person at all, I might just say: "Nah, but thanks for asking." Or I might tell my manager, if it's true, that I don't think I would do a good job on the write-up, and suggest a different person to ask. Or if it's just a preference, I could tell him something like: "If you need it to be me, I will do it. But if not, I'd rather stay on what I'm working on. Okay?"

Besides the way that this method of handling agreements strengthens connections with people, I find it has personal benefits as well. I'm able think of myself as a responsible person. And I don't feel guilty for indirect communication. And I get much more clear about what I want, what I'm willing to do, and what I'm not willing to do.


Friday, January 8, 2016

Even Well-Meaning Words Can Hurt - What Can We Do When It Happens?

Have you ever heard an exchange like this?

Person A. < some remark >
Person B. "Hey! That's not nice!"
Person A. "Jeez, lighten up! I was just joking."

What happened here is that Person B doesn't understand the difference between Intention and Impact.


Intention is whatever result Person B wanted their words to have. In the case above, they probably wanted people to laugh. On the other hand, impact is the emotional meaning that Person A received. In the case above, Person A felt slighted in some way - probably by one of the common "isms": sexism, racism, etc.


A tool I learned to work with Intention and Impact is called Ouch / Oops. I have only tried it in groups that are already close, but I bet it would work in somewhat mature teams as well. When a person receives a negative Impact, they can tell the other person: "Ouch" or: "That was an ouch for me." 

Here's the same example as above, but with Ouch:

Person A. < some remark >
Person B. "Ouch." or "That was an ouch for me."
Person A. "Oh, I'm sorry. What did I say that hurt?

Person B.
Person A. "Wow, I had no idea that what I said could be taken that way. Thanks for explaining it.

Here is another version of the above example, except that when Person B points out the impact, Person A can see the problem right away.

Person A. < some remark >
Person B. "Ouch." or "That was an ouch for me."

Person A. "Oh right, I'm sorry. I see what my words implied. That wasn't what I intended. Thanks for pointing it out."


By contrast to Ouch, Oops works in the opposite direction. A person says something, catches a possible Impact of their own words, and then uses Oops. Here's our example again, this time with Oops. Notice that Person A speaks twice before Person B speaks:

Person A. < some remark >
Person A. "Oops. That might have a different impact than I intended. I'm sorry. Let me say it this was instead: ..."
Person B. "Yeah, the first way didn't feel good. Thanks for catching it."


It is important here that neither person belabor the point during an Oops or an Ouch. The point isn't to punish person A. Person A needs simply to recognize their impact and express a brief apology. From there, both people move on. Any additional apologizing or lecturing can lead to hurt.


Receiving "Hey! That's not nice!" is uncomfortable. Often, a"Hey! That's not nice!" response is met with defensiveness. This could be because a part of the speaker may feel shame, and sometimes a way to deal with shame is to lash out and blame the other person. By contrast Ouch offers the possibility of the parties involved learning something and becoming closer. Being on the receiving end of Ouch may still be unpleasant, but is less likely to invoke shame. Calling "Ouch" focuses on the impact on the listener while presuming good faith on the part of the commenter, rather than implying that the commenter is mean, insensitive, or prejudiced. Similarly, with the focus on the impact received, there is less room for someone to be misjudged as touchy or over-sensitive.


Oops is a way of acknowledging that the listener has valid feelings and that the speaker's words may have been received as hurtful, but that the speaker doesn't intend to hurt the listener. Like with Ouch, this offers the pair the opportunity strengthen their relationship.


Increasing my Blogging

I've decided to really try and be consistent and blog good content on a regular basis. I am taking a free 6-part course by https://www.pluralsight.com/ instructor and author of "Soft Skills: The Software Developer's Life Manual", John Somnez. The course is written for software developers.

On John's site http://simpleprogrammer.com/ I signed up for "How To Build A Blog That Will Boost Your Career" (http://devcareerboost.com/blog-course/ Again, it's free, and I don't get anything if you sign up.)

John's course takes you through:
  • Deciding on a theme (mine is Understanding Yourself and Others to Improve your Dev Career) 
  • Easily creating an actual blog site using Wordpress + Bluehost (but if you want to use something else, or already have something, no problem) 
  • Creating a big backlog of blog topics 
  • Choosing and committing to a posting schedule, including when you are going to write (I'm going to publish every other Monday, writing on Sunday night) 
  • Generating traffic to your site without using anything scammy 
  • Marketing yourself 

I like the course format. It comes out twice a week. Each email has a couple of homework assignments that require real work but are doable by the next email. I am really keeping up, and I tend to procrastinate some things like this.


Disclosure: Writing and publishing a post about the course is one of this week's homework assignments. It simply says to write a post about the course and include the links. I wrote the content without any input from him, he didn't see it before I published, and I don't get paid for it.