Syllabus


 

Agile Values

This course is aligned with values and principles of the Agile manifesto. In this course, we value

  • Individuals and interactions, so we encourage class participation, and we have group homework assignments and a group final project.
  • Working software, so we learn and practice Agile technical skills, and the final project is a real piece of working software.
  • Customer collaboration, so the final project is oriented around a real stakeholder.
  • Responding to change, so we’ll revise the course backlog, homework assignments, and final project to make sure we achieve the best learning outcomes. 

 

Reading Materials

There is no required reading for this course. Instead, there is a set of recommended reading materials. See the course backlog for details—each backlog item has its own recommended reading list. The recommended readings will enhance your knowledge of the course material. We trust that you are intrinsically motivated to learn, practice, and embody the course material, and that you’ll read as much as possible to maximize your learning.

 

Class Dates and Locations

This is a "hybrid course". We meet over live video every other Monday at 5:30-7:30pm ET, beginning August 29. We also meet face-to-face for two full days on campus, September 17-18, 9:00AM-5:00pm ET. Class dates are:

For details on the content of each session, see the course backlog.

Video sessions: We host live video sessions on Zoom, in this Zoom room.

On-campus sessions: For our on-campus weekend, we’ll meet in room 202 at One Brattle Square, Cambridge, MA 02138.

 

Communication

We want communication to be open and transparent, so most course communication takes place in our Slack group’s general channel. To join the Slack group, ask Richard for an invitation.

 

Course Backlog

One way we align with Agile values is by using a course backlog—a learning backlog—rather than a traditional syllabus. Our course backlog is the list of topics we plan to cover throughout the semester. Each backlog item includes a short description, a list of activities, a suggested reading list, and the date on which we forecast we’ll cover the backlog item. The order of topics and dates may change—we’ll adjust the backlog throughout the semester to ensure we’re covering the right topics at the right time.

Click here to view the course backlog.

 

Homework & Grading

During the first half of the semester, we’ll learn enough about Agile to be able to apply it to real software product development. Homework assignments are short on-line quizzes and programming problems designed to guide your learning. 

During the second half of the semester, you’ll put your learning into practice. You’ll form Agile product development teams. Your team will design, implement, and deliver a real software product together. You’ll traverse all the steps of the Agile product development lifespan, from team formation and product inception all the way to iteratively delivering and improving working versions of your product. 

Your final grade for the semester will consist of:

  • Class participation: undergrad 40%, grad 30%
  • Homework: undergrad 40%, grad 30%
  • Final project: undergrad 20%, grad 40%

To view your grade, visit the course Canvas site.

Class participation: For full credit, you’ll attend and actively participate in all online and on-campus class sessions. Active participation includes a video and audio presence during virtual sessions, contributing ideas during discussions, asking questions, and sharing what you know with students and course staff.

Homework: Homework assignments are due before the next class. To view and submit your homework assignments, visit the course Canvas site. For full credit, you’ll return your homework when it’s due. Your responses to written prompts will be complete and accurate. Your programming solutions will be well crafted source code and executable artifacts created using Pair or Mob Programming, Test Driven Development, and other Agile software development skills.

Final project: You’ll work in teams to design, implement, and deliver a full software product. For full credit, your team will show incremental progress throughout the semester, use all the Agile software development skills shared in class, and deliver the product and share it with students, course staff, and outside stakeholders on the final night of class.

All homework assignments and grades are available in Canvas.