MIS 9003 – Prof. Min-Seok Pang

Week 05 – System Development

Week 5_Grewal et al.(2006)_Yiran

This paper examined the effects of network embeddedness—or the nature of the relationship among projects and developers—on the success of open source projects. The key of understanding this paper lies in knowing how authors operationalize the key concepts, social capital and network embeddedness. They view social capital as the relations among developers, including project managers, and projects that provide developers access to information and (perhaps) embedded resources. In this paper, they refer the effect of social capital as network embeddedness. The term “network embeddedness” was used to to capture the architecture of network ties, and then three sub-constructs are defined to represent network embeddedness, i.e., structural, junctional, and positional embeddedness. Specifically, they used degree centrality—the number of projects in which the manager participates—to operationalize structural embeddedness, betweenness centrality—the number of paths between other nodes on which the manager lies—to operationalize junctional embeddedness, and eigenvector centrality—the manager participates in important projects—to operationalize positional embeddedness.

The author argued that high-quality information should be more useful in newer projects, and the value of project manager embeddedness should decline as projects age. In this case, Technical success was measured as the number of concurrent versioning system (CVS) commits. With respect to commercial success of the project, since project network embeddedness would facilitate the dissemination of this information. they assumed that the valence of the salient reputation dimension is positive (negative), word of mouth should increase (decrease) the commercial success of the project. Thus, project network embeddedness can have a positive or a negative effect on commercial project success. Commercial success was  measured by the number of downloads over the life of a project.

Latent class regression analysis was used to show that multiple regimes exist and that some of the effects of network embeddedness are positive under some regimes and negative under others. The result confirmed that considerable heterogeneity exists in the network embeddedness of open source projects and project managers. Overall, the results for the effects of embeddedness are much stronger for technical success than for commercial success, implying that network embeddedness has a greater role to play in technical success than in commercial success.

Theoretically, this paper recognized that the effect of network embeddedness varies with the dependent variable, i.e., technical or commercial project success. Managerially, the results showed that projects with more developers see greater technical success in the later stages of project development, i.e., as the projects age.

Week5_Bank and Slaughter (2000)_Xinyu

Banker and Slaughter (2000) initiates an effort to study the link between software design decisions and software enhancement outcomes. They examine under what conditions software structure is more beneficial than other conditions in terms of reduced enhancement costs and errors.

In specific, they introduce software structure as a moderator of the relationship between software enhancement outcomes and two properties of software, namely software volatility (the frequency of enhancement per unit of functionality) and total data complexity (the number of data elements per unit of functionality). While software volatility and total data complexity are proposed to be positively associated with software enhancement outcomes for intuitive reasons, higher levels of software structure are proposed to mitigate those impacts on the enhancement outcomes. This is because structured software allows maintainer to focus particular issues on only the particular parts after getting familiar with the software through the practice of frequent enhancement, and structured software can be easily simplified by structural decomposition, thus the enhancement costs and errors will be reduced. However, since excessively high levels of structure are also redundant and problematic, the paper also discusses optimal levels of structure for different types of software applications.

The empirical results confirm that higher levels of structure are more advantageous for software with higher volatility and complexity, in terms of reducing enhancement costs and errors. Empirical evidence also shows that the optimal level of structure increases with software volatility and complexity. Finally, the paper identifies application type as an indicator for predicting future volatility and complexity, so that an optimal level of structure can be achieved at an early stage.

Week5_Krishnan et al. (2000)_Vicky Xu

An Empirical Analysis of Productivity and Quality in Software Products

Most of prior empirical research on software maintenance has not been able to provide answers to problems related to cost overrun since productivity and quality modeling efforts have often considered either the productivity or the quality. And empirical evidence on the effect of process factors is mostly restricted to case studies and experience reports of a few projects.

Krishnan et al. (2000) fill this void by examining the relationship between life-cycle productivity and conformance quality in software products. Krishnan et al. (2000) address the research questions as following:

  1. What is the trade-off between quality and life-cycle productivity?
  2. What are the effects of the development process on life-cycle productivity and quality?
  3. Does up-front resource deployment pay off?
  4. What are the effects of development resources on productivity and quality?

The conceptual elements of the research model in this paper (is shown in Figure 1., p. 748) as the following diagram:

f1

Krishnan et al. (2000) collected data on commercial software projects of a leading vendor. Then, Krishnan et al. (2000) consider the software process areas specified in the Capability Maturity Model (CMM) that are relevant to software productivity and quality, and consider alternate specifications (linear versus nonlinear) for the relationship between various explanatory variables and quality or life-cycle productivity. And the estimation procedures include OLS, SUR, and 2SLS.

