Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Buying the best hardware, paying the most precious bonus or reward, treating them politely, provide the opportunity for improvement, etc.?

We want to improve the productivity of our development team. We want to see what can be regarded the biggest support (or generally a good support), so we can start from there.

share|improve this question
10  
You can read Peopleware, it covers a broader subject but it will give you some ideas. –  Jonathan Merlet Aug 18 '11 at 6:22
    
Then why didn't you write it as an answer @Jontathan. This was great. We haven't heard that term before. I can't +1 you, but thanks buddy :) –  Saeed Neamati Aug 18 '11 at 6:26
    
I didn't really answered, just gave you something to look at. I read it several times so I could have developed some of the ideas it explains here, but I'm feeling lazy :p Maybe someone else will do it. But beware, this book doesn't give easy solutions, it will require a lot of efforts on your part. –  Jonathan Merlet Aug 18 '11 at 6:30
1  
The question is closed as at the time of my writing this however, IMHO, the single best thing a boss can do towards the end of improving the productivity of a development team is to remove obstacles that prevent or block the development team from achieving their objectives. –  CraigTP Aug 18 '11 at 10:24
1  
Be aware that WE ARE ONLY IN IT FOR THE MONEY. –  Ingo Aug 18 '11 at 14:22
show 1 more comment

6 Answers

up vote 10 down vote accepted

Money has been proven not to be a strong motivator, though too little money is a strong demotivator. Pay enough to take money off the table as an issue. Any more won't help, in fact it may hurt.

This video suggests that the most powerful motivator is autonomy and I have found that to be true. However, you can go too far. Developers like their code to be perfect and if you give them room to make it such, there will be a cost in terms of getting stuff done.

Peopleware is about one-third dedicated to the environment that "thought-workers" spend their day in, for good reason. Lots of natural light, lots of space, lots of freedom to arrange things the way they want. However, it does focus very strongly on silence and I think you can go too far with that too. As Uncle Bob says in Agile Software Development, Principles, Patterns, and Practices, an Agile team is vibrant and communicative. My theory is that, within sensible limits, a constant noise is fine; it's sudden noises that drag people out of the zone.

Two things that I've found to be very powerful motivators in my own experience are good tools and good teammates.

Anything which slows people down is a demotivator. Roy Osherove of 5whys talks a lot about this and suggests that every team leader should see their only role as "Bottleneck Ninja".

And developers love to learn, preferably from each other, preferably all day long. If you can get a team of good solid developers and put them in a room together, they'll do a lot of the motivating themselves.

Finally, respect. There is little more important to geeks. Understand that you are dealing with intelligent people and act accordingly. Don't force them into asinine team-building sessions and company picnics. Just treat them with respect, put the job in front of them and (as much as possible) let them go at it. Ask for visibility, by all means, but do not micromanage.

share|improve this answer
    
What do you call "constant noise" ? Peopleware doesn't talk about the whole organization making a vow of silence inside its walls, but just having a place where workers can make their thought intensive work without being dragged out the zone. This doesn't exclude another area where team communication is to be held (Peopleware even specifically encourages that) –  Jonathan Merlet Aug 18 '11 at 9:03
add comment

Regular 1:1's.

If done right (The Update, The Vent, and The Disaster), it will help to figure which of buying best hardware, paying the most precious bonus or reward, treating them politely, providing the opportunity to improve etc will bring the most... and which of these won't matter.

To me, this one looks as close to proverbial silver bullet as it gets.

share|improve this answer
add comment

Two basic things really:

  • The resources needed, so I will be able to do the task at hand in time

  • The confidence needed, so I can be trusted that I can do the task at hand in time

Everything else follows from those two things.

share|improve this answer
add comment

It's a complex approach.

Hardware and good place to work are extremely important. Monitors increase productivity greatly and faster machine makes the world seem a better place.

For me the biggest thing that can motivate me on a job is empowerment and responsibility - try not to have deciders and code monkeys.

share|improve this answer
    
we're using scrum methodology and unfortunately, developers are not decision-makers anymore. –  Saeed Neamati Aug 18 '11 at 6:53
add comment

There are extrinsic motivations like you mentioned bonus, paycheck which helps to some extent in getting things done but a major chunk is depended on intrinsic motivations and which is where you need to focus bit more

  • Give a proper picture of the tasks at hand and allow them to individually execute them (instead of micro managing)
  • a healthy work environment (apart for great machines) whereby they can voice their opinion and have people who can hear them out
  • The technology you are using are of their interest and they love to work on them
  • appreciate their work
  • give space for their personal life

This could also be an interesting read -Joel Spolsky

share|improve this answer
    
So, you're suggestion not to micromanage? Also, what if they don't agree on a single technology? What if some developers want ASP.NET WebForms, while others want ASP.NET MVC? –  Saeed Neamati Aug 18 '11 at 6:31
    
Are they willing to learn or why they don't want to work on it, have a chat and know the issues they have, you could then address them –  V4Vendetta Aug 18 '11 at 6:35
add comment

That really depends on the developer as not everyone will be happy when he just gets more money if he has to build low quality software for example.

In my opinion most developers like to have a certain amount of freedom to make their own working experience pleasant. Some developers want to build really good software while others have a stronger focus at their working hours (not working longer than they should).

I would say treating them politely and being thankful for the software they produce (as long as it's correct of course) is the least. Everyone likes their effort to be valued. On top of that I think it becomes hard to make a single support measure which everyone likes.

share|improve this answer
    
Thanks @thekip. Unfortunately the freedom can't be given in most of the times, specially in teams, as it may make development efforts divergent, instead of convergent. However, limited working hours was a good point. +1 and thanks. –  Saeed Neamati Aug 18 '11 at 6:28
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.