Programmers are stereotypically bad at navigating relationships and relationship conflict. I don’t mind this stereotype because it describes me pretty well. Designing software and helping others design software led me, over and over until I finally accepted it, to the conclusion that the human part was the hard part and absolutely necessary.
Here, then, in three geeky pieces, is my current understanding of what the human relationships are in software design, why conflict is built into those relationships, and what behaviors can help a software designer find a way forward. […]
Read the opinion of Kent Beck: