Вы находитесь на странице: 1из 3

A Control-Theoretic Aid to Managing the Construction Phase in Incremental

Software Development (Extended Abstract)

Scott D. Miller
Department of Computer Science; Purdue University
millersd@cs.purdue.edu
Advisors: Aditya P. Mathur (CS) & Raymond A. DeCarlo (ECE)

1. Research Overview source estimation [7].


These factors are exacerbated by conflicts of inter-
We propose to adapt the techniques of state- est, e.g. i) developers are reluctant to report the fail-
modeling and feedback control from the discipline of ure to achieve schedule objectives to management when
Control Engineering to the tasks of software process it may impact future performance evaluations or com-
modeling and software process control as they appear in pensation incentives; e.g. ii) managers may experience
Software Engineering. The scope of our investigation is pressure from competitors (or perhaps upper manage-
focused on the construction phase (as per the Rational ment) to lower the project overhead and may conse-
Unified Process) as it occurs in industrial incremental quently attempt to stretch resources beyond their capa-
software development. bility. In these cases, a set of quantitative tools may
provide a much-needed objective view into the devel-
2. Contributions opment process, its true progress, and the likelihood
of project success given the current resource alloca-
The completion of this project will yield the fol- tions. Furthermore, given a prediction of deviation out-
lowing contributions: i) A customizable, quantitative, side control limits, a quantitative process control tool
software process simulation whose output is a predic- could help to determine the best method of salvaging
tion of the project schedule which will result if the the project, or whether it would be more cost-effective
development process is left to execute unaltered; ii) to cancel the project.
A model (re-)calibration technique capable of captur-
ing productivity trends as they develop during the con- 3. Problems and Current Approaches
struction phase resulting in adaptive process modeling;
and iii) A control technique capable of determining 3.1. Modeling and Simulation
the parameter changes required in the model to drive
the model output (i.e. plots of the remaining work In this discussion we shall focus on what Scacchi
over time) to the best (with respect to a convex perfor- distinguishes as descriptive models [12] which answer
mance index, and a linearized, discretized version of the the question, “what is the character of the process that I
model) approximation of a given “desired” output. This have?” e.g. [3, 5]. The problems associated with build-
provides a quantitative set of data to support manage- ing descriptive models may be stated in terms of the bal-
ment decision-making. ance between the level of detail captured by the model,
the ability to calibrate the model, and the ability to an-
2.1. Motivation alyze the model. Bounding the spectrum of predictive
modeling and simulation techniques are the COCOMO
It is currently estimated that the IT industry loses family of models [3], and the in-house, organization-
$60 billion – $70 billion per year in the United States specific system dynamics models developed using com-
due to budget over-runs, project cancellation, poor mercial tools such as Extend1 In the case of COCOMO,
quality/reliability, and consequent litigation [7]. The the result is a single scalar project effort estimate—
literature reports a set of factors linked to software some detail may be added back into the prediction by
project failure, among which are: i) the failure to mon-
itor project progress/milestones; and ii) inadequate re- 1 Extend is a registered trademark of Imagine That, Inc.

