Table of Contents
This is a course homepage for Agile Software Development.
Announcement
- Students taking this course must join the course google group to get announcements and to participate in discussions.
Objectives
- To learn the practices and the principles of agile software development, and to appreciate its values.
- To gain experience applying agile practices to real projects.
Schedule
Every lecture (except the first one) starts with feedback & discussion.
Week 1 (11/6)
- Discussions.
- Super quick intro. to various agile practices. – slides-odp slides-pdf
- Discussion on projects. Team formation. Appointment hours.
- (maybe outside class) Set up source version control system.
Links:
- Martin Fowler: Technical Debt, Technical Debt Quadrant
Week 2 (11/13)
- Concept: Values, principles, and practices.
- Scrum.
- Technical practices: managing codebase
- Discussion on development environment. (By appointment)
- Trying to improve the environment. (If possible)
Week 3 (11/20)
- More on scrum.
- Technical practices: refactoring.
- User stories.
Week 4 (11/27)
- How to maintain your code base.
- Technical practice: unit testing, TDD.
- 12/4: class cancelled. (activities outside class.)
Week 5
- 12/9. Agile Estimating and Planing
- Many useful slides at Mountain Goat Software
- 12/11. Practice: unit testing, TDD (again)
Week 6
- 12/16. Intro to Retrospective (also include the course retrospective)
- 12/18. Some Theory
Future classes
- Intro. to retrospective.
- Planning and Estimation (1).
- Week 6 (12/18)
- Early deployment + discussions.
- Planning and Estimation (2).
- Midterm week (12/25), New year holiday (1/1). (activities outside class.)
- Set up deployment environment so that each group can have short deployment cycle for its project.