Date of Graduation
5-2022
Document Type
Thesis
Degree Name
Bachelor of Science
Degree Level
Undergraduate
Department
Computer Science and Computer Engineering
Advisor/Mentor
Streeter, Lora
Committee Member/Reader
Patitz, Matthew
Committee Member/Second Reader
Gauch, Susan
Abstract
Software development methodologies are often overlooked by software engineers as aspects of development that are handled by project managers alone. However, if every member of the team better understood the development methodology being used, it increases the likelihood that the method is properly implemented and ultimately used to complete the project more efficiently. Thus, this paper seeks to explore six common methodologies: the Waterfall Model, the Spiral Model, Agile, Scrum, Kanban, and Extreme Programming. These are discussed in two main sections in the paper. In the first section, the frameworks are isolated and viewed by themselves. The histories, unique features, and professional opinions regarding the methodologies are explored. In the second section, the methodologies are compared to one another, particularly within the context of ideal development environments and methodology advantages and disadvantages. It becomes apparent that the Waterfall and Spiral models are immensely different from the Agile, Scrum, Kanban, and Extreme Programming methodologies. This is because the Waterfall Model and the Spiral Model are both software development life cycle models, which indicates that there is a specific flow and set of rules to follow when it comes to development. The other methodologies, however, embrace the idea of flexibility. The process of creating software often changes. For example, a client could deliver new requirements for the software after development has already begun. Thus, the Agile-based methods do not attempt to create a rigid step-by-step development plan. Rather, they incorporate the idea of embracing change, empowering teams to accept that their development plan will have to change often. This paper further explores these considerations with the intention of promoting an interest in learning about the best ways to go about planning and developing software.
Keywords
software engineering methodologies; software engineering frameworks; project management
Citation
Risener, K. (2022). A Study of Software Development Methodologies. Computer Science and Computer Engineering Undergraduate Honors Theses Retrieved from https://scholarworks.uark.edu/csceuht/103
Included in
Engineering Education Commons, Graphics and Human Computer Interfaces Commons, Programming Languages and Compilers Commons, Software Engineering Commons