Software Development Methodologies
The course introduces the students to the role of software processes in the development of a successful software project.
The course has two general themes:
(1) the fundamentals of software processes
(2) the objectives and benefits of software process improvement.
The first general theme provides an introduction to the fundamentals of software processes. The course spans traditional as well as agile software development practices. Key roles, key technologies, and key activities in software development practices are covered and put into relationship with the different software development processes.
The second general theme strikes a balance between providing information about software process improvement methods currently used in practice, and insights reached by academic research in the field. Developing reliable software on time and within budget is a challenging issue for many organizations. A software process improvement focus offers the organization a better chance for success. In this course, software process improvement methods, models and techniques will be studied with a focus on practice. The entire lifecycle of a software process improvement effort is covered, starting from the elicitation of improvement needs, through definition of an improvement plan, to evaluation of an improvement effort.
During the course, models and processes for software process improvement will be presented and discussed. Impact of using the models and processes in an organization will be explored from an organizational and managerial point of view. Special emphasis will be given to practical concerns such as changing requirements or requirement management, and related issues that challenge the software development process and the final result, i.e. the software product.