|< Day Day Up >|| |
We have described connectionist and evolutionary models to mine, learn and forecast software effort. Previously reported data (Subramanian & Zarnich, 1996) was used to design and test the connectionist and evolutionary models for forecasting software effort. As billions of dollars are invested each year in either development or maintenance of software, IS managers can use connectionist and evolutionary models to forecast software effort and to prepare the IS budgets for new software development and maintenance. Software consulting companies, bidding for software projects, can use connectionist models to determine the appropriate development effort and the dollar amount for the bid.
In our study, we used a relatively smaller data set. Connectionist and evolutionary models would learn and perform better if a larger sample size is available (Patuwo et al., 1993). The promise of our approach on a smaller sample size illustrates the feasibility of our approach in an industrial setting where larger sample sizes are readily available to project managers.
We use random input and weight noise during the learning phase of our experiments with the connectionist model. Various other approaches have been tried in the literature that improve the performance of connectionist models over the traditional back-propagation. Recently, Piramuthu, Ragavan and Shaw (1998) showed that feature construction can be used to improve learning and prediction of connectionist models. Several researchers (Becker & Cun, 1988; Curry & Morgan, 1997; Falhman, 1988; Parker, 1987) showed that second-order gradient search methods improve the performance of a back-propagation model that uses a steepest decent search method. Since a connectionist model is a data-driven model, quality of input data does govern its predictive performance. It appears that data envelopment analysis (DEA) might be used to select data that can be used for learning software productivity patterns using connectionist models. A traditional constant returns to scale DEA model can be used to identify the most efficient software projects based on multiple inputs and a single output. The efficient cases can then be used as a training set for learning productivity patterns for a connectionist model. The new model can then be used to generate the optimistic forecast. Project managers in software consulting companies may find the optimistic forecast particularly useful as this would provide a baseline for their bids.
The successful implementation of our connectionist model validates the model proposed by Subramanian and Zarnich (1996). However, it must be noted that the proposed model represents a subset of variables that impact software effort. Better forecasts can be obtained by acquiring information aboutthe project staff turnovers, organizational reward structure for software engineers involved in the project etc. Future research needs to be done on identifying other factors that impact the software productivity.
In the course of our experiments, we did look into another competitive evolutionary data mining technique called genetic programming. Genetic program-ming (Koza, 1992), however, didn't require any prespecification of relationships between independent and dependent variables. The design of the genetic programming model to learn productivity patterns required us to look into too many parameters such as population size, mutation rate, initial tree size, crossover rate, function set, terminal set, etc. With a lack of adequate knowledge of exact impact of these parameters on our smaller sample, we didn't consider this technique any further either. We do believe that both of these techniques may hold potential for learning the software productivity patterns. Future research may be focused on the performance comparisons of genetic programming, genetic algorithm and artificial neural networks for forecasting.
|< Day Day Up >|| |