COURSE TITLE: AGILE SOFTWARE ENGINEERING (CS-633)
PROGRAMME: MASTER OF TECHNOLOGY (CSE)
COURSE DESIGNATION: ELECTIVE
PRE-REQUISITES: SOFTWARE ENGINEERING, OBJECT-ORIENTED ANALYSIS AND DESIGN
CONTACT HOURS/CREDIT SCHEME: (L-T-P-C: 3-0-0-1)
COURSE COORDINATOR LOCATION: Lab CS 202 (Software Engineering Lab), First Floor, IT Block
This course introduces various agile software development methodologies on top of the basic software engineering principles. The course mainly describes the methods and tools related to the famous combination of agile scrum and extreme programming (XP) frameworks. Other agile methods included are Feature Driven Development (FDD), Test Driven Development (TDD) and lean software development. The agile development phases will cover requirements (or user stories) gathering, agile design, development and testing. A number of modern day software development concepts such as refactoring, pair programming, software smells, design patterns, continuous integration, DevOps, etc. will also be introduced. A major part of the course would be devoted to discussing the current research related to various subareas of agile software engineering. Another important aim of this course is to maintain a careful relevance to the industrial software development throughout.
The course has been designed in collaboration with Infosys, Chandigarh (India) and would comprise a number of industrial webinars to support the classroom teaching.
A successful completion of this course should result in the following:
- CO1: Understand the manifesto and basic principles of agile approach to software development.
- CO2: Learn the pros and cons of various agile development frameworks.
- CO3: Learn and practice various development activities involved in the industrial agile Scrum framework.
- CO4: Demonstrate a range of soft skills required by agile scrum team members.
- CO5: Know the state-of-the-art in agile research.
- A multi dimensional approach involving lecture-based and case-based teaching methods along with a set of industrial webinars will be employed to inculcate the required knowledge and skills in the students.
- Students can always reach out for learning assistance to the course coordinator outside the scheduled classes, by appointment.
COURSE ASSESSMENT METHODS:
- A set of 2 mid-term theory examinations (20 marks each)
- A final theory examination (50 marks)
- A set of 5 assignments (2 marks each)
- Agile Software Development with Scrum By Ken Schawber, Mike Beedle, Pearson.
- Agile Software Development, Principles, Patterns and Practices By Robert C. Martin, Prentice Hall.
- Agile Testing: A Practical Guide for Testers and Agile Teams By Lisa Crispin, Janet Gregory, Addison Wesley.
- Agile Software Development: The Cooperative Game By Alistair Cockburn, Addison Wesley.