Blank raised important questions about productive programming environments that should be addressed. Software development is recognized as one of the most complex of the engineering disciplines. Complexity of requirements, interfaces, and internal structure also makes software development the most communication-intensive engineering discipline. Hence, the central issue in productivity improvement is effective and efficient software development communication. Projects large enough to require more than one programmer need physical, management, and technology environments that support communication.
Isolation creates more problems than benefits.
However, amortizing this coding efficiency improvement across the total development activity pales when compared to the impact of effective communication, motivation, and the use of development teams. Motivation and communication do not happen when programmers are isolated. I have collected commercial and military software project data over the past 20 years for software cost and schedule estimating tool development. No project with more than a half dozen programmers in isolated work areas captured in this database has approached the productivity levels achieved in an open, well-managed team environment. There is an important observation to be made from historic software project data.