Wednesday, August 20, 2008

Is everything OK for you?


People
picture courtesy of xurble@Flickr
I've talked with my friend recently and he complained about his team leader (actually he was explaining me why his team leader sucks). It's not about her personality or attitude but my friend's biggest complaint was questions his team leader asks him e.g.:

- Is everything OK for you?

Well... How can you answer this question. Is she asking about my private life, my development environment, my current assignments? What answer does she expect? If almost everything is OK for me but I have some ideas how to improve team's performance should I answer "Yes", "Yes, but..." or "No"? This is a wrong question IMHO - it shows lack of respect because team leader doesn't really care about the answer, it's like "How are you?".

If you are Team/Project Lead and you lead development team you should read this post and get to know engineer's point of view.


Why such questions suck?
Let's suppose I work in a team and I see that the code we are producing is not well tested. More so our team does not have any continuous integration (CI) tool installed. I want to share my ideas how to cope with such problems but my team lead is hard to catch and always busy.
Though she regularly asks me questions like "Are you OK with the team?", "Is everything OK for you?". Should I talk about CI and tests problems here? Is it a good time for her to talk about my ideas? These questions does not encourage me to touch any real problems our team might have.

What questions engineers expect?
Engineers are really concrete guys and they expect concrete questions. Yes - it hurts sometimes but what we are doing is often so complex that asking general questions refers to void - do you really want to know about void? (Isn't is an example of micromanagement?) In my friend's example the question his team lead asks are very general.

How much easier it would be if she regularly asked him questions like:
- Do you see any problems in the project we are currently developing?
- Do you think our development process is working well? Have you got any ideas how we can improve it?
- Do you need any help in what you're doing?
- Do you have any ideas how to ...?

Use your people's creativity
If you are managing software development team you should learn what questions to ask. You should ask questions that cannot be answer with simple "Yes" or "No". Ask questions that enable your engineers to express their feelings, ideas, fears. Your engineers are very creative (I'm sure of that) - let them talk to you and share their ideas, let them think and create!

Ask the right questions - you will get the right answers
If you're asking the wrong question like "Is everything OK for you?" don't expect the right answer (whatever it means). What do you expect from your engineer while asking such question? Are you expecting me to tell you about my weekend? Then ask me about the weekend. Are you expecting me to tell you about my children? Then ask me about my children.

Asking right questions is a key to good and open communication - and it's the most important factor in an efficient development team (see also XP Practices). Asking the right question will give you the right answer i.e. the answer for your concrete question - no misconceptions. If you want to ask me general question just to see if I'm not sleeping (keep-alive?) just say "Hello!" - if you want to ask a question and you don't expect any answer (ping?) - just don't do it! - you will not earn my respect by doing that.

If you are lucky to work in the Agile environment, this problem could be solved to some extent during Daily Scrum Meeting where you can share your ideas and problems or via the retrospectives when the team is encouraged to analyze their way of working.

Advice
If you're a team or project leader it means that you are smart enough to find some right questions that will let your engineer talk about real problems and real solutions. Ask your questions often and you will see how many opportunities you can find around you.

Be careful, when asking way too general questions - at times it might be worse, than asking no questions at all.

Originally published on AgileSoftwareDevelopment.com

No comments: