In Search of Efficient Flexibility: Effects of Software Component Granularity on Development Effort, Defects, and Customization Effort

In Search of Efficient Flexibility: Effects of Software Component Granularity on Development Effort, Defects, and Customization Effort

0.00 Avg rating0 Votes
Article ID: iaor20125671
Volume: 23
Issue: 3-Part-1
Start Page Number: 787
End Page Number: 803
Publication Date: Sep 2012
Journal: Information Systems Research
Authors: , ,
Keywords: management
Abstract:

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.

Reviews

Required fields are marked *. Your email address will not be published.