Software Development Phases and Critical Abandonment Factors
In this section we group together the factors considered critical to each phase of the development process to highlight their collective impact on that phase of the software development. Table 3.2 provides a summary of the critical abandonment factors associated with each systems development phase. At the requirements stage the multiplicity of cofactors is predominantly nontechnical and is instead socioorganizational. The abandonment factors listed as critical to requirements include unrealistic project goals and objectives, changing requirements, lack of executive support and commitment, and insufficient user commitment and involvement. The rest of the abandonment factors have a less significant influence in abandonment decisions at the requirements stage.Software | Critical abandonment factors |
---|---|
Requirements | Unrealistic project goals and objectives Changing requirements Lack of executive support and commitment Insufficient user commitment and involvement |
Design | Unrealistic project goals and objectives Inappropriate project-team composition Project management and control problems Inadequate technical know-how Problematic technology base/infrastructure Changing requirements |
Implementation | Unrealistic project goals and objectives Project management and control problems Inadequate technical know-how Problematic technology base/infrastructure Changing requirements Cost overruns and schedule delays |
The design stage presents a mixture of technical/technological and socioorganizational factors the multiple occurrence of which can derail the project. The factors that wield critical influence in this context are chapter 1, this is the central argument of the postmodernist approach to software development, which attributes the persistence of the software crises partly, if not wholly, to the failure of the modernist approach, with its preoccupation with seeking purely technical "solutions." The economic dimension of the software development activity derives from the expenditure of resources needed to create the software artifact. The risks of project failure can be associated with any of the factor groups or combinations of them. The classification is based on the contribution each factor in the group is expected to make to each category. For example, in the economic category the factors include cost overruns and schedule delays, unrealistic project goals and objectives, and changing requirements. The contribution of cost overruns and schedule delays to this group is apparent. Not so obvious is the contribution of unrealistic project goals and objectives, or of changing requirements. Overly ambitious as well as imprecise and ambiguous project goals and objectives will affect this category by contributing not insignificantly to the cost and time frame of the project. Changing requirements have the potential to also increase project costs and delay the schedule if the frequency and complexity of the changes are not properly managed and controlled. All the abandonment factors have some bearing on the economic category in the sense that each has the capacity to influence the project cost and schedule. Nonetheless, this discussion focuses only on explicit economic factors to the exclusion of all others in the analysis. Similar explanations can be advanced for the remaining two categories—socioorganizational and sociotechnical—and the dominant factors that comprise each.
Abandonment-factor category | Dominant factors |
---|---|
Socioorganizational | Unrealistic project goals and objectives Changing requirements Lack of executive support and commitment Insufficient user commitment and involvement |
Sociotechnical | Unrealistic project goals and objectives Inappropriate project-team composition Project management and control problems Inadequate technical know-how Problematic technology base/infrastructure Changing requirements |
Economic | Cost overruns and schedule delays Unrealistic project goals and objectives Changing requirements |
A review of tables 3.2 and 3.3 reveals some commonalities between the factor groupings of the two tables that show how the factor categories impact each stage of the development process. The factors that constitute the socioorganizational category in table 3.3 are the same factors considered critical to the requirements stage of the development process in table 3.2. Half of the socioorganizational factors also appear in the factor grouping critical to the design activity. The socioorganizational-factor group can therefore be classified as mildly critical to the design phase of the development process. Similarly, the implementation phase of the development is also mildly critically impacted by the socioorganizational category. The sociotechnical-factor category appears to be mildly critical to the requirements because half of the dominant factors in the requirements phase also appear in the sociotechnical-factor category. However, the sociotechnical-factor category is considered critical to the design and implementation phases because the majority of the factors dominant in each of those two phases are also dominant in the sociotechnical-factor category. Finally, the economic-factor category is considered mildly critical to the requirements phase because even though two of the three dominant factors in the economic category are also dominant in the requirements phase, the most significant factor in the economic group—cost overruns and schedule delays (which directly measures resource expenditures)—is not part of the requirements category. However, the same two dominant factors in the economic-factor category also appear as part of the factors making up the dominant factor groups in the design and implementation phases of the systems development process. Hence the economic-factor group is considered mildly critical to the design and implementation stages of the development process. In table 3.4 we summarize the abandonment-factor categories and their influence on any of the three stages of the software development process.
Abandonment-factor category | |||
---|---|---|---|
Development stage | Socioorganizational | Sociotechnical | Economic |
Requirements | Critical | Mildly critical | Mildly critical |
Design | Mildly critical | Critical | Mildly critical |
Implementation or coding/testing | Mildly critical | Critical | Mildly critical |