Elective-IV Agile Software Development (BTCS 710-18)

Course Outcomes

After undergoing this course, the students will be able to:

  1. CO1: Understand concept of agile software engineering and its advantages in software development.
  2. CO2: Explain the role of design principles in agile software design.
  3. CO3: Define the core practices behind Scrum framework.
  4. CO4: Understand key principles of agile software development methodology-Kanban.
  5. CO5: Describe implications of functional testing, unit testing, and continuous integration.
  6. CO6: Understand the various tools available to agile teams to test the project.

Detailed Syllabus

UNIT 1: Introduction - CO1

Duration: 6 hours

UNIT 2: Agile Design Methodologies - CO2

Duration: 6 hours

UNIT 3: Scrum - CO3

Duration: 8 hours

UNIT 4: Kanban - CO4

Duration: 6 hours

UNIT 5: Extreme Programming - CO5

Duration: 6 hours

UNIT 6: Agile Testing - CO6

Duration: 6 hours

Suggested Readings / Books

  1. Ken Schawber, Mike Beedle, "Agile Software Development with Scrum", Pearson
  2. Robert C. Martin, "Agile Software Development, Principles, Patterns and Practices", Prentice Hall
  3. Mike Cohn, "User Stories Applied: For Agile Software Development", Addison Wesley Signature Series
  4. Lisa Crispin, Janet Gregory, "Agile Testing: A Practical Guide for Testers and Agile Teams", Addison Wesley
  5. Paul VII, "Agile: The Complete Overview of Agile Principles and Practices (Agile Product Management)"
  6. Robert Martin, "Agile Software Development, Principles, Patterns, and Practices", Pearson New International Edition
  7. Greene Jennifer, "Learning Agile", O'Reilly Series

Elective-IV Agile Software Development Lab (BTCS 711-18)

Detailed List of Tasks

  1. Understand the background and driving forces for taking an Agile Approach to Software Development.
  2. Build out a backlog and user stories.
  3. To study and use automated build tool.
  4. To study version control tool.
  5. To study Continuous Integration tool.
  6. Apply Design principle and Refactoring to achieve agility.
  7. Perform Testing activities within an agile project.
  8. Mini Project: based on tools