Coding matters: The even more mythical man-month

Cartoon image of a dragon breathing fire over a programmer, with a calendar in the foreground.

In 1975, Frederick Brooks wrote the first edition of his book, “The Mythical Man-Month”.

This is a classic on the topic of software project management. Many of the lessons he shared from his time as an IBM project manager are still valid.

Brooks’ law

Brooks’ law states that if you add more resources to a software project that is behind schedule, you will delay it even longer.

This is generally true. If you add new people to an existing project, it takes time for them to get up to speed. And with more people, you have more communication overhead.

The person-month

And then there is the fact that there are always limits to how much we can divide a task. This is the concept of the mythical man-month.

A man-month (or, to be PC, a person-month) is a hypothetical unit that represents the work done by one person in one month.

If it takes one person 10 months to write a piece of software, the amount of work is 10 people-months. But that doesn’t mean that if you have 10 people on the job, it will only take one month.

You can only divide a task so far. Years ago I watched a team of bricklayers build a long wall in 12 hours. There was a bricklayer every few meters, each with his own assistant to pass bricks and mortar. It would have taken one bricklayer much longer to do it alone. But more bricklayers would not have done it faster. Why? They would not have had space to move. And you can’t lay the next row of bricks before you have laid the previous row.

Project managers should know better

As a discipline, project management has been around for a long time. And some PM principles stay the same, whether you use Agile or Prince or any other approach.

So I am dismayed to still see so many memes and comments about poor PM choices. Like scope increases without schedule adjustments. And expecting overtime work as standard.

The Chat-GPT person-month

But it could be worse. Your manager could use ChatGPT to work out the schedule. I came across this recently on social media, and had to share it.

Prompt:

“If a software developer takes 365 days to write a piece of software, how many developers will it take to write that piece of software in 1 day?”

ChatGPT response:

“Assuming that the software developers takes 365 days to write a piece of software working alone, we can estimate the number of developers required to complete the same software in one day.

Let’s assume that the developer works full-time dedicating 8 hours per day to software development. Furthermore, we’ll consider that they spend the entire 8 hours each day actively coding without any interruptions or breaks.

365 days 8 hours/day = 2,920 hours of work*

If we want to complete the same amount of work in 1 day, we need to divide the total number of hours by the number of hours available in a single day:

2,920 total hours / 24 hours = 121.67 developers

Since we cannot have a fraction of a developer, we can round up the number to 122 developers. Therefore it would take approximately 122 developers working together for 8 hours to complete the piece of software in one day.”

The mythical person-month just got a whole lot shorter. While ChatGPT is amazing, please don’t use it for your Math homework.

I’d love to hear your comments on how many developers you think the project will take!

2 thoughts on “Coding matters: The even more mythical man-month”

  1. Birgit Smythe

    Hello! The Maths is perfect from ChatGPT. It just didn’t take into account that a man-day is only 8 hours. 🙂 And of course, other things we take for granted, like some things build on other things in coding. But again, from a Maths homework perspective it got a correct answer based on the information available 😀

    An example that I like for a task that cannot be made quicker if you put more people on a job, is that it takes 1 woman 9 months to grow a baby, but it definitely doesn’t take 9 people 1 month to make a baby 😉

  2. Incus Data Training for Programmers: Jacqui Coosner (Director)
    Jacqui Coosner

    I love the way ChatGPT starts with 8 hours a day, then moves to 24 hours a day, and then moves back to 8 hours a day. I could have called the post: “How long is a work day?” Clearly that depends on who is doing the work! 😂

Leave a Comment

Your email address will not be published. Required fields are marked *

Thank You

We're Excited!

Thank you for completing the form. We're excited that you have chosen to contact us about training. We will process the information as soon as we can, and we will do our best to contact you within 1 working day. (Please note that our offices are closed over weekends and public holidays.)

Don't Worry

Our privacy policy ensures your data is safe: Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

If you need any further information, please contact us on tel: (27) 12-666-2020 or email info@incusdata.com

How can we help you?

Let us contact you about your training requirements. Just fill in a few details, and we’ll get right back to you.