IOE Syllabus of Agile Software Development

Agile Software Development is Elective II for BE Computer and Electronics & Communication. The subject code of Agile Software Development is CT 765 02. The course objective of ASD is to deliver adaptable software iterations and releases based on Agile methodologies and minimize bugs & maximize productivity with Test-Driven Development and Unit Testing. It gives idea to engineering students torefractor existing code for easier maintenance and improved design and achieve quality design by adopting established coding principles. Also, it provides an illustration on real life Agile Implementation through a case study in Extreme Programming along with support for adoption on best practices to successfully manage Agile projects.

  1. Review of Traditional Approaches       [4 hours]
    1. Overview of Waterfall Model
    2. Overview of Spiral Model
    3. Limitation of Traditional Approaches
  1. Introduction to Agile Methodologies [4 hours]
    1. Need of Agile Methodologies
    2. Objectives of Agile Methodologies
    3. Agile Implementations and Variants
    4. Introduction to the Agile Manifesto
  1. Planning an Agile Project       [6 hours]
    1. Establishing the Agile project
      1. Adopting the best practices of the Agile Manifesto
      2. Recognizing the structure of an Agile team
      3. Programmers
      4. Managers
      5. Customers
    2. Developing a Foundation with User Stories
      1. Eliciting application requirements
      2. Writing user stories
    3. Estimating and “The Planning Game”
      1. Defining an estimation unit
      2. Distinguishing between release and iteration
      3. Prioritizing and selecting user stories with the customer
      4. Projecting team velocity for releases and iterations
  1. Agile Iterations        [5 hours]
    1. Breaking user stories into tasks
      1. Recognizing a program’s main purpose
      2. Prioritizing tasks for a cohesive design
      3. The Agile coding process
      4. Write Test, Write Code, Refactor
      5. Allocating time for a spike
  1. Test Driven Development     [12 hours]
    1. Design process with automated testing
      1. Introduction to Test Driven Development
      2. Writing a User Acceptance Test
      3. Compiling and Running tests
    2. Integrating Unit Testing
      1. Distinguishing between user tests and unit tests
      2. Developing effective test suites
      3. Achieving “green lights” through continuous testing
    3. Optimizing test-driven development
      1. Drafting a unit test that is simple, isolated and fast
      2. Isolating classes for effective testing
      3. Creating mock objects for testing
    4. Refactoring
      1. Code Duplication
      2. Renaming fields and methods
      3. Extracting methods and base classes
      4. Programming by intention
  1. Managing Agile Projects         [4 hours]
    1. Delivering the first release
    2. Planning the next release
    3. Adapting Agile to fit Development Methodology
  1. Extreme Programming           [10 hours]
    1. Core Principles and Practices
    2. Requirements and User Stories
    3. Release Planning
    4. Iteration Planning
    5. Customer Tests
    6. Small, Regular Releases
    7. Pair Programming
    8. Continuous Integration
    9. Collective Code Ownership
    10. Team Roles
    11. Case Study

References

  • Robert C. Martin, Agile Software Development, Principles, Patterns, and Practices, Prentice Hall (2002)
  • Andrew Hunt, David Thomas, The Pragmatic Programmer: From Journeyman to Master, 1st Edition, Addison-Wesley Professional (1999)

Evaluation Scheme:

The questions will cover all the chapters of the syllabus. The evaluation scheme will be as indicated in the table below:

 Chapters Hours Marks Distribution*
1 4 7
2 4 7
3 6 12
4 5 7
5 12 22
6 4 7
7 10 18
Total 45 80
 *There could be a minor deviation in Marks distribution
We're always listening.
Have something to say about this article? Find us on Facebook, Twitter or our LinkedIn.
Raju Dawadi
Raju Dawadi
Raju is currently actively involved in DevOps world and is focused on Container based architecture & CI/CD automation along with Linux administration. Want to discuss with him on any cool topics? Feel free to connect on twitter, linkedIn, facebook.

1 Comment

  1. west Melbourne Mktg agency says:

    Thank you for sharing your article the content was great and informative

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.