Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code
Published Online:1 Jul 2006https://doi.org/10.1287/mnsc.1060.0552
References
- Manipulating the flow of design information to improve the programming of building design. Construction Management Econom (1994) 12(5):445–455Crossref, Google Scholar
- Design Rules: The Power of Modularity (2000) (MIT Press, Cambridge, MA) Crossref, Google Scholar
- The moderating effects of structure on volatility and complexity in software enhancement. Inform. Systems Res. (2000) 11(3):219–240Link, Google Scholar
- 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
- Competing on Internet Time (1998) (Free Press, New York) Google Scholar
- A coordination perspective on software architecture: Towards a design handbook for integrating software components. (1996) . Ph.D. thesis, MIT, Cambridge, MAGoogle Scholar
- Quantitative models of cohesion and coupling in software. J. Systems Software (1995) 29:65–74Crossref, Google Scholar
- , Dibona C., Ockman S., Stone M.Open Sources: Voices from the Open Source Revolution (1999) (O’Reilly and Associates, Sebastopol, CA) Google Scholar
- Does code decay? Assessing the evidence from change management data. IEEE Trans. Software Engrg. (2001) 27(1):1–12Crossref, Google Scholar
- A model based method for organizing tasks in product development. Res. Engrg. Design (1994) 6(1):1–13Crossref, Google Scholar
- Integration analysis of product architecture to support effective team co-location. (1998) . Masters thesis, Sloan School of Management, MIT, Cambridge, MAGoogle Scholar
- Science as a map in technological search. Strategic Management J. (2004) 25:909–928Crossref, Google Scholar
- Software Architecture: Perspectives on an Emerging Discipline (1996) (Prentice Hall, New York) Google Scholar
- Evolution in open source software: A case study. Proc. 16th IEEE Internat. Conf. Software Maintenance (2000) IEEE, Los Alamitos, CAGoogle Scholar
- The costs of coordinating distributed software development tasks. (2004) . Working paper, School of Management, Boston University, Boston, MAGoogle Scholar
- Reengineering the aircraft design process. Proc. 5th AIAA/USAF/NASA/ISSMO Sympos. Multidisciplinary Anal. Optim., Panama City Beach, FL (1994) Google Scholar
- The ecology of open-source software development. (2003) . Working paper, University of Arizona, Tucson, AZGoogle Scholar
- Architectural innovation: The reconfiguration of existing product technologies and the failure of established firms. Admin. Sci. Quart. (1990) 35(1):9–30Crossref, Google Scholar
- Planning for concurrent engineering. (1995) . Research report, Gintic Institute, SingaporeGoogle Scholar
- Reengineering of design and manufacturing processes. Comput. Indust. Engrg. (1994) 26(3):521–536Crossref, Google Scholar
- An analysis of modularity in aspect oriented design. Proc. 4th Internat. Conf. Aspect-Oriented Software Development (2005) Chicago, IL:15–26Google Scholar
- Product-development practices that work: How Internet companies build software. Sloan Management Rev. (2001) 42(2):75–84Google Scholar
- Red Hat and the Linux revolution. (2000a) . HBS Case 600-009, Harvard Business School, Boston, MAGoogle Scholar
- Microsoft Office 2000. (2000b) . HBS Case 600-023, Harvard Business School, Boston, MAGoogle Scholar
- The decisions of engineering design. IEEE Trans. Engrg. Management (1961) 8(2):55–71Google Scholar
- Two case studies of open source software development: Apache and Mozilla. ACM Trans. Software Engrg. Methodology (2002) 11(3):309–346Crossref, Google Scholar
- An empirical study of static call graph extractors. ACM Trans. Software Engrg. Methodology (1998) 7(2):158–191Crossref, Google Scholar
- A software metric sytem for module coupling. J. Systems Software (1993) 20:295–308Crossref, Google Scholar
- Lessons from open source software development. Comm. ACM (1999) 42(4):33–37Crossref, Google Scholar
- On the criteria to be used in decomposing systems into modules. Comm. ACM (1972) 15(12):1053–1058Crossref, Google Scholar
- An empirical study of open-source and closed-source software products. IEEE Trans. Engrg. (2004) 30(4):246–256Crossref, Google Scholar
- Integration analysis of product decompositions. Proc. ASME Sixth Internat. Conf. Design Theory Methodology (1994) ASME, New YorkGoogle Scholar
- Product development process modeling and analysis digital wireless telephones. (1998) . Masters thesis. MIT, Cambridge, MAGoogle Scholar
- The Cathedral and the Bazaar (2001) (O’Reilly and Associates, Sebastopol, CA) Google Scholar
- Patterned interactions in complex systems: Implications for exploration. Management Sci. (2005) . ForthcomingGoogle Scholar
- The design structure analysis system. (2005) . Doctoral dissertation, Harvard University, Boston, MAGoogle Scholar
- , 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
- Modularity, flexibility, and knowledge management in product and organization design. Strategic Management J. (1996) 17:63–76Crossref, Google Scholar
- Managing product families: The case of the Sony Walkman. Res. Policy (1995) 24(5):761–782Crossref, Google Scholar
- Using dependency models to manage complex software architecture. Proc. 20th Annual ACM Conf. Object-Oriented Programming, Systems, Languages, Appl. (2005) ACM, New YorkGoogle Scholar
- Maintainability of the Linux Kernel. IEE Proc. Software (2002) Vol. 149IEE, Washington, D.C.:18–23Google Scholar
- Toward a general modular systems theory and its application to interfirm product modularity. Acad. Management Rev. (2000) 25(2):312–334Crossref, Google Scholar
- 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
- Characterizing complex product architectures. Systems Engrg. J. (2004) 7(1):35–60Crossref, Google Scholar
- Software Architecture: Perspectives on an Emerging Discipline (1996) (Prentice Hall, New York) Google Scholar
- The architecture of complexity. Proc. Amer. Philos. Assoc. (1962) 106:467–482Google Scholar
- Identifying modular and integrative systems and their impact on design team interactions. ASME J. Mech. Design (2003) 125:240–252Crossref, Google Scholar
- The misalignment of product architecture and organizational structure in complex product development. Management Sci. (2004) 50(12):1674–1689Link, Google Scholar
- Decoding the DNA of the Toyota production system. Harvard Bus. Rev. (1999) September–October):96–106Google Scholar
- The design structure system: A method for managing the design of complex systems. IEEE Trans. Engrg. Management (1981) 28:71–74Crossref, Google Scholar
- The structure and value of modularity in software design. Proc. Joint Eur. Software Engrg. Conf./Foundations Software Engrg. (2001) ACM, New YorkGoogle Scholar
- Knowledge management of system interfaces and interactions for product development processes. (2001) . Masters thesis, MIT, Cambridge, MAGoogle Scholar
- The role of product architecture in the manufacturing firm. Res. Policy (1995) 24:419–440Crossref, Google Scholar
- Task partitioning: An innovation process variable. Res. Policy (1990) 19:407–418Crossref, Google Scholar
- Open source software and the “private-collective” innovation model: Issues for organizational science. Organ. Sci. (2003) 14(2):209–223Link, Google Scholar
- Binary matricies in system modeling. IEEE Trans. Systems, Management, Cybernetics (1973) 3:441–449Crossref, Google Scholar
- Maintainability of the kernels of open-source operating systems: A comparison of Linux with FreeBSD, NetBSD, and OpenBSD. J. Systems Software (2006) . ForthcomingGoogle Scholar

