15-413 Software Engineering Practicum

Fall 2008
Professor Jonathan Aldrich

Course Structure

This is a project course.  You will work in teams of 3-5 (just one team given the 2008 enrollment).  In the first week, you will choose among several potential projects proposed by clients here at CMU.   You will gather requirements from your client, plan your efforts, and then architect and design your project. You will build the project using an iterative process, gathering feedback from your client after each iteration.  You will be responsible for ensuring your project is of high quality and meets the user's needs. At the end of the course you will deliver the project to the client, along with all necessary documentation.  You will also reflect on your experience and what you have learned through the project.

You can write code in any project course.  The goal of this course, therefore, is to give you a chance to follow software engineering process right.  This is a luxury you may never get in industry, where pressures to deliver are so great that corners get cut, often with disasterous long-term results.  With the experience of this course under your belt, you will be able to choose the elements of process that are essential for an effectively working team, and the background to effectively resist pressures to meet a short-term deadline at high long-term cost.

In this course you will follow a modified Scrum process.  You will meet with your team twice weekly and with the instructor once weekly.  There will be very few lectures, and only when necessary to introduce a new process element you will be using in your course.

Project and Process Requirements

Lecture Topics

Course Schedule

This schedule is subject to modification as needed to accomodate the project, as negotiated by each team and the instructor.  Note that Sprint 1 is a week longer (Sept 4-Oct 9) because of the need to define architecture, while Sprint 3 is slightly shorter due to the Thanksgiving break.  Planned dates are as follows:

August 26
Project list available
August 28
Project choice due
September 4
Overall project plan due
September 11
Refined project plan due
Sprint 1 requirements and plan due
September 18
Architecture and high-level design document due, including an inspection report
Also turn in the first weekly progress report
October 2 Sprint 1 test plan due
October 9 Sprint 1 complete
October 16 Sprint 2 requirements and plan due
Sprint 1 report due
October 23 Initial feedback received from clients
October 30 Sprint 2 test plan due
November 6 Sprint 2 complete
November 13
Sprint 3 requirements and plan due
Sprint 2 report due
November 20
Sprint 3 test plan due
December 4
Sprint 3 complete
Finals week
Final project presentation
360o peer evaluations due
Individual reflection due
Project report due
Project artifacts delivered to client