Rd. Banker et Sa. Slaughter, The moderating effects of structure on volatility and complexity in software enhancement, INF SYST R, 11(3), 2000, pp. 219-240
The cost of enhancing software applications to accommodate new and evolving
user requirements is significant. Many enhancement cost-reduction initiati
ves have focused on increasing software structure in applications. However,
while software structure can decrease enhancement effort by localizing dat
a processing, increased effort is also required to comprehend structure. Th
us, it is not clear whether high levels of software structure are economica
lly efficient in all situations. In this study, we develop a model of the r
elationship between software structure and software enhancement costs and e
rrors. We introduce the notion of software structure as a moderator of the
relationship between software volatility, total data complexity, and softwa
re enhancement outcomes. We posit that it is efficient to more highly struc
ture the more volatile applications, because increased familiarity with the
application structure through frequent enhancement enables localization of
maintenance effort. For more complex applications, software structure is m
ore beneficial than for less complex applications because it facilitates th
e comprehension process where it is most needed. Given the downstream enhan
cement benefits of structure for more volatile and complex applications, we
expect that the optimal level of structure is higher for these application
s. We empirically evaluate our model using data collected on the business a
pplications of a major mass merchandiser and a large commercial bank. We fi
nd that structure moderates the relationship between complexity, volatility
, and enhancement outcomes, such that higher levels of structure are more a
dvantageous for the more complex and more volatile applications in terms of
reduced enhancement costs and errors. We also find that more structure is
designed in for volatile applications and for applications with higher leve
ls of complexity. Finally, we identify application type as a significant fa
ctor in predicting which applications are more volatile and more complex at
our research sites. That is, applications with induction-based algorithms
such as those that support planning, forecasting, and management decision-m
aking activities are more complex and more volatile than applications with
rule-based algorithms that support operational and transaction-processing a
ctivities. Our results indicate that high investment in software quality pr
actices such as structured design is not economically efficient in all situ
ations. Our findings also suggest the importance of organizational mechanis
ms in promoting efficient design choices that lead to reduced enhancement c
osts and errors.