Abstract
In this chapter, the authors discuss software development methodologies. These are adaptive process frameworks adjustable to software product size and scope. They usually include a set of methods, principles, techniques, and software development tools. Every methodology can implement any of the lifecycle models. The authors discuss the difference between formal and agile methodologies. The formal methodologies include more artifacts. For each activity, every role assigned to it produces a deliverable. Agile methodologies are applicable in uncertain conditions. These agile methodologies rely on self-disciplined and self-manageable teams. They are more constrained by human-related factors. As in lifecycle models, there is no “silver bullet” in software development methodologies. Due to rigorous processes and more artifacts, formal methodologies are suitable for large-scale product development. Agile methodologies require special techniques and a high level of discipline. Otherwise, they likely result in a low-quality software.
Reference28 articles.
1. Developing a Glossary for Software Projects
2. Agile Software Development Methodologies: Survey of Surveys
3. Balduino, R. (2007). Introduction to OpenUP. Retrieved December 22, 2017, from http://www.eclipse.org/epf/general/OpenUP.pdf