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.
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
The summer semester is an on-campus face-to-face experience. We meet Monday-Thursday at 3:15-6:15 pm for three weeks beginning June 25.
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.
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 20%, grad 10%
- Homework: undergrad 50%, grad 50%
- Final project: undergrad 30%, grad 40%
To view your grade, visit the course Canvas site. (Grades on Canvas are accurate for graduate students. Undergrads, you'll have to compute your grade based on these percentages.)
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.