Wednesday, February 18, 2009

Should Project Managers be technical ?!

I have seen some good project managers who were technical or non technical. I have see some bad project managers who were technical or non technical. I am not sure whether being technical or non technical even matter for being a good project manager. Many of my friends and colleagues have some strong opinion on this subject. I wanted to know how everyone else feels about project managers being technical or non technical. Please share your thoughts as comments.

Friday, February 13, 2009

Simple Procedure for effective meeting

Are you spending lot of time in meetings without much result. Try this simple procedure

1) Invite only needed people
2) Display purpose and Agenda of the meeting
3) Time box your discussions (I will post another blog examining different discussion techniques)
4) Come up with Action Items
5) State the owner and due for each Action item.
6) Send meeting minutes to all attendees

Monday, February 09, 2009

Fresher and Experienced Developers - Friends or Enemies ?

There are many articles written about pair programming. I wanted to write something specific about pair programming between a fresher and experienced programer.

Lets look at some benefits of pairing a fresher with a experienced developer.

Benefits:

  1. The fresher gets a good a mentor whom he can ask questions and clarify doubts.
  2. Learn from experienced developer. Learn concepts in minutes which might take years if left alone.
There are so many other benefits in pair programming. My interest is finding problems that could occur when pairing a fresher with a experienced developer.

Problems:
  1. Fresher can slow down experienced developer, so productivity may go down.
  2. Experienced dev might get frustrated explaining everything to fresher.
  3. Fresher might be intimated so would not question experience developer's decisions.
  4. Fresher might feel discouraged as they don't know many things compare to experienced developers.
  5. Fresher might not get sense of accomplishments as they feel they finished a task because they paired with some experienced developers.

Now we have a good set of problems. Lets see what we can do it avoid these problems.

Solutions:
  1. Give freshers some tasks that they can do by themselves so they will get a sense of accomplishments.
  2. Experienced developers can clearly tell freshers where they need to concentrate, like ask them to read a particular technology or practice.
  3. Create a safe environment where freshers won't hold themselves from questioning experienced developers' decisions.
  4. Create a culture where people seek feedback. 
  5. Always make sure freshers what is expected out of them that way they can be ready.
  6. Have One on ones regularly with freshers and experienced developers to get sense how things are going.
  7. Talk with experienced developers to find how freshers are doing. Ask them what they suggest we can do to improve a productivity.
This is not a comprehensive list. Please share your experience. I would like to hear from both experienced developers and freshers.