Self-organising Maps (SOMs) in Software Project Management
Although numerous researchers have devoted much time and effort to the issue, generating a reliable and accurate cost estimate at an early stage of the development life cycle remains a challenge to software engineers. In recent years an increasing number of studies have turned their attention to the employment of machine learning, especially Artificial Neural Networks (ANNs), in performing such estimation activities. A Self-Organising Map (SOM) is a particular type of ANN that utilises a neighbourhood function that can be used as an unsupervised clustering tool. Its ability to project multi-dimensional data into a two-dimensional map makes the SOM appealing to software engineers.
In addition, the vague and ambiguous nature of real world software data demands techniques that can handle fuzziness. Accordingly, researchers have introduced fuzzy logic approaches such as fuzzy sets, fuzzy rules, fuzzy inference and the associated fuzzy clustering techniques into the original area of neural networks. Following a thorough literature review, it was decided that Self-Organising Maps could be an appropriate candidate for estimation in software project management. In order to investigate our hypothesis we build predictive models using Self-Organising Maps and compare them with Linear Regression models. The Fuzzy C-means algorithm is utilized in our study to pre-process ambiguous and vague real world data, which also refines the clustering outcome.
This study presents and analyses the results of three case studies that use data sets from different software projects. The findings indicate that Self-Organising Maps surpass Linear Regression in all three cases (even when noise was introduced), both in terms of generating more accurate estimates and presenting easy-to-understand relationships among the project features, when compared to Linear Regression models. Alternative approaches and extensions are suggested in order to overcome the limitations of the study. Other recommended future study areas include, but are not limited to, exploring alternative approaches to forming Fuzzy Self-Organising Maps (FSOMs), adopting new versions of the Fuzzy C-means algorithm, and investigating further the sensitivity of SOMs and FSOMs.