"The Mythical Man-Month" is a famous book that may be known to any system engineers. I read this book when I was a university student, but I could realize what is written in it when I read it over again after some experience of system development.
- In program development "man" and "month" are not commutative because there are works whose order can not be changed, and communication cost.
- In order to develop an easy-to-use system, the completeness of its concept needs to be ensured by a few system architects.
- There is no "Silver Bullet" because software is essentially difficult, but the use of commercial products and incremental development are effective strategies.
Man-Month is adopted to works that is necessary for a project such as writing specs or coding. When it comes to the estimation of cost and duration, it is good to add costs for communication and additional documents to man-month according to the team size.
No one may believe that adding members will shorten the duration, but sometimes meeting a deadline may be necessary at any cost. (These are often because of the time to negotiate with concerned parties than the loss of market opportunity.)
In this situation, we have no choice but to assign another member to order independent and time-consuming works (testing or coding if detailed specs exist) If we can't still achieve the deadline, it is better to start negotiation with concerned parties.
Regarding the completeness of concept, the existence of a few great architects is the key as this book mentions. However these members are hard to find, so it is important to find ones who are young, clever, and motivated early, and to season and develop them.