Project Plan Template

Each semester, the team should review the documentation for the project to ensure that it is current, that new team members are up to speed, and that everyone is aligned to both short and long term project goals. Of course, if no documentation exists, the first step is to create it! Your understanding of the following information will be assessed in the first sprint, based on the documentation you provide.

Problem Definiton (Why?)

Before you build anything, you need a clear picture of what problem you are trying to solve. Why does the project need to exist in the first place? Is there an unmet need?
Are you replacing a manual process with an automated one? Are current solutions expensive, or missing key features? Does an existing solution need to be ported to new technology or platforms? There are many reasons that you might build an application, but without understanding why, it is difficult if not impossible to make good decisions about architecture and planning if you don't know what problem you are trying to solve.

Demographics

Who will use your application? Is it a web application used by anyone on the internet? A secure mobile app used only by people issued custom hardware? Developers who need a special compiler for an experimental language? The target audience is important to understand, so that during design and planning, that audience (or audiences) can be taken into account. The language used, level of complexity allowable, interface designed, and many other elements will be vastly different if you are building a project for middle aged technophobes than if you are building one for 20-something systems programmers.

Goals

Projects always last longer than a semester, and one of the key things you need to know in order to build a good project plan is what the long term goals are (what is the final desired outcome, which may be years away) and what the short term goals are (what are you expected to accomplish this semester.) You should be able to see how the short term goals contribute directly to the long term goals.

Technology and Development Plans

There is likely one or more areas that you will need to pick up some additional skills and knowledge along the way. What are all the pieces in the tech stack for the project? Which ones do one or more members of the team not have sufficient background in to complete tasks? What resources will you use to come up to speed (tutorials? youtube videos? google?), and how will you prove that you have mastered the material? This could be a report, a proof of concept piece of code, a conversation with the project instructor, etc. You need to define a plan for each team member.

Project Plan

After establishing your short term goals in the goals section, how will you break that down, and what order will you attack these problems? You should have a rough idea which requirements/stories you will do each sprint. This may change over time, but it important that you have a clear understanding of any dependencies that may exist between features, and what priority there is in implementation.