Overcoming the Scheduling Barriers in Software Project: A Revisit of the Relation Between Development Time and Development Effort

Overcoming the Scheduling Barriers in Software Project: A Revisit of the Relation Between Development Time and Development Effort

Liguo Yu (Computer Science Department, Indiana University South Bend, South Bend, IN, USA)
DOI: 10.4018/IJAMSE.2017010102
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Scheduling is an important management activity in software projects. The relationship between nominal development time and development effort has been characterized as a power-law function where development time is dependent on development effort. Studies performed in 1980s determined that there is a scheduling barrier for any software project given the amount of effort to complete the project. Specifically, the studies found out that it is extremely difficult to reduce the development time lowering than a threshold calculated based on the nominal development time. Scheduling barriers are largely due to the complexity of interactions and communications among developers. Thirty years later, this paper examines six software projects in order to understand the relationship between development time and development effort in the 21st century. The author's study suggests that in modern software development, scheduling barriers could be broken through improving the efficiencies of communications, collaborations, and project management.
Article Preview

1. Introduction

In software projects, development time is one of the most important factors that customers are concerned with. It directly affects whether the product can be deployed or released on time. In modern software industry, development time is even more critical. Due to the marketplace competitions, it is business-critical for a software product to be released on time or earlier. Unfortunately, the reality is that most software products are delivered over scheduled deadline.

Increasing the size of development team could not guarantee to reduce the development time, because this strategy might increase the communication complexity and collaboration complexity among developers, which in turn could make the product to be delivered even late. Therefore, in software projects, it is a common practice to determine scheduling based on the estimated development effort. Several formulas have been proposed and validated to show the ideal relationship between development time and development effort (Walston & Felix, 1977; Putnam, 1978; Boehm, 1981). Table 1 summarizes some of the commonly used formulas to estimate the time duration () of a project based on the estimated development effort (E).

Table 1.
Nominal development time (Van Vliet, 2008)
Model NameFormula
Walston-Felix
COCOMO
COCOMO 2
Putnam

In Boehm’s 1981 publications (Boehm, 1981), he presented a concept called impossible region, which stated that it is impossible to a schedule a software project’s development time to be less than three-fourths of its nominal development time, given the amount of effort to complete the project. This scheduling barrier has influenced software industry for over 30 years. Boehm’s observation basically has two implications. First, development time cannot be reduced simply through adding more personnel, because this will increase the overhead of communications. Second, because development time is dependent on development effort, if development effort could be reduced, the development time will be reduced. In the past 30 years, research has been focusing on reducing the development effort in order to reduce the development time. Examples of such techniques include software reuse, component based development, automatic and generative software development.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 4: 2 Issues (2017)
Volume 3: 2 Issues (2016)
Volume 2: 2 Issues (2015)
Volume 1: 2 Issues (2014)
View Complete Journal Contents Listing