A case for system dynamics
Faculty of Computing, Health and Science
School of Computer and Information Science
Engineering education provides a thorough and systematic training in the design, development, maintenance and management of complex technical systems. While such education provides the necessary technical depth to graduates, many technical systems are best understood from the perspective of human and socio-economic relationships. A case in point may be Fred Brooks’ law that states adding more developers to a late software engineering project will only make it even more behind schedule. Brooks’ law is based on the understanding that additional, new software engineering staff will need time to come up to speed with the project and in doing so will divert the existing developers from their primary tasks. While Brooks’ law is intuitively appealing, students and practicing software engineers really have no way of testing its efficacy in their particular situations. A tool to overcome this difficulty may be system dynamics. System dynamics is a systems thinking methodology for building quantitative and qualitative models of complex situations so that they can ultimately be better understood and managed. Accordingly, it can be argued, that system dynamics should be an essential part of the education of engineers from most, if not all, of the major disciplines.