views:

2673

answers:

18

What questions would you ask a candidate applying for a software project or development manager position?

Please could you submit one question per answer (with multiple answer if necessary) or a sequence of related questions. This way eventually all questions will get ordered by how good we all think they are.

Please also provide a short guidance for evaluating possible answers.

UPDATE:

It seems that a large proportion of the answers so far are aimed at generic management skills. What would you ask someone who is going to manage software development, let's say in your organisation? What knowledge, skills and attitude will you be looking for in the candidate replies?

+9  A: 

How do you feel about people you are managing using Stack Overflow at work?

This isn't actually that bad a question, although you may need to explain what Stack Overflow is. If they are supportive of the idea it shows that they understand how developers tend to work (we don't know everything and often the best way to find something out is to ask somebody who does, such as Google or the SO community).

David Johnstone
+1  A: 

What would be their approach to rectify a slipping project would be my no 1 question.

Id look for the candidate who puts emphasis on investigation into why, rather than simply diving into obvious (and often flawed) fixes, such as slashing feature lists, or throwing manpower at it.

Visage
+7  A: 

Can you program?

SpliFF
What does programming have to do with project management?
Cătălin Pitiș
Give his own opinion about what can be done and how hard is the programming task which is delayed. Also if software project manager doesn't program it can be really hard to become the real, respectful, leader for developers.
Grzegorz Gierlik
Yes... programming knowledge really helps in getting respect :). But it is not really required as project manager. As I see it, the PM has a technical guy (tech leader if you want) he trusts and who has the technical responsibility. The role of PM is not to technically validate a solution, but to make sure that the things happen on the project on time and budget, to facilitate the things to happen.
Cătălin Pitiș
Let me guess, YOU are a project manager. At any rate he did say "software project", and I've had my share of so called team leaders who don't understand the problem they're trying to solve. They tend to waste a lot of money on things they saw in magazine ads and rarely do they help with morale.
SpliFF
Good project managers don't need to know programming. That's a must for exceptional ones.
Arnis L.
@SpliFF. Yes, I am a Project Manager. Former C++ developer. I had the chance to lead C++ projects, where I had technical insight, and some Java projects, where my knowledge was limitted. I can make the difference. As I was saying, having the technical knowledge helps and is more comfortable for a PM. But it is not mandatory, if you have a good, reliable technical responsible person.
Cătălin Pitiș
Watching non-programmers trying to run software companies is like watching someone who doesn't know how to surf trying to surf. "It's ok! I have great advisors standing on the shore telling me what to do!" they say, and then fall off the board, again and again. The standard cry of the MBA who believes that management is a generic function. The cult of the MBA likes to believe that you can run organizations that do things that you don't understand. - Joel Spolsky
Ian
Nice one Joel. Only "Dilbert" could explain this concept better.
SpliFF
+8  A: 

First:

  • Ask what is his view on the responsibilities of a project manager. Match his view with yours (you might find differences, possible significant ones).

Then... explore his knowledge, experience, ideas, reactions, etc. Put him in front of various scenarios and ask for ideas about how to handle those scenarios. Since there is no "standard" answer, you should see how does he think.

Examples:

  • What to do when the deadline is approaching and there seems to be no time to finish the planned activities.
  • What would he do when receiving estimations from the team members? Ideas about validating the estimations, making sure that all the aspects of the activities were considered, etc.
  • What would he do when team members are in conflict?
  • Explore his experience and knowledge in project lifecycle.
  • Ask about how does he usually proceed on initiating a project.
  • Interactions between testing and development team(s).
  • Managing multiple teams of the same project.
  • Managing "political" aspects of a project (relations between stakeholders, etc.)
  • Ideas about risk management. Impact on plans.
  • Scenarios related to communication with customer. Negotiating prices, scope, etc. Ideas about proceeding in case of "conflicts". See how he puts the problem in front of the customer.
  • What would he include in a project plan.
  • How does he do project tracking. Is he using some metrics for checking that the project is on time and schedule? Does he prefer to use some metrics (if not used before). If so, what should he do to measure those metrics?
Cătălin Pitiș
A: 

What do you think about the Joel Test?

It checks if candidate knows what is the Joel Test and can be point of start of discussion about testing, using source code control tools, work conditions ect.

