Open Access Graduate Research Paper
Methodologies used for developing software include procedures, techniques, tools, and documentation, to help every stage of the development process. A number of software development methodologies exist, all with their own characteristics, features, advantages, and disadvantages. This paper presents information on some of the more popular methodologies, and the ones most frequently used in today's software development world. The reviewed methodologies in this paper include waterfall, spiral, agile and its subsets, and hybrid. Research and information gathering phase in this study was conducted by performing a thorough literature review of a variety of different sources. Following the introduction of each methodology, a selection chart is presented that can help with selecting the most appropriate one to use, based on the project characteristics.
When going through the process of implementing a new software methodology, most companies will run into management and organizational issues, people-related issues, process-related issues, or technological issues. A number of different solutions to these challenges is presented including training, job rotation, additional classes, proper planning efforts, and use of a coach or a mentor. A variety of tools and techniques exists that make the software development process more streamlined, efficient, and easier to manage. The methodologies evaluated here include use of source code management tools, objected oriented programming, documentation tools, and automated testing including unit tests. Research shows that using a software development methodology, including ones that were presented in this paper, will increase the chances of the project being successful. The use of an adequate methodology plays an important role in developing software to assure that it is delivered within schedule, cost, and meets users' requirements.
Year of Submission
Master of Science
Department of Technology
1 PDF file (45 pages)
©2018 Semir Music
Music, Semir, "Selecting a Software Development Methodology Based on Project Characteristics" (2018). Graduate Research Papers. 3884.