Proceedings of the 30th Annual International Computer Software and Applications Conference (COMPSAC'06)
0-7695-2655-1/06 $20.00 © 2006
use of statistical/heuristic tables that divide the effort knowledge of the parameter sensitivity and interaction,
estimate into effort per phase. Analysis of the impact of the “what-if” process may be chaotic.
a parameter change in the COCOMO model is simple
given its closed form. On the other end of the spectrum 4. Our Approach
are the custom system dynamics models; such systems
offer the temptation to capture finer-grained process de-
tail at the cost of larger data needs (e.g. calibration of 4.1. Process Modeling and Simulation
multiple probability distributions) and near-opacity to
analysis. We have identified seven processes which dominate
With nearly a half-century of literature on predic- the effort-consumption during the construction phase;
tive modeling, there are too many techniques to cover these are feature coding, test case coding, test case ex-
here. Our intent here is to identify the balance be- ecution: new tests, test case execution: regression, fail-
tween model detail, data requirements, and analytical ure analysis, feature correction, and test case correc-
transparency, as a criterion for evaluation. Two related tion. We begin by building a model of the flows between
works, however, require attention here. these processes; each process produces work product
and by-products which flow to the other processes for
Madnick and Abdel-Hamid [1] are credited with an
processing/consumption. This flow model provides the
early attempt at applying state modeling techniques for
framework for descriptions of the construction phase;
modeling software processes. Their work predicts pro-
it is customized to a particular process by defining the
cess behavior from a much higher level (i.e. the behav-
flow rates as a set of functions in the productivities of
ior of the waterfall development phases.)
the processes.
Recently, Cangussu [5] proposed a state-based
model of the software System Test Phase and applied 4.1.1. Modeling Process Productivity. Software de-
a simple control technique to aid the manager of a test velopment is a set of information processing activi-
process in mitigating schedule slippage. The model has ties. As such, we build a common model of produc-
been industrially validated, and the controller has been tivity based on three assumptions: i) Productivity is im-
demonstrated through simulation. We have proposed pacted by the size of the workload. Based on the phe-
an improved controller [11] for the model given in [5] nomenon of ‘flow’ [8], productivity is reduced if the
which, as with our present work, is based on Model Pre- workload of a process becomes either too large or too
dictive Control [4]. small; ii) There is information-processing inertia. This
is the idea that, given a demand for increased produc-
3.2. Control tivity, one must acclimate to the new pace, i.e. instanta-
neous productivity change is not possible; and iii) There
Literature in Software Process Control has focused is information-processing resistance: is not possible to
on the task of monitoring and adjusting software pro- achieve an arbitrary productivity increase—there is a re-
cesses so that they remain within acceptable limits of sistance which yields diminishing returns on productiv-
operation. Among the approaches are statistical pro- ity improvement effort.
cess control e.g. [6, 9], defined by the philosophy that
“...as long as you perform a process consistently it will 4.1.2. The State-Model Representation. State-
demonstrate consistent results...” [6], discrete event and modeling begins by identifying the set of quantities
hybrid simulations with the familiar “what-if” mecha- which impact the behavior of the system, and proceeds
nism for determining process change [10], and process by specifying the manner in which the quantities
simulation for the purpose of process comprehension change over time (typically using differential equa-
[2]. tions.) In our case, we track the productivity, work
Statistical process control requires the reuse of pro- arrival, and derivatives of these, for each process. To
cess in order to attempt to reproduce the past results. maintain a quality model, we also track quantities
For projects crossing into new domains the statistical derived from these to support fault-injection- and
baseline may be invalid or inappropriate, making adap- test-failure- submodels.
tation a desirable attribute.
The discrete-event and hybrid simulation methods 4.1.3. Modeling Work Arrival. The work-arrival rate
support this on-line re-calibration, but often support (or in-flow) for a process is allowed to be any scalar
only the familiar trial-and-error method for determining function defined in the set of state variables. This is the
appropriate process changes. Given a complex model, manner by which one may customize the flow model to
the trials required may be time consuming, and without a particular development process.

Proceedings of the 30th Annual International Computer Software and Applications Conference (COMPSAC'06)
0-7695-2655-1/06 $20.00 © 2006
4.1.4. The Fault and Failure Submodels. Based on process dynamics change, or simply to acquire a better
the commonality of defect density metrics, we have calibration as more data becomes available.
adopted a linear fault injection model. The test-failure
submodel is based on the Lotka-Volterra predator-prey 5. Current Progress
population model [13] as used in [5] where the failure
model has been industrially validated in the context of We have completed the modeling framework de-
test failure/fault removal progress prediction. scribed in § 5.1, and have implemented the basic min-
imization of the performance index in § 4.2.2. We are
4.1.5. Modeling Discrete Events. Consider that the currently working on the following tasks: i) Generating
project schedule specifies when collections of features the model calibration routines; ii) Planning the valida-
are to be implemented by the coders, also, some pro- tion study; iii) Developing more sophisticated resource
cesses may block until the completion of artifacts from constraints in the controller/minimization routine.
other processes. Thus upon certain events, additional
work items will enter the processes, in turn propagating
References
work item flow to the other processes. These events
may be specified as any boolean combination of in- [1] T. Abdel-Hamid and S. E. Madnick. Software Project
equalities in the state variables. They are relaxed and in- Dynamics. Prentice Hall, 1991.
corporated into the productivity differential equations, [2] C. Andersson, L. Karlsson, J. Nedstam, M. Host, and
and thus are automatically observed during simulation. B. Nilsson. Understanding software processes through
system dynamics simulation: a case study. In Proceed-
4.1.6. Simulation. The system of differential equa- ings of the Ninth Annual IEEE International Conference
tions which describe the model are solved numerically, and Workshop on the Engineering of Computer-Based
yielding plots of the work items remaining in the system Systems, pages 41 – 48, April 2002.
over time—a representation of the schedule. [3] B. W. Boehm et al. Software Cost Estimation with Co-
como II. Prentice Hall, 2000.
[4] E. F. Camacho and C. Bordons. Model Predictive Con-
4.2. Process Control
trol. SpringerPublication, January 2004.
[5] J. W. Cangussu, R. A. DeCarlo, and A. P. Mathur. A for-
Our approach to process control is based on Model mal model of the software test process. IEEE Transac-
Predictive Control (MPC) [4], a technique suited to in- tions on Software Engineering, 28(8):782 – 796, August
corporate a changing environment and, indeed, chang- 2002.
ing goals. [6] D. Card. Statistical process control for software? IEEE
Software, 11:95 – 97, May 1994.
4.2.1. Performance Index. Our performance index is [7] R. N. Charette. Why software fails. IEEE Spectrum,
constructed to quadratically penalize deviations from 42(9):42–49, September 2005.
the given “desired state trajectory” and the magnitude of [8] M. Csikszementmihalyi and I. S. Csikszementmihalyi,
the control input; the minimization of the performance editors. Optimal Experience: psychological studies of
index balances the cost of making the process changes, flow in consciousness. Cambridge University Press,
against that expected with no changes. 1988.
[9] P. Jalote and A. Saxena. Optimum control limits for
employing statistical process control in software pro-
4.2.2. Linearization and Discretization. Evaluating
cess. IEEE Transactions on Software Engineering,
the performance index requires the future state trajec-
28(12):1126 – 1134, December 2002.
tory. By linearizing and discretizing the model equa- [10] R. Martin and D. Raffo. Application of a hybrid process
tions, we can derive a series of step-matrices that con- simulation model to a software development project. In
vert the state at time t to the state at time t + 1; by Proceedings of PROSIM, pages 237–246, July 2000.
applying these rules recursively, and substituting this [11] S. D. Miller, R. A. DeCarlo, A. P. Mathur, and J. W.
representation of the future state trajectory into the per- Cangussu. In Press. a control-theoretic approach to the
formance index, we arrive at a (convex) program to be management of the software system test phase. Journal
minimized over the control variables. of Systems and Software., 2006.
[12] W. Scacchi. Process models in software engineering.
Encyclopedia of Software Engineering, 2nd Edition,
4.3. Calibration
John Wiley and Sons, Inc., October 2002.
[13] V. Volterra. Variazioni e fluttuazioni del numero
The model is intended to be calibrated from data d’individui in specie animali conviventi. Mem. R. Ac-
generated by the current project; thus repetition of the cad. Naz. dei Lincei. Ser. VI, 2, 1926.
calibration algorithm allows the model to adapt as the

Proceedings of the 30th Annual International Computer Software and Applications Conference (COMPSAC'06)
0-7695-2655-1/06 $20.00 © 2006

Вам также может понравиться