Krishnan et al. (2000) find: (1) Evidence for both direct and indirect (through quality improvement) effects of personnel capability on software development and maintenance productivity. (2) Investments in the early stages of software development improve quality. (3) Several quality drivers in software products.

Three main contributions of this paper are: (1) Developing models for software life-cycle productivity that include both development and maintenance costs. (2) The models can capture the effect of the software development process measured at the project level based on the practices specified in CMM key process areas on life-cycle productivity and quality. (3) Studying the effect of front-end investment in product development on conformance quality. (4) Validating the proposed models by using primary data on system software projects of a large commercial software developer.

 

Week 5_Ramasubbu and Kemerer (2015)_Jung Kwan Kim

Ramasubbu and Kemerer (2015) examine the technical debt and the interdependency between client and vendor maintenance activities. Their analysis reveals that there do exist the dynamics of technical debts reduction and its impact on the reliability of commercial-off-the-shelf (COTS) systems.

 

One of the fundamental findings is that technical debt is “associated with an increase in the probability of a system failure” because it increasingly deteriorates knowledge asymmetry between vendors and clients. Modular maintenance by clients ameliorates the reliability of a system through reducing the errors due to clients more than architectural maintenance does mainly because details in architectural knowledge of a system are not well disseminated to clients’ software teams. Interestingly, modular maintenance is more likely to increase the probability of system failure due to vendor errors than architectural maintenance is. This contrasting findings is supported by the fact that modular maintenance by clients may not consider the overall architectural structure of a system, leading to conflicts with a new version of the system or a vendor-driven platform updates.

 

The empirical contributions of Ramasubbu and Kemerer (2015) deserve highlighting. The newly devised competing risks analysis shows the different impact of the trade-off relationship between modular and architectural maintenance on vendor vs. client errors. Mediation analysis clearly shows the mediating impact of technical debt between each type of maintenance and system failure due to client errors. The analysis is useful to present the existence of “benefit zone” out of the trade-off effect, suggesting that discretionary decision on maintenance should be employed.

Week5_Subramanyam et al (2012)_Xue Guo

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

This paper mainly examines the relationship between software component design dimensions and software development outcomes in the context of model-driven, component-based software development (MDCD). It explores how different software design dimensions affect the trade-off between efficiency and flexibility.

The authors proposed that component granularity design (fine-grained & coarse-grained) decision plays an important role in the relationship between realized development efficiency and flexibility, i.e. the coarse-grained component would be associated with greater flexibility but less efficiency. The paper also proposes that mediating effect of in-process defects between component granularity and the development and customization efforts.

This paper empirically tests the effects of component granularity on development efficiency and flexibility from a sample of 92 data. The empirical models contain three dependent variables: in-process defects, development effort and customization effort. And the main independent variables include three measures of the component granularity: data elements, data layer interfaces and internal interfaces. The paper uses three-stage least squares regressions (3SLS) to address the simultaneity among certain measures and seemingly unrelated regression (SUR) to examine consistency of results. And it tests the hypothesis by conducting join tests for three measures of the component granularity. The empirical results support all of the author previous hypothesis.

The contribution of this paper is that it provides three measures of component granularity which match with the generic structural complexity dimensions and empirically establish the importance of component granularity design decision on the trade-offs between efficiently and flexibility.

Week5_Subramanyam et al. (2012)_Aaron

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

The trade-off between efficiency and flexibility in enterprise software production poses a big challenge for firms. New software development paradigms emphasize modular design of complex systems to overcome such challenge. However, there remains little understanding on the use of such software methodologies and associated extent to such trade-offs that can be influenced.

Subramanyam et al. (2012) addressed this gap by investigating the performance outcomes of a model-driven, component-based software development methodology. Specifically, they discuss how a design characteristics of software components, component granularity (with sub-dimensions of code volume, functionality and independence), affects development efficiency (development effort and in-process defects) and flexibility (customization effort).

To test such effects, they utilized a cross-sectional dataset that covers the software development information about 92 business software components of a firm’s enterprise resource planning product. Through 3SLS and SUR analysis, they found that coarse grained components are associated with higher flexibility but are associated with lower development efficiency. Moreover, they found that defects partially mediate the relationship between component granularity and flexibility.

The key implication from this study for software managers and designers who seeks to adopt modular design approaches is that active and judicious management of component granularity resulting from the decomposition of complex enterprise systems is necessary to simultaneously achieve flexibility and efficiency in software development.

Week5_Grewal et al.(2006)_Yaeeun Kim