Grzegorz Gierlik
Not everyone is knows who Joel is or what his test is. His questions are great questions to ask however.
Brian
He doesn't have to :). But it says something about candidate -- he could not read anything (bad) or read something different and I can learn something new from him (at least interesting).
Grzegorz Gierlik
I've never met a project leader in a large organisation who knows Joel. Or where he is wrong
Stephan Eggermont
A better question would be "here's a list of recommendations for development teams, what do you think of them". It removes the need to have seen them before.
Jon Hopkins
+1  A: 

How do you handle transparency of accountability of the developers to upper-management?

[versus]

How do you handle transparency of accountability of the upper-management to the developers?

the project (or development) manager acts as an interface between the upper-management and the guys (and gals!) in the trenches. so how fluid and bidirectional is this interface and how do issues propogate up or down-stream?

kent
Could you please explain?
Totophil
sure. my concern is one of how the wants/needs/demands of upper management are related to the team, versus how the wants/needs/demands of the team are related to upper management. how this communication process transpires, what form the communication follows, and whether the prospective candidate considers him/herself to be an instrument of upper-management or an instrument of the development team or the strategy that (s)he implements this dichotemy. keeping in mind: 'transparency' is bi-directional.
kent
+15  A: 

Tell me something about your previous project fail.

Wait if candidate says what he learned from these fails.

Answer should give a view if candidate:

  • Just blamed someone/something for everything wrong.
  • Learned how to avoid these problems next time.
  • Is honest.
Grzegorz Gierlik
+1  A: 

How do you approach a new position, what do you plan to do the first week?

  • get to know the people - reporting to me, peers and those I am responsible to
  • understand the strengths/weaknesses - SWOT Analysis
  • don't rock the boat - until I'm ready to rock the boat based on set goals and a plan
  • be effective
meade
A: 

What do you bring to the table?

  • what are you strengths
  • what successes (real) have you had in the last 1-3 years
  • what makes you right for the job
meade
A: 

What are your requirements for the projects you will be managing?

Good project manager will never start on a project that he will not be able to manage efficiently. For example, manager without the authority to allocate developers or manage schedule within the phases can't be called a project manager (as in Project Management Body of Knowledge).

If a person being interviewed does not clear that out before signing up for the job, then something must be going wrong here.

Rinat Abdullin
+3  A: 

"Do you know the concept of micromanagement ?"

And make sure they won't micromanage.

Jem
+2  A: 

Have you read Peopleware?

Bo Schatzberg
Or The Deadline: A Novel About Project Management, which is also great book.
Grzegorz Gierlik
This is a bit like saying to a developer "Have you read Code Complete?". Someone who has read it may have benefited but someone who hasn't isn't necessarily worse, they just may not have been exposed to it. You'd be better off asking about the ideas in it than the book itself.
Jon Hopkins
Fair enough...but I would rather hire a manager (or developer) who reads to improve at their craft that one who does not. If they haven't read this particular book, perhaps they can share what they have learned from other books.
Bo Schatzberg
Moreover, Code Complete is an excellent example of a book that a good candidate would probably be aware of, even if they haven't read it. Enough popular bloggers (Jeff and Joel, for example) endorse that book that a candidate who reads blogs should be aware it exists. Peopleware may or may not be a similar type of a book for a manager.
Bo Schatzberg
A: 

Identify some roles and responsibilities that you would consider necessary for a successful project.

If the person is going to manage a project, they will need clear ideas of the roles involved and why they are needed. I think this is a valid question whether you use agile or more traditional methodologies. This also leads into other questions that assess their ability to identify and overcome "gray" areas of responsibility and conflict resolution.

It's a great way to get a picture of where they think they fit into a project, but it's also a good entry point for you as the interviewer to present scenarios from your own experience and see how they react.

Jeff Meatball Yang
+1  A: 

Could you please describe typical stages of software product or service lifecycle?

Look for a clear understanding of typical software lifecycle processes: requirements, design, implementation, testing, implementation, support. A discussion may ensue on what each of processes might involve.

How waterfall is different from agile? Which would you prefer?

Look for clear understanding of underlying principles, strengths and weaknesses of both approaches. A good candidate will have a balanced view and will be able to evaluate development process on the merits of a task at hand.

Mention then to any Agile/XP/Scrum adepts that NASA uses waterfall to develop software in control of space rocket systems, and then ask if they could give their opinion as to why what NASA does is different from the job they are applying for?

Waterfall evangelists should be able to explain why iterative software processes seem to have gained so much momentum in recent years without attributing the popularity entirely to hype or fashion.

Based on the discussion under which circumstances would they use waterfall and when agile?

Looking for a meaningful answer that brings include some actual decision criteria such as: existing processes, level of user involvement, level of testing and build automation, developers proficiency, safety and legal requirements, nature of software etc.

