Several software development projects are failing to reach their goals. Research shows that around 70% of all IT projects are resulting in project failure [1]. This failure is also reflected in Malta, albeit on a smaller scale when compared to foreign markets and scenarios. Local IT companies strive to complete the project even if it means making a smaller profit in the short term. It is sometimes better to do this, as it can result in being more viable for the company in the future.
Choosing a suitable methodology for the project can increase the success rate of software development projects [2]. Contrary to what is sometimes thought, it is not an easy task to choose the best software development methodology. As a project manager, handling software development projects includes skills and methods unique to aspects of the ICT industry.
The process of the proposed automated solution can be seen below in Figure 1.
This proposed automated solution assesses the commonalities and characteristics that exist between a system, a development methodology and a project. The solution is based on literature reviews and research relating to the domain, and factors in reasons why several software development projects fail. The main research is based on the different methodologies currently available and in use within the IT industry. This work also required insight into the different methodologies used in software solution development. Finally, this research is embodied and implemented in a tool which will automatically return the suitable methodology or methodologies for the project at hand.
The process behind the framework analyses the characteristics as a set of parameters which generates a decision tree [3] subject to the system required, and chooses the best methodology for the software system to be developed.
This will be beneficial for both software developers and project managers, by proposing an efficient selection of methodology(ies) to develop a specific project.
The evaluation was carried out by assigning four scenarios to five different project managers and comparing the human decisions with the results proposed by our solution. This work is to be taken as proof of concept and the basis of other work that can lead to higher quality software solutions and more efficient and cost-effective development processes. The framework has proven the overall hypothesis that the process of allocation of methodology(ies) to the development of a project can be aided through automation.
References
[1] The Standish Group International (2016) “Chaos Report 2015”, available online at https://www.standishgroup.com/sample_ research_files/CHAOSReport2015-Final.pdf
[2] S. Flowers, Software failure: management failure: amazing stories and cautionary tales. New York: Wiley, 1996.
[3] L. Rokach and O. Z. Maimon, Data mining with decision trees: theory and applications. World scientific, 2008, vol. 69.
Student: Ryan Vella
Supervisor: Prof. Ernest Cachia
Course: B.Sc. IT (Hons.) Software Development