My partner and I have been practicing Nonviolent Communication for the past six months as a way to both express and hear each other’s needs better. At the heart of it, it asks us to get past automatic habits of communication and really express our own needs in a clear and compassionate way, and be able to search for the actual needs behind the statements another person is making.
Doing software development work, I often remind myself to take a step back and ask what need we are meeting. What is the actual problem we are solving? Does it need to be solved with a technical solution? Does it need to be solved with this technical solution?
When we get stuck-in on a particular path that seems dark and full of twisty little passages, it is sometimes useful to keep pushing forward one step at a time (preferably with the support of a great team!). But sometimes, it’s useful to take a big step back and look at the big picture for awhile. Are we answering the right question? Do we have the information we need to answer that question? Is there another way to answer the same question and meet the same need, or is there actually a need behind the stated need that could be met?
Sometimes a few hours of collaborating with a client to figure out what the need behind the need is, and some brainstorming about different ways it can be met, can save a few days or weeks of an unproductive development path.