The Mythical Man Month is a classic book on software engineering by Fred Brooks. The book is often cited as being the only book you ever need to read on software engineering. If you're going to commission a large software project then the information within this book is invaluable.
Brooks developed his theories of software engineering while working at IBM. At the time it was common practice when planning software development projects to assume that a given job took a given amount of man-months to complete. For example a 12 man-month job could be completed in 12 months by one man, and therefore it could be completed in 6 months by two men and so on.
Following on from this belief it was generally considered that if a software project was running late the way to get it back on schedule was to add more manpower to job. Brooks' observation based on a wide range of projects that he managed at IBM was that in fact the opposite was true. This is summed up by Brooks's Law: Adding manpower to a late software project makes it later. The idea of a man-month, a unit of work that can be completed in one month by one man is a myth - and hence the title of the book.
Brooks's Law was arrived at empirically, via observation of projects he worked on, however the book goes on to explore the underlying reasons for the law. The central reason is that a programming task of any significant complexity cannot be perfectly partitioned into discrete tasks that can then be worked on and solved by individuals working in isolation. In other words beyond a certain number of workers on any task, the amount of communication and coordination required between the workers starts to increase exponentially.
A secondary reason for Brooks's Law is that as more workers are added to a software project the amount of time required to get workers up to speed on the state of the project also increases. This is because of the unique nature of individual software projects. Unlike many engineering projects which tend to follow variations on well trodden patterns and themes, the rate of development within the software industry means most projects involve new tools, technologies or design principles which will not be immediately familar to all developers.
A wide range of software development techniques have been developed over the years to try to counter the issues raised by The Mythical Man Month. You may hear phrases such as RAD, Waterfall, Agile etc when discussing software development projects. All of these techniques aim to minimise the risk associated with developing software in different ways. We may look at how some of these work in future posts.
The Mythical Man-month: Essays on Software Engineering by Frederick P. Brooks Jr.
Does your website take advantage of Google's latest trend, the +1? If you have a website and you want to maximise your traffic you might want to start thinking about whether you should be implementing the +1. Since Google came
Webfuel are pleased to announce our partnership with Olark, for live customer chat. By integrating your website with Olark you can chat in real time with your website visitors. One of the biggest factors in website bounce rates, particularly e-commerce
There is loads of advice online when it comes to making more sales from your ecommerce website. The biggest mistake any budding web entrepreneur can make is to assume that just by putting a site online you will gain visitors
Online stores are heavily reliant on organic traffic when it comes to driving sales. As SEO becomes increasingly multifaceted, the scope of ‘doing ecommerce SEO’ widens — now including disciplines like content marketing, digital PR, and UX (user-experience). Here are