Totophil
+4  A: 

What is source control?

Software managers who do not have any understanding of concurrent development, source traceability, changes audit, configuration management concepts should not be in the business.

Which type of source control editing paradigm would you prefer (check out – edit – check in, edit – merge – check in) and why?

A discussion on merging changes as opposed to waiting for a locked object.

Is there any benefit in using source control when there is only a single developer working on a project?

A suitable candidate should understand that source control benefits stretch far beyond concurrency management.

Totophil
A: 

What do you know about Open Source Software?

Just to shift the conversation towards open source.

Would you consider using existing open source component or software as part of the software you need to deliver?

Make sure they understand benefits of making a decision to re-use code base available and also any licensing consequences, depending on the way the code is re-used.

Would you consider making part or all of source code developed by your team open?

Again look here for good analysis of pros and cons: attracting a large crowd to work on common bits of your code that do not add much strategic value to the core application, motivating in-house devs, promoting in-house standards within industry versus exposing code to competitors, loosing control over IP etc.

Totophil
+2  A: 

Development Managers and Project Managers are very different beasts. A development manager is more internally focused and I'd expect to be a more technical, a project manager I'd expect to be more externally focused and have client management skills. For instance while a PM might understand something about version control but I wouldn't see it as a show stopper if they didn't. A Development Manager who didn't know about version control should be shown the door immediately.

You'd also have different expectations about their methodology knowledge - a PM should be able to talk about project management methodologies (e.g. PRINCE2) and have an awareness of development methodologies (e.g. Waterfall / Agile), a Development Manager the other way around.

Here are a bunch of questions which cover both roles, I've listed where I think they're more one than the other.

How do you estimate and schedule projects? (Both)

(Looking to hear the following)

  • That you must involve the people doing the work as (a) their technical understanding is key and (b) they need to buy in to the estimates
  • That an estimate is not a single number, it's a range from best case to worst case
  • An understanding that effort (the total work involved) and elapsed time (the time it takes to do it) are different
  • To account for this you can't assume someone will get 5 days work done in 5 days
  • That this isn't an exact science and sometimes stuff just happens on IT projects and this needs to be accepted and included
  • That not all developers are the same in terms of what work they can do and how quickly they can do it
  • That a macho approach ("I deliver projects whatever the cost") is rarely productive, certainly not on an on-going basis.

Motivation and Demotivation: (More DM but also PM)

  • Can they list some of the things which might motivate / demotivate developers? (Essentially you're really just looking for an understanding that it's more complex than either money or just telling them what to do)
  • How would they balance the company culture and the culture the developers might want (especially important where the company is formal and the developers might not be)?

Methodology: (DM at the top, going down to PM but they should both be able to have a stab at all of them)

  • What is a Waterfall methodology? What benefits and disadvantages does they have? When might they be applicable?
  • What is an Agile methodology? What benefits and disadvantages do they have? When might they be applicable?
  • Assuming that you were starting a green field project with nothing in place, what three things would you put in place first (for me I'd want to hear version control, some sort of test team / process then take your pick - you could justify pretty much anything from timesheets to automated build, it doesn't really matter so long as they can justify it)
  • What is the difference between a development methodology and a project management methodology?
  • On the subject of project management methodologies, what is risk management? Talk through how you'd do it (I'd want to hear about risk logs, impact vs. likelihood and risk mitigation).

Recruitment: (More DM)

  • How do you recruit developers?
  • Give me examples of the sort of things you'd ask developers in an interview (I'd want to hear that you were getting them to write code in the interview, getting other developers to talk to them as well as the usual walk through the CV and so on)?
Jon Hopkins
A: 

Lifted from another site (http://www.ere.net/2001/06/28/the-best-interview-question-of-all-time/):

Please think about your most significant accomplishment. Now, could you tell me all about it

which would lead to lots of detail on:

the accomplishment and the role the interviewee played in it e.g.

Your title and role Why you were chosen The 3-4 biggest challenges you faced and how you dealt with them A few examples of leadership and initiative Some of the major decisions made How you made more resources available Some of the biggest mistakes you made How you changed and grew as a person What you would do differently if you could do it again Aspects of the project you truly enjoyed Aspects you didn’t especially care about The budget available and your role in preparing it and managing it How you did on the project vs. the plan How you developed the plan How you motivated and influenced others, with specific examples to prove your claims How you dealt with conflict with specific examples Anything else you felt was important to the success of the project

CathyB