This post is part of a series of posts with my personal notes about the chapters in the book “The mythical man-month” by Frederick P. Brooks. I write these posts as I read through the book, and take notes on the concepts I find more relevant. I do, however, advise reading the book to get the full benefit out of it.
This chapter deals with estimations, which still are somewhat of a problem nowadays…
How can we make estimations?
The first thing to recognize is what can influence the time a program can take to build:
- The coding is only 1/6 of the project;
- We need to add planning, documentation, testing, system integration and training;
- Effort (man-months) grows as an exponent of the numbers od instructions event whet ni communication is involved except a man and his memories.
Studies show an exponent of 15:
effort = constant * (number of instructions)^15
- Programming time can be as low as 50% of the programming week. The remaining time ends up being taken by machine downtime, short higher priority unrelated jobs, meetings, paperwork, company business, sickness, personal time, etc..
- The amount of interactions needed between developers also plays a relevant role:
- Very few interactions -> 10.000 instructions per man-year;
- Some interactions -> 5.000 instructions per man-year;
- Many interactions -> 1.500 instructions per man-year.
(measures in 9 projects, prior to 1974, with more than 25 developers)
- Productivity can grow as much as 5 times when using high-level languages.
2 thoughts on “8. Calling the shot”
I just wanted to tell you that i stumbled into your blog while searching about Hexagonal architecture (great post) and saved it somewhere deep. Today i was looking into old bookmarks and found your blog again. I didn’t know that you post so often. Practically all topics are perfectly fitting my interests (I’m senior dev interested in architecture).
Just wanted to thank you for your good work and sharing the knowledge. Your blog is now on my main bookmark bar.
Thanks, i really appreciate it.
It really motivates me to keep posting stuff 🙂