Thursday, September 18, 2008

I need this baby in a month, send me nine women!!

Don't be tricked by the title, I really don't need a baby in a month! Here is the story...

Yesterday, I dropped by a post on Joel on Software: "Stack Overflow Launches"... It was talking about launching a collaboratively edited question and answer site for programmers called Stack Overflow.

Stack Overflow is not like an ordinary forum, where questions and answers go in the form of a discussion with possibly wrong answers and spams in between! One of the most significant features of Stack Overflow is their voting system, where questions and answers are voted for correctness. Top voted ansewers float over the down voted ones. This helps you getting the desired solution on the top of the page. You can figure more features by visiting Stack Overflow.

"...If you’re generally interested in programming and want to learn something new every day, visit the hot tab frequently."
Intersting... I added Stack Overflow's feed to my RSS Reader. And today, I read this question:
"Under what circumstances - if any - does adding programmers to a team actually speed development of an already late project?"
And it was titled: I need this baby in a month - send me nine women! That's the mystery behind the title. The question discusses one aspect of Software Engineering during the management of the project. Answers showed important considerations when attaching new programmers to running projects. For instance:
The proposed individuals to be added to the project must have:
  • At least a reasonable understanding of the problem domain of the project
  • Be proficient in the language of the project and the specific technologies that they would use for the tasks they would be given
  • Their proficiency must /not/ be much less or much greater than the weakest or strongest existing member respectively. Weak members will drain your existing staff with tertiary problems while a new person who is too strong will disrupt the team with how everything they have done and are doing is wrong.
  • Have good communication skills
  • Be highly motivated (e.g. be able to work independently without prodding)
You can read the full answer here...
I experienced some of the points in the answer. Indeed, it takes long time to understand the code base, conventions, problem domain...etc of a running project, which can make a great waste of resources and time!!

Other answers mention The Mythical Man-Month. Which is:
a book on software project management by Fred Brooks, whose central theme is that "Adding manpower to a late software project makes it later." This idea is known as Brooks's law.
Follow the links above through the post, and enjoy! :)

No comments: