Reducing the Number of Change-Requests using Capabilities Engineering: An Empirical Analysis

R. Ravichandar and J.D. Arthur (USA)


Capabilities Engineering, Change Reduction, Require ments, Change tolerance, Complex emergent systems


We propose a Capabilities-based approach for construct ing complex emergent systems such that they are change tolerant, and the development effort promotes change reduction. The inherent complexity of software systems increases their susceptibility to change when subjected to the vagaries of user needs, technology advances, market de mands and other change inducing factors. We utilize Capa bilities — functional abstractions that are neither as amor phous as user needs nor as rigid as system requirements — to architect systems to accommodate change with min imum impact. These entities are designed to exhibit desir able characteristics of high cohesion, low coupling and bal anced abstraction levels. Furthermore, Capabilities facili tate the progression from the problem space to the solution space, thereby, bridging the complexity gap and comple menting the specification of requirements. Consequently, the use of a Capabilities-based process inherently reduces the number of change-requests, otherwise generated dur ing a regular development effort. Empirical analysis on the change-request repository of Sakai, a complex emergent system, supports this hypothesis.

Important Links:

Go Back