by Liz Sedley


Recommended Reading

Motivation

If a team want to achieve something they will find a way to make it happen. And conversely if the team don't want to achieve a goal, there is no way they will. Therefore the single biggest factor which contributes to productivity is the motivation or morale of a team.

Very old fashioned management is based upon the theory that people don't want to do a good job and we need to use carrots and sticks to motivate the team to do their work. However this is not true. Most people come to work every day wanting to do a good job.

If you feel motivation is low make it your top priority to diagnose the underlying cause and address it.

Treat everyone like a volunteer

So how can we improve morale? Firstly treat everyone as if they were a volunteer. Everyone has chosen to come to work today, so be respectful of that. Today everyone really is a volunteer at work because they could probably get a different job. How would you treat a volunteer differently than an employee? Think about how things happen outside work. How does a football team get everyone to show up to training. How do they get working bees to improve their grounds to happen? How does their Christmas Party get organised?

Treating employees like volunteers means engaging with them and making sure they want to do what they have been asked to do. Or better yet let them select what task they do. Everyone understands that you can't get your own way the whole time, can't always do the interesting, exciting tasks. But if the team understand how a task contributes to a bigger goal and why it is important they should be happy to do it. If they still aren't happy than they probably don't agree with the bigger goal. We need to make it clear why the bigger goal is worthwhile or in their interests. Maybe we can 'trade favours' to get something disliked done.

But coming down heavy handed and using power is a bad idea because the long term cost of a disgruntled employee is almost certainly more expensive than the cost of the work not being done in the first place.

Challenging Work

Secondly everyone needs to be sufficiently challenged. Neither bored nor too anxious. This is the optimum work zone where people enjoy work the most.

Creating software attracts people who like to solve problems and who like to be challenged. Solving problems releases feel good endorphines, we literally get a buzz out of it. If work is too easy we get bored and demotivated. If a piece of easy work needs to be done, and there is no one suitable to give it to, the unluckly person who has to do it needs to know they will get more challenging work soon. If there is a lot of easy work to be done consider hiring someone less experienced to do it, or automating it.

However if the work seems to be impossible and is far beyond their comfort zone the team will be equally demoralized. In this case we need to break down the work into chunks which are manageable. An experienced agile team will do this instinctively, but if our team is still transitioning to agile it might be the act of breaking down work into chunks which is scary. If this is the case maybe they can at least agree what the first chunk is. If the chunks are investigation tasks then they probably need to be time-boxed to keep the project moving forward and not stalling in analysis paralysis.

If the work is broken down into small chunks and the chunks are still scary then we need to encourage a culture where it's OK to failure. As Thomas Edison famously said "I have not failed. I've just found 10,000 ways that won't work." Allow the team the freedom to experiment and fail. If they can't choose between two or three ways of doing things encourage the team to try all of them. Maybe split the team into sub teams and get each sub team to spend an iteration trialing an answer. At the end of the iteration the team will know more. Perhaps with experience rather than theory one way will stand out. Perhaps a combination of approaches becomes apparent. Perhaps the experiment needs to run for another iteration. Don't view this duplication is waste, but rather is a quick way to learn and a cheap way to mitigate the risk of making the wrong decision.

Stop Demotivating

Thirdly don't demotivate them! People start off motivated - that is why they took the job. Mostly they want to be a developer or tester or whatever and they want to work for this company. And if nothing demotivates them they will stay motivated! Remove annoying obstacles from the team and they will thrive. Managers are more likely to demotivate a team then to motivate them.

Show that you value important things like releasing valuable software and continuous improvement, rather than unimportant things like time sheets and dress code.

Caring for our team as people as well as staff is also necessary. What's going on in their personal life? How's it affecting their work? How can we help?

Success

One of the most motivating things is being successful. One of the benefits of doing frequent releases is that the team get to feel successful every iteration. Celebrate the success of every launch, even if only in a small way, but draw attention to the fact that the team were successful. Allow everyone to feel great about what they have achieved.

A team lunch or a team drinks are a great way to both celebrate success and inrease team bonding.

Praise

It's not good enough for a team to be successful, they need to know that other people think they are successful and appreciates them. A word of thanks from management or customers is very important, because otherwise the team don't know that they are valued.

Gold Cards

Allocating a developer some free time every iteration for them to do whatever they want to does wonders for motivation - and for the product. Assign a 'gold card' to every developer every iteration which they can do anything they like with, but they must tell the team what they did and what they learnt. Allowing one or two days an iteration for developers to experiment with new ideas or clean up things that bug them or learn something new keeps the developers fresh, motivated and excited. It is a way for them to inject ideas into the product, to make it a product they're proud of. Note I don't mean that developers should be able to release features without approval, just that they should be able to play with ideas, maybe make a case for them to be approved. Try out new technology - does it bring advantages to our team? Clean up gnarly code that is hampering productivity. Do what ever they are passionate about for a day.

Carrots vs Sticks

Everybody needs to be motivated because they want to do a good job. If they are motivated by the reward for doing the job then we are in trouble. So be very careful about using 'incentives' to motivate people. The incentive will never be as good as the buzz of doing a job well, and will cause people to work towards the incentive rather than to do a good job. So don't use either a carrot or a stick to motivate people.

Summary

Recognise the good work people do, provide challenging work, and don't demotivate them and they will be motivated to do their best.