Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code

Published Online:https://doi.org/10.1287/mnsc.1060.0552

References

  • Austin S. A., Baldwin A. N., Newton A. Manipulating the flow of design information to improve the programming of building design. Construction Management Econom (1994) 12(5):445–455CrossrefGoogle Scholar
  • Baldwin C. Y., Clark K. B.Design Rules: The Power of Modularity (2000) (MIT Press, Cambridge, MA) CrossrefGoogle Scholar
  • Banker R. D., Slaughter S. A. The moderating effects of structure on volatility and complexity in software enhancement. Inform. Systems Res. (2000) 11(3):219–240LinkGoogle Scholar
  • Black T. A., Fine C. H., Sachs E. M. A method for systems design using precedence relationships: An application to automotive brake systems. (1990) . Working Paper 3208, Sloan School of Management, MIT, Cambridge, MAGoogle Scholar
  • Cusumano M., Yoffie D.Competing on Internet Time (1998) (Free Press, New York) Google Scholar
  • Dellarocas C. D. A coordination perspective on software architecture: Towards a design handbook for integrating software components. (1996) . Ph.D. thesis, MIT, Cambridge, MAGoogle Scholar
  • Dhama H. Quantitative models of cohesion and coupling in software. J. Systems Software (1995) 29:65–74CrossrefGoogle Scholar
  • Dibona C., Ockman S., Stone M., Dibona C., Ockman S., Stone M.Open Sources: Voices from the Open Source Revolution (1999) (O’Reilly and Associates, Sebastopol, CA) Google Scholar
  • Eick S., Graves T. L., Karr A. F., Marron J. S., Mockus A. Does code decay? Assessing the evidence from change management data. IEEE Trans. Software Engrg. (2001) 27(1):1–12CrossrefGoogle Scholar
  • Eppinger S. D., Whitney D. E., Smith R. P., Gebala D. A model based method for organizing tasks in product development. Res. Engrg. Design (1994) 6(1):1–13CrossrefGoogle Scholar
  • Fernandez C. I. G. Integration analysis of product architecture to support effective team co-location. (1998) . Masters thesis, Sloan School of Management, MIT, Cambridge, MAGoogle Scholar
  • Fleming L., Sorenson O. Science as a map in technological search. Strategic Management J. (2004) 25:909–928CrossrefGoogle Scholar
  • Garlan M., Shaw D.Software Architecture: Perspectives on an Emerging Discipline (1996) (Prentice Hall, New York) Google Scholar
  • Godfrey M., Tu Q. Evolution in open source software: A case study. Proc. 16th IEEE Internat. Conf. Software Maintenance (2000) IEEE, Los Alamitos, CAGoogle Scholar
  • Gomes P. J., Joglekar N. R. The costs of coordinating distributed software development tasks. (2004) . Working paper, School of Management, Boston University, Boston, MAGoogle Scholar
  • Grose D. L. Reengineering the aircraft design process. Proc. 5th AIAA/USAF/NASA/ISSMO Sympos. Multidisciplinary Anal. Optim., Panama City Beach, FL (1994) Google Scholar
  • Healy K., Schussman A. The ecology of open-source software development. (2003) . Working paper, University of Arizona, Tucson, AZGoogle Scholar
  • Henderson R., Clark K. B. Architectural innovation: The reconfiguration of existing product technologies and the failure of established firms. Admin. Sci. Quart. (1990) 35(1):9–30CrossrefGoogle Scholar
  • Idicula J. Planning for concurrent engineering. (1995) . Research report, Gintic Institute, SingaporeGoogle Scholar
  • Kusiak A., Larson N., Wang J. Reengineering of design and manufacturing processes. Comput. Indust. Engrg. (1994) 26(3):521–536CrossrefGoogle Scholar
  • Lopes C. V., Bajracharya S. K. An analysis of modularity in aspect oriented design. Proc. 4th Internat. Conf. Aspect-Oriented Software Development (2005) Chicago, IL:15–26Google Scholar
  • MacCormack A. D. Product-development practices that work: How Internet companies build software. Sloan Management Rev. (2001) 42(2):75–84Google Scholar
  • MacCormack A., Herman K. Red Hat and the Linux revolution. (2000a) . HBS Case 600-009, Harvard Business School, Boston, MAGoogle Scholar
  • MacCormack A., Herman K. Microsoft Office 2000. (2000b) . HBS Case 600-023, Harvard Business School, Boston, MAGoogle Scholar
  • Marples D. L. The decisions of engineering design. IEEE Trans. Engrg. Management (1961) 8(2):55–71Google Scholar
  • Mockus A., Fielding R. T., Herbsleb J. D. Two case studies of open source software development: Apache and Mozilla. ACM Trans. Software Engrg. Methodology (2002) 11(3):309–346CrossrefGoogle Scholar
  • Murphy G. C., Notkin D., Griswold W. G., Lan E. S. An empirical study of static call graph extractors. ACM Trans. Software Engrg. Methodology (1998) 7(2):158–191CrossrefGoogle Scholar
  • Offutt A. J., Harrold M. J., Koltee P. A. A software metric sytem for module coupling. J. Systems Software (1993) 20:295–308CrossrefGoogle Scholar
  • O’Reilly T. Lessons from open source software development. Comm. ACM (1999) 42(4):33–37CrossrefGoogle Scholar
  • Parnas D. L. On the criteria to be used in decomposing systems into modules. Comm. ACM (1972) 15(12):1053–1058CrossrefGoogle Scholar
  • Paulson J. W., Succi G., Eberlein A. An empirical study of open-source and closed-source software products. IEEE Trans. Engrg. (2004) 30(4):246–256CrossrefGoogle Scholar
  • Pimmler T. U., Eppinger S. D. Integration analysis of product decompositions. Proc. ASME Sixth Internat. Conf. Design Theory Methodology (1994) ASME, New YorkGoogle Scholar
  • Pinkett R. Product development process modeling and analysis digital wireless telephones. (1998) . Masters thesis. MIT, Cambridge, MAGoogle Scholar
  • Raymond E. S.The Cathedral and the Bazaar (2001) (O’Reilly and Associates, Sebastopol, CA) Google Scholar
  • Rivkin J., Siggelkow N. Patterned interactions in complex systems: Implications for exploration. Management Sci. (2005) . ForthcomingGoogle Scholar
  • Rusnak J. The design structure analysis system. (2005) . Doctoral dissertation, Harvard University, Boston, MAGoogle Scholar
  • Rusovan S., Lawford M., Parnas D., Feller J., Fitzgerald B., Hissam S. A., Lakhani K. R. Open source software development: Future or fad? Perspectives on Free and Open Source Software (2005) (MIT Press, Cambridge, MA) Google Scholar
  • Sanchez R., Mahoney J. T. Modularity, flexibility, and knowledge management in product and organization design. Strategic Management J. (1996) 17:63–76CrossrefGoogle Scholar
  • Sanderson S., Uzumeri M. Managing product families: The case of the Sony Walkman. Res. Policy (1995) 24(5):761–782CrossrefGoogle Scholar
  • Sangal N., Jordan E., Sinha V., Jackson D. Using dependency models to manage complex software architecture. Proc. 20th Annual ACM Conf. Object-Oriented Programming, Systems, Languages, Appl. (2005) ACM, New YorkGoogle Scholar
  • Schach S. R., Jin B., Wright D. R., Heller G. Z., Offutt A. J. Maintainability of the Linux Kernel. IEE Proc. Software (2002) Vol. 149IEE, Washington, D.C.:18–23Google Scholar
  • Schilling M. A. Toward a general modular systems theory and its application to interfirm product modularity. Acad. Management Rev. (2000) 25(2):312–334CrossrefGoogle Scholar
  • Selby R., Basili V. Analyzing error-prone system coupling and cohesion. (1988) . Technical Report UMIACS-TR-88-46, CS-TR-2052, University of Maryland Computer Science, College Park, MDGoogle Scholar
  • Sharman D., Yassine A. Characterizing complex product architectures. Systems Engrg. J. (2004) 7(1):35–60CrossrefGoogle Scholar
  • Shaw M., Garlan D.Software Architecture: Perspectives on an Emerging Discipline (1996) (Prentice Hall, New York) Google Scholar
  • Simon H. A. The architecture of complexity. Proc. Amer. Philos. Assoc. (1962) 106:467–482Google Scholar
  • Sosa M. E., Eppinger S. D., Rowles C. M. Identifying modular and integrative systems and their impact on design team interactions. ASME J. Mech. Design (2003) 125:240–252CrossrefGoogle Scholar
  • Sosa M. E., Eppinger S. D., Rowles C. M. The misalignment of product architecture and organizational structure in complex product development. Management Sci. (2004) 50(12):1674–1689LinkGoogle Scholar
  • Spear S., Bowen K. H. Decoding the DNA of the Toyota production system. Harvard Bus. Rev. (1999) September–October):96–106Google Scholar
  • Steward D. V. The design structure system: A method for managing the design of complex systems. IEEE Trans. Engrg. Management (1981) 28:71–74CrossrefGoogle Scholar
  • Sullivan K. J., Griswold W. G., Cai B. J., Hallen B. The structure and value of modularity in software design. Proc. Joint Eur. Software Engrg. Conf./Foundations Software Engrg. (2001) ACM, New YorkGoogle Scholar
  • Thebeau R. E. Knowledge management of system interfaces and interactions for product development processes. (2001) . Masters thesis, MIT, Cambridge, MAGoogle Scholar
  • Ulrich K. T. The role of product architecture in the manufacturing firm. Res. Policy (1995) 24:419–440CrossrefGoogle Scholar
  • von Hippel E. Task partitioning: An innovation process variable. Res. Policy (1990) 19:407–418CrossrefGoogle Scholar
  • von Hippel E., von Krogh G. Open source software and the “private-collective” innovation model: Issues for organizational science. Organ. Sci. (2003) 14(2):209–223LinkGoogle Scholar
  • Warfield J. N. Binary matricies in system modeling. IEEE Trans. Systems, Management, Cybernetics (1973) 3:441–449CrossrefGoogle Scholar
  • Yu L., Schach S. R., Chen K., Heller G. Z., Offutt J. Maintainability of the kernels of open-source operating systems: A comparison of Linux with FreeBSD, NetBSD, and OpenBSD. J. Systems Software (2006) . ForthcomingGoogle Scholar
INFORMS site uses cookies to store information on your computer. Some are essential to make our site work; Others help us improve the user experience. By using this site, you consent to the placement of these cookies. Please read our Privacy Statement to learn more.