One of the things that I try and do to further my personal development is to read at least one new business or technical book every month. About 6 months ago, I read To Sell is Human: The Surprising Truth About moving Others. I didn’t realize it at the time, but this was the most useful book I read in 2013. Basically, the premise of the book is that most people are in the business of sales; or at least persuasion. Your job may not be to get people to sign on the dotted line, but most knowledge worker professions are about convincing people of something. That’s certainly true about project kickoffs and architecture meetings. The whole purpose of that kind of meeting is to come up with a plan, get people invested in the plan and start the project off in a positive direction.

According to Pink, there are three main points to sales: attunement, buoyancy and clarity. Attunement is somewhat like empathy; being able to relate to a person’s worldview and understand where they’re coming from. Buoyancy is the ability to avoid getting discouraged by setbacks and viewing them as temporary obstacles. Clarity is the ability to articulate the solution. All of these are important at project kickoffs and when defining architecture.  Probably the most important is attunement.

Attunement is the most important skill because, well people aren’t always straightforward about what they want.  How often do you end up having to figure out what someone really wants when asking for a feature. Understanding what someone really wants with a requirement is probably the most difficult part of any design process. The easiest way I know to go about it, is to try and understand the business value of the feature.  What’s the problem that the person is trying to solve.  This is different from the usual questions that we ask, like “what color should the button be.” Being able to understand the customer’s world view and what they want out of any solution is the single most valuable skill for a software developer.

Buoyancy comes in a close second.  Sometimes, the problems seem insurmountable. There are a huge list of “features” to implement, no time to do it in, and all the usual causes of stress. Keeping a positive attitude about it all is sometimes really difficult.  Buoyancy isn’t about being upbeat and chirpy all the time, but about changing the way that you look at the problem.  Basically, you want to reframe the problems in terms of temporary setbacks rather than systemic problems. If you look at what is blocking you as a temporary impediment, someone having a bad day or needing to understand where they are coming from, solutions present themselves.  If you look at it like “this level of bureaucracy is just the way the company works” you tend not to even look for a solution.

Pink’s third major point is clarity.  For software, it’s having the clarity about what the solution could be.  In some ways clarity is about applying imagination to attunement. If you understand what problem the customer is trying to solve, you can help imagine a way that solves it.  Really that’s what software development and especially agile development is all about: solving someone’s problem, easing their job pain.  Being able to articulate the solution is the first step. As important as that is understanding how the solution solves the business problem.  If you have clarity about the problem and the solution, it makes it pretty easy to answer objections that arise and deal with them in a way that moves things forward.

As an agile professional, this book should be on the list of books to re-read regularly.  It gives me something new to think about and apply every time I read it. As software developers we tend to focus on the technical minutia of what we do instead of dealing with the much harder problem of listening and understanding the basic problems that our customers are faced with.  Focusing on those issues will not only make for a more compelling project with a deeper level of commitment from everyone involved, but it will also yield an end product that better meets the customer’s needs.  We should all be focused on eliminating that old truism of “you gave me what I asked for, but not what I wanted.”