In the book “Influencer”, the authors describe six forces that work together to influence any particular human behavior that we might want to change.
The forces that influence behavior are:
Thinking more about these forces, it’s easy to understand why so many of us are finding it so difficult to influence real change in our company. plenty of times we have no problems with influencing items #1 and #2 but the moment we leave our immediate surroundings we find that there is lack of social motivation (in fact, there is social motivation to behave differently!) and thus social ability.
in some cases, #3 and #4 are somehow made possible, but the way the organization and the environment we work in are designed prevents us from completing our change strategy.
here are some examples of common failures to implement change I've encountered. now i have a sort of dictionary to try and explain where we needed to exert influence and did not:
Implementing TDD at a large company failed partially because project managers did not agree to allow more than 20% of overhead time to write automate tests for the system. on top of that, C++ developers had a horrible time testing legacy C++ code, and could not\would not refactor it for testability.
in this case, #2 was lacking (we needed better tools, or better training to teach the difficult parts) but sometimes #1 was lacking as well when people did not want to touch existing code. that also touches on #3 (social motivation) since people were not having any kind of collective ownership of the code and so did not want to mess with someone else’s code.
lastly, we have #5 fail: project managers did not allow enough time to write tests,, resulting in actual “punishment” for such behavior.
Another eye opener for me was that the authors clearly explained that when you want to influence change, anywhere, you want to change no more than 2 or 3 vital human behaviors. find these behaviors, and you have the key to making real change happen.
for example, you feel that you consistently produce very low quality of released software with many bugs at the customer site. how do you know which behavior needs to change? what causes this?
one way the authors state is to look for the uncommon results in the crowd. for example, you may have a specific group or component that consistently presents the good things that you’d like to achieve for all other groups in the company (low bug counts). find out what is different in the behavior of that specific team of individual programmer that produces that different outcome. maybe they do Test-First development?
once you’ve uncovered this behavior(s) it’s time to find out why no one else is doing them.
One of the sentences that has stuck most with me is the following:
Every behavior you see has been perfectly influenced by a world that was perfectly designed for this behavior to happen.
That means that in order to change a specific behavior, you need to first find out why this bad behavior (avoiding tests) exists in the first place. if you don’t fully address all the forces that made this behavior a reality, you will likely fail in changing that behavior.
You may find that there is just one, or all six forces at play here. In the problem of automated testing, you may find that people don’t know how to do it (can i do it?) and might not even want to (#1) . not only that, their managers do not believe in this system, and so will kill any attempt to do this.
if you were, say, trying to push for better communication among team members as a behavior that’s missing, you may find that #6, the physical environment is actually something to address – perhaps the team is split in different rooms – putting them in the same room can help minimize communication cost.
Again, an important key here is that if you only address some of the forces that affect the current behavior, it is very likely that the quest for change will not work. you need to deal with all the forces that affect that current behavior.
Doesn’t exist. Sorry. But with the six forces we now have a good language to talk about when dealing with implementing change in an organization.