This article examined the effects of network embeddedness on the success of open source projects. The authors assume heterogeneity and investigated how these structure differ across project and managers. They showed that there is significant effect of network embeddedness on technical and commercial success. By using latent class regression analysis, they showed that different aspects of network embeddedness have powerful but subtle effects on project success. In this case, the valence of word-of-mouth (WOM) decides the success (the number of page view or downloads).

According to the social contagion, positive WOM within the network of users would result in more users visiting the project websites (externality), and leads to commercial success. However, they assume that negative WOM would make a decrease in outcome (or the number of downloads).

The result shows that project network embeddedness positively influences project technical success, while the effect of project manager network embeddedness is more complex and different for older projects when compared with younger project. They used centrality for method: degree centrality is the number of projects in which the manager participates (structural embeddedness), betweenness centrality is the number of paths between other nodes on which the manager lies (junctional embeddedness), and eigenvector centrality is the manager participates in important projects (positional embeddedness).

In summary, the article shows that the effect of project network embeddedness positively influenced project technical success. However, the effect of project manager network embeddedness varies in the year of project. As a result, the network embeddedness was more influential to technical success, which were attractive to developers visually, but the influence was less powerful in commercial success, which were less visible to users.

Week 5 Ada—Ramasubbu and Kemerer (2015)

Technical Debt and the Reliability of Enterprise Software Systems:

A Competing Risks Analysis

Key Concept:

Technical Debt: Taking design shortcuts and other maintenance activities software organizations incur what has been referred to as technical debt, that is, accumulated maintenance obligations that must be addressed in the future

Motivation:

Technical debt reduction in an enterprise software systems environment is difficult, and maintenance of such systems is especially challenging because of the interdependencies and potential for conflict between the underlying, vendor-supplied platform and the customization done by individual clients. These interdependencies make it difficult to measure and assess the impact of technical debt on system reliability and therefore to plan the software maintenance activities necessary to reduce the debt.

Research Question:

  • Model and empirically analyze the impact of technical debt on system reliability.
  • Examine the relative effects of modular and architectural maintenance activities undertaken by clients in order to analyze the dynamics of technical debt reduction.

Main Findings:

  • Technical debt decreases the reliability of enterprise systems.
  • Modular maintenance targeted to reduce technical debt was about 53% more effective than architectural maintenance in reducing the probability of a system failure due to client errors.
  • Modular maintenance had the side-effect of increasing the chance of a system failure due to vendor errors by about 83% more than did architectural maintenance activities.

Contributions:

  • This study empirically measure the technical debt accumulated in real world enterprise software and to assess its dynamic impact on system reliability.
  • They address this challenge by utilizing a competing risks analysis approach that account for event-specific hazards that impact the failure of enterprise software systems.
  • They utilize the empirical results to illustrate how firms could evaluate their business risks exposure due to technical debt accumulation in their enterprise systems and assess the likely effects, both positive and negative, of a range of software maintenance practices.

Competing risks:

Competing-risks survival regression provides a useful alternative to Cox regression in the presence of one or more competing risks. For example, say that you are studying the time from initial treatment for cancer to recurrence of cancer in relation to the type of treatment administered and demographic factors. Death is a competing event: the person under treatment may die, impeding the occurrence of the event of interest, recurrence of cancer. Unlike censoring, which merely obstructs you from viewing the event, a competing event prevents the event of interest from occurring altogether, and your analysis should adjust accordingly. As a technical consequence, an individual observed to fail from a competing risk is assumed to still be at risk between its real-life failure time and its potential future censoring time.

This fact has two important implications. First, the naïve Kaplan–Meier that takes the competing events as censored observations, is biased. Secondly, the way in which covariates are associated with the cause-specific hazards may not coincide with the way these covariates are associated with the cumulative incidence.

A complete understanding of the event dynamics requires that both cause-specific and sub-distribution hazards to be analyzed. The difference between cause-specific and sub-distribution hazards is the risk set. For the cause-specific hazard the risk set decreases each time there is a death from another cause censoring. With the sub-distribution hazard subjects that die from another cause remain in the risk set and are given a censoring time that is larger than all event times.

Week 05 – System Development – paper assignment

Paper Student Background
Krishnan et al. (2000) Vicky Capability Maturity Model (Krishnan and Keller 1999)
Bank and Slaughter (2000) Xinyu Function points
Grewal et al. (2006) Yiran Social capital
Grewal et al. (2006) Yae Eun Measurement of centrality (degree, between, eigenvalue)
Subramanyam et al. (2012) Aaron 3SLS, Seemingly unrelated regression
Subramanyam et al. (2012) Xue Measurement of component granularity (Messerschmitt 2007)
Ramasubbu and Kemerer (2015) Ada Competing risks analysis (Fine and Gray 1999)
Ramasubbu and Kemerer (2015) JK Henderson and Clark (1990)