SDL Project Proposals

Thank you for your interest in providing projects for the Software Development Lab (SDL). In SDL, each team of 3 to 5 students works on a moderately large project for a full academic year. Projects start in September, with final delivery toward the end of May. Teams will attempt to deliver running systems, but final deployment is the responsibility of the client.

Successful projects have several characteristics:

Students respond particularly well to projects that provide value to a larger community. Projects for non-profits certainly fall into this category. But projects that benefit businesses also work; we just need to identify a benefit to people other than investors. Students are also interested in learning new technologies and addressing new problem areas. The key element is motivation: building useful systems and providing opportunities to learn new skills.

Clients are expected to engage with the students throughout the project:

We will consider multi-year projects, but we cannot guarantee that any particular project will be picked up by a team in the following year. It generally works best to break large projects into smaller pieces with a different portion implemented each year. It is critical that students in successive years have important new features to implement rather than simply refining existing features done by previous teams.

Constraints

Process and Timelines

We start collecting new projects in March.
  1. By the end of March, clients need to write a paragraph briefly describing the problem to be solved, how that system will benefit users, and what technologies will be involved. Email that to hasker (at msoe.edu). You are encouraged to contact Dr. Hasker either by email or phone (414-277-7326) if you have questions or need help refining the idea.
  2. Dr. Hasker will use the paragraph to compile a list of potential projects to be sent to the students.
  3. Mid-April: students will rank the projects by interest. In the past we have made final assignments during the summer, but we are experimenting with notifying students earlier.
  4. End of August: clients will be contacted by instructors to arrange a first meeting with each team.
  5. First week of September: initial meetings with teams establishing basic scope and expectations for the projects. Teams will interview the clients for more information.
  6. First three-week "sprint": teams will refine the requirements and develop storyboards capturing how users will interact with the system.
  7. Week 3 or 4 of the fall term: teams will review the storyboards with clients and develop prototypes.
  8. Last 3 or 4 weeks of the fall term: teams will construct initial versions of the system.
  9. Winter quarter: teams will continue the project with a goal of delivering a preliminary version by the end of the quarter.
  10. Spring quarter: teams will deliver a final version of the software by the end of the year.
Note there is no expectation that students will work on the projects over the summer months.

Successful Projects

The following is a partial list of successful projects to help clients determine scope and evaluate ideas:

The full list of projects for 2019-20 is here.