Improving Productivity for Projects with High Turnover
Productivity declines between increments for most incremental software projects due to defects and issues in previous builds, evolution in response to user feedback, change in technology and expectations, and increased integration and testing effort. High personnel turnover causes noticeable reduction in productivity because of the amount of knowledge transfer and learning needed before newly added personnel can begin working on a project, along with potential loss of knowledge that occurs when personnel leave a project. Organizations and managers continually look for ways to improve productivity, in order to maximize the results produced in reduced time. An incremental software project with high personnel turnover rates must work against productivity reduction from incremental development and high personnel turnover. Unified Code Count (UCC) is such a project, and analysis of its data indicates that dedicating an increment to solely test and evaluate the completeness of the project followed by increments that develop and resolve issues reduces the productivity decline, and sometimes increases the productivity between increments. An increment using temporary personnel to focus on and become efficient on testing and evaluating the completeness of the project is able to run significantly more tests and producing a marginally larger amount of documentation compared to increments assigned the task of completing, testing, and removing defects. Incremental Development Productivity Decline (IDPD) is the percentage of decrease in productivity between two increments, and productivity is calculated as New Logical SLOC/Effort (hours). Since UCC has an average of 10% personnel continuity after 4 months, the development revolves around 4-month, time-boxed increments. The increments that test and identify fixes needed in the next increment are referred to as Evaluation increments. The increments that modify code and might also run tests are referred to as Production increments. Though most of the projects are scoped to complete within an increment, the projects that lasted more than 2 increments are used to test two hypotheses: 1) The productivity decline between consecutive Production increments is expected to be greater than the productivity decline between Production increments with an Evaluation increment in the middle. 2) The amount of supporting documentation, test cases produced and ran, and the numbers of bugs found in Evaluation increments are larger than Production increments, and development begins earlier after Evaluation increments compared to after Production increments.
This presentation has not yet been uploaded.
No handouts have been uploaded.
Anandi Hira (Primary Presenter,Author,Co-Author), University of Southern California, email@example.com;
Anandi Hira is currently a PhD student under Dr. Barry Boehm at University of Southern California’s (USC) Computer Science Department. Her research interests lie in cost estimation and models. She has been a part of the Unified Code Count (UCC) development effort at USC's Center for Systems and Software Engineering (CSSE) for the past 6 years, and has been collecting and analyzing the data to improve the development processes and the product’s quality. Anandi has also joined the effort within USC's CSSE to develop COCOMO® III (COnstructive COst MOdel) as an update from COCOMO® II.