In Search of Efficient Flexibility: Effects of Software Component Granularity on Development Effort, Defects, and Customization Effort
Simultaneously achieving efficiency and flexibility in enterprise software production has been a considerable challenge for firms. Newer software development paradigms such as component-based and model-driven development attempt to overcome this challenge by emphasizing modular design of complex systems. However, there is a paucity of rigorous empirical research on the use of such software methodologies and the associated extent to which trade-offs between efficiency and flexibility can be influenced. Addressing this gap, we investigate the performance outcomes of a model-driven, component-based software development methodology using data collected from an enterprise software development firm that deployed such a methodology for its product development processes. Examining the design, development, and implementation of 92 business software components of the firm's enterprise resource planning product, we discuss how the design of software components, specifically component granularity, affects development efficiency (development effort and defects) and flexibility (customization effort). Our results suggest that (a) components that are coarse grained are associated with higher flexibility (lower customization effort) but are also associated with lower development efficiency (more development effort and defects), and (b) defect proneness of a component plays a mediating role on the relationship between component granularity and flexibility. These findings present strong evidence for the existence of trade-offs between efficiency and flexibility in mass-customized software product life cycles. They establish component granularity as a key design dimension that needs to be managed judiciously to enable potential trade-off shifting mechanisms through the use of software methodologies that emphasize modular design approaches.
modular design, model-driven development, component-based software development, efficiency, flexibility, complexity, component granularity, software engineering, project performance
Computer Sciences | Management Information Systems
Information Systems and Management
Information Systems Research
SUBRAMANYAM, Ramanath; RAMASUBBU, Narayanasamy; and Krishnan, M. S..
In Search of Efficient Flexibility: Effects of Software Component Granularity on Development Effort, Defects, and Customization Effort. (2012). Information Systems Research. 23, (3), 787-803. Research Collection School Of Information Systems.
Available at: http://ink.library.smu.edu.sg/sis_research/1473