Diagramming Data, Part 3: Preventing and Curing Data Deficiencies

In part 1 of this series, we discussed the relationship between data and code complexity. In part 2, we talked about some of the deficiencies datasets might have and how they happen.

Now we’ll talk about some starting points for building healthy datasets—and nursing deficient datasets to health as much as possible. It’s important to note that these starting points apply chiefly to datasets obtained via human data entry—generally via a form.

Continue reading “Diagramming Data, Part 3: Preventing and Curing Data Deficiencies”

Diversity, Inclusion, and Money.

Does hiring women or people of color affect a tech company’s bottom line?

According to some data, yes.

But so what?

Numbers like these  are uplifting, but they don’t convince companies to change.

So why not?

Let’s talk about two reasons:

  1. We don’t definitively know why diverse leadership improves a company’s financial performance. So we can’t draw a causal link that captures leadership’s attention.
  2. Metrics for overall company financial performance don’t motivate lower level managers and directors. Those lower-level positions, more than the C-Suite, influence the office practices that affect company diversity numbers. But those positions don’t get individual rewards when the whole company does well.

Let’s talk about both of these.

Then we’ll talk about a more focused metric that you can use to argue for, and measure the effectiveness of, inclusion-related efforts at your company.

Bonus: our new metric will help office leadership focus on retention of women and people of color, rather than only lamenting the pipeline problem.

Continue reading “Diversity, Inclusion, and Money.”

Remote Pair Programming: Best Practices

For the past four months, I have worked on a project in which I needed to pair program remotely with developers in other states, other countries, and other time zones.

Remote pairing feels different from pairing with someone in person: you lose the benefits of colocation for asking each other questions and reading each others’ moods and body language. That said, I have learned some practices that work better than others for pairing remotely, and I’d like to share them so that you can make your remote pairing experiences go as smoothly as possible.

Continue reading “Remote Pair Programming: Best Practices”

What Software Teams Can Learn from Improv Comedy

I work as a software consultant at a company that does almost 100% pair programming. I have also performed improv comedy, in classes and onstage. I’ve realized that the skills needed to improvise with other people can also help us pair program better with pairs of all kinds.

Here in Chicago, Second City is famous for its comedy theater and its school of improvisation. However, the business also consults for Fortune 500 companies on developing better teamwork. Two of its executives, Kelly Leonard and Tom Yorton, have published a book on the subject: Yes, And: How Improvisation Reverses “No, But” Thinking and Improves Creativity and Collaboration–Lessons from The Second City. The book discusses the business value of improvisational skills, and it also prescribes exercises to develop those skills.

From this book I’ve identified some relevant improv tenets for pair programming and some improv exercises that might make us better at pairing.

Continue reading “What Software Teams Can Learn from Improv Comedy”