Some time ago, after I had written a review of The Clean Coder I received a tweet from @InformIT saying that they liked my review. And then, after a few e-mails with person from Pearson I received three selected books to read and review. Individuals and Interactions: An Agile Guide is the first of them.

Review

You all probably know this sentence:

“Individuals and interactions over processes and tools”, but for those who don’t, this is the first point of Agile Manifesto, a set of principles defining agile software development. And if I had to describe or review this book in one sentence, this one would be the best to describe content and general philosophy of this title.

In my opinion most of the books regarding Agile are about other four principles and the first one is somehow forgotten and neglected. But Individuals and Interactions: An Agile Guide is quite different as it (as title might suggest 🙂 ) concentrates mostly on people as a team members. It shows how to take advantage of differences in developers personalities, how easily find and use “work-arounds” for those differences that might cause some trouble and ferment among the team and how to prepare to conflicts that might occur so they won’t distract members of team from doing their job. And last but not least, it shows how to motivate people in a various ways and create effectively working and well communicating team from different personalities without leaving anyone feeling used, ignored or alienated.

And everything I’ve mentioned above is presented in an interesting form divided into two main parts. First one describes all mechanisms and interactions that occur inside the team so reader can understand them. This part is theoretical but written from the perspective of coach or mentor whose responsibility is to improve skills of team members so we have a step by step real life scenario describing what actions was taken to increase team quality and why.

Second part is purely practical and contains very detailed description (preparations, needed items, time schedule) of workshops that might be taken by team to improve all or selected areas described in the book. Each exercise is linked to one of the aspects described in the theoretical part so team leader/scrum master or just anyone could pick up something they think that team needs to improve and simply apply it. This part also contains DISC assessment which help to determine what kind of personality every person has: D – dominator, I – influencer, S – supporter or C – critical thinker. This will help to determine how each team member could interact with others basing on his two dominant behavioral patterns.

Ok, just to sum up. Reading this book was a very interesting and valuable experience and everyone (not only a developer) interested in team interactions, improving communication skills will learn from this title many useful things about himself and how all this team related stuff works.

My notes from book

DISC

Everyone’s behavior contains blend of four elements in different proportions. Those blends create DISC: D – Dominator, I – Influencer, S – Supporter, C – Critical Thinker. Whole book is built around this term and  concentrates on the two strongest dominant behaviors of each person and how they affect our communication and  collaboration skills, reaction to changes and our best motivators.

Those four elements of people’s behavior are:

  • D – Dominator, deals straightforwadly with people, is self-confident, likes to make decisions and make them fast, has tendency to interrupt others in the middle of sentence, born leader
  • I – Influencer, tends to talk using rich gestures, hands and facial expressions, always optimistic and trustful. He’s often the best communicator
  • S – Supporter, has a strong need to  support/help others and good listening skills, needs appreciation, able to sacrifice for others, best team player
  • C – Critical Thinker, likes perfection and quality, enjoys details and tend to concentrate on them, problem solvers but cautious and thoughtful decision maker. He wants things to be perfect and always tend to set high standards for himself.

Knowing who (D, I, S or C’s) we have in the team is essential to fully take advantage of those differences and also helps to anticipate problems which might occur in the future. It also help to motivate people better and understand how to communicate effectively with each of them.

Of course book contains an assessment test to check your own dominant behaviors and for me it appeared that I am strong S and C and completely not a D 🙂

Increasing Communication Latency

In eighteenth century message was reaching its recipient after a few days or even weeks. Currently e-mail reaches someone’s inbox five thousands kilometers away in a few seconds. But it does not necessarily mean that communication is faster, because the delivered e-mail is not equal to certainty that message was read. It’s connected with something named communication latency which is defined as a delay between the moment when something was communicated and the time when something was received AND processed. One to one, face to face conversation is the channel with the lowest latency, then come telephone call and instant messaging and finally the slowest way of communicating is e-mail or written document sent to one person and e-mail/document sent to a group.

And the bigger latency is, the greater the risk that message will be ignored, misunderstood or used in a wrong way because of different context between the moment it was sent and processed.

Strategies for Communicating

How to communicate with different behavioral profiles:

  • D – be concise, get to the point, present an overview with facts, solution and alternatives
  • I – be friendly, ask questions, be open and have fun
  • S – be part of team, draw out their opinions, be gentle, suggest outcomes
  • C – be serious, prepared and detailed, give solid evidence, allow time for question and ask questions

Perfect team

Such team should consist of various personalities so they could complement each other. D’s will push to make decisions fast, C will concentrate of the details and other possible solutions, S’s will bring harmony to the team and I ’s will keep communication working and morale, optimism and energy high. Of course someone may think that good team of developers should contain only C’s so they produce excellent code and almost bug free application but this won’t work because C’s might spend many hours or even days analyzing what is the best and the most optimal solution when just good is enough.

Motivators

Each of us is motivated by different things. Some people care only about increasing salary, others want to have a imposing job title. The key to success is to apply correct motivator to each team member.

There are six types of motivators and, contrary to behavioral patterns, they can’t be determined only by observation.

  • Theoretical – a strong need for learning, knowledge and discovering new things. They want to observe and find reasons.
  • Utilitarian/Economic – they want practical and financial gain, appreciate things that are useful and efficient
  • Aesthetic – appreciate beauty, pleasant surroundings. They look for balance in their job, feelings and life.
  • Social – strong need to help others, feel fulfilled when they helped someone, less concerned by profit, tends to sacrifice own needs for needs of others
  • Individualistic/Political – strong need of personal power and influence, they like to lead and have both control and responsibility, job title is important for them
  • Traditional/Regulatory – appreciation of tradition, rules and order. They like structure and believe that there are right and wrong ways of doing things, love to have set of rules to follow

And how to motivate person from each of this category?

  • Theoretical – give time and opportunity to learn and discover, ask questions
  • Utilitarian/Economic – effectively use their time, give something in return for what they contribute
  • Aesthetic – pleasant work environment and chance to express their ideas
  • Social – allow them to help and tell them their true value as they tend to underestimate it
  • Individualistic/Political – give a chance to lead and set rules, to create ideas and make them real
  • Traditional/Regulatory  – they need structure and guidelines to follow with clear rules system