Abstract
Fred Brooks' retelling of the biblical story of the Tower of Babel offers many insights into what makes building software difficult. The difficulty, according to common interpretations, comes from the communication and organizational problems in software development. But the story contains one more important lesson that people tend to miss: one cannot accomplish impossible goals, which programmers are often asked to do. Software engineering, as a discipline, can overcome poor communication; but as long as we attempt to live up to impossible expectations, we will always fail.
- }}--, Once And Only Once. Available at: http://c2.com/cgi/\\wiki?OnceAndOnlyOnce.Google Scholar
- }}--, What is 80/20 rule? Available at: http://www.80-20pre\\sentationrule.com/whatisrule.html.Google Scholar
- }}Kent Beck. Extreme Programming Explained: Embrace Change, Addison Wesley, 2000. Google Scholar
Digital Library
- }}T. Berners-Lee. The World Wide Web: A very short personal story. Available at: http://www.w3.org/People/Berners-Lee/ShortHistory.html.Google Scholar
- }}Fred P. Brooks. The Computer Scientist as a Toolsmith II, Communications of the ACM, March 1996. Google Scholar
Digital Library
- }}Fred P. Brooks. The Mythical Man-Month, Anniversary Edition, Addison Wesley, 1995. Google Scholar
Digital Library
- }}Fred P. Brooks. Three Great Challenges for Half-Century-Old Computer Science, Journal of the ACM. January 2003. Google Scholar
Digital Library
- }}Fred P. Brooks. The Design of Design: Essays from a Computer Scientist, Addison Wesley, 2010. Google Scholar
Digital Library
- }}Bush, V. As We May Think. The Atlantic Monthly, July 1945.Google Scholar
- }}Buxton, J. N. and B. Randell, eds. Software Engineering Techniques, April 1970, p. 21. Report on a conference sponsored by the NATO Science Committee, Rome, Italy, 27-31 October 1969.Google Scholar
- }}Cockburn A. and L. Williams. The Costs and Benefits of Pair Programming, Proceedings of eXtreme Programming and Flexible Processes in Software Engineering, XP2000.Google Scholar
- }}Connell, C. Software Engineering ` Computer Science, Dr. Dobb's High Performance Computing, June 04, 2009. Available at: http://www.drdobbs.com/hpc-high-performance-computing/217701907.Google Scholar
- }}Cusumano, M.A. Factory Concepts and Practices in Software Development: An {sic} Historical Overview. Working Paper #3095--89 BPS. Sloan School of Management, MIT, 1989.Google Scholar
- }}DeMarco, T. Software Engineering: An Idea Whose Time Has Come and Gone? IEEE Software, July/August 2009. Google Scholar
Digital Library
- }}Evans, E. Domain Driven Design: Tackling Complexity in the Heart of Software, Addison Wesley, 2004. Google Scholar
Digital Library
- }}Gamma, E., R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, 1994.Google Scholar
Digital Library
- }}George, A. R. The Tower of Babel: Archaeology, History and Cuneiform Texts Archiv fur Orientforschung, 51 (2005/2006). pp. 75--95. Available at: https://eprints.soas.ac.uk/3858/.Google Scholar
- }}Greenfield, J., K. Short, S. Cook, and S. Kent. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, 2004. Google Scholar
Digital Library
- }}Herbsleb, J. Beyond Computer Science, Proceedings of the 2005 (27th) International Conference on Software Engineering. Google Scholar
Digital Library
- }}Jackson, M. Problem Analysis Using Small Problem Frames, South African Computer Journal 22; Special Issue on WOFACS'98, pp47--60, 1999.Google Scholar
- }}Knuth, D. E. Computer programming as an art. Communications of the ACM. Volume 17, Issue 12 (December 1974). Google Scholar
Digital Library
- }}Knuth, D. E. Literate Programming. The Computer Journal. Volume 27(2), pp 97--111, 1984. Google Scholar
Digital Library
- }}Lamb, D. A. and K. A. Schneider. Formalization of information hiding design methods, CASCON '92: Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research. Google Scholar
Digital Library
- }}Mahoney, M. Software Evolution and the Moving Picture Metaphor, Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2009). Google Scholar
Digital Library
- }}McCullough, D. The Path Between the Seas: The Creation of the Panama Canal, 1870--1914. Simon & Schuster, First Edition, 1978.Google Scholar
- }}Mitchell, C. Guest View: The half-agile path leads nowhere. SD Times, March 15, 2010. Available at: http://www.sdtimes.com/GUEST VIEW THE HALF AGILE PATH LEADS NOWHERE/By CYNDI MITCHELL/About AGILE/34197.Google Scholar
- }}Naur, P. Programming as Theory Building, North Holland Publishing Company, Micropocessing and Microprogramming 15 (1985) 253--261.Google Scholar
Cross Ref
- }}Parnas, D. L. On the Criteria To Be Used in Decomposing Systems Into Modules, Communications of the ACM, Dec. 1972, Vol. 15, No. 12. Google Scholar
Digital Library
- }}Parnas, D. L. Software Aging, Invited Talk, International Conference on Software Engineering, 1994. Google Scholar
Digital Library
- }}Parnas, D. L. Software Engineering: An Unconsummated Marriage, Communications of the ACM, Sept. 1997, Vol. 40, No. 9. Google Scholar
Digital Library
- }}The Standish Group, CHAOS Summary 2004. Available at: http://www.softwaremag.com/L.cfm?doc=newsletter/2004-01-15/Standis.Google Scholar
- }}The Standish Group, CHAOS Summary 2009. Available at: http://www1.standishgroup.com/newsroom/chaos_2009.php.Google Scholar
- }}Waldo, J., G. Wyant, A. Wollrath and S. Kendall. A Note on Distributed Computing, Sun Microsystems Technical Report SMLI TR-94-29, November 1994. Google Scholar
Digital Library
Index Terms
The Tower of Babel did not fail
Recommendations
The Tower of Babel did not fail
OOPSLA '10: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsFred Brooks' retelling of the biblical story of the Tower of Babel offers many insights into what makes building software difficult. The difficulty, according to common interpretations, comes from the communication and organizational problems in ...
Software engineering research versus software development
Engineering research differs greatly, both in its aims and in its methods, from traditional "scientific" research. While Sciences deal with the study of existing objects and phenomena, be it physically, metaphysically or conceptually, Engineering is ...
Where's the Theory for Software Engineering?
Darwin's theory of natural selection, Maxwell's equations, the theory of demand and supply; almost all established academic disciplines place great emphasis on what their core theory is. This is not, however, the case in software engineering. What is ...







Comments