Milestone Document

Typically the timeline for developing software, games or otherwise, is divided into what are called “milestones.” Milestones are important markers that signify the completion of crucial tasks in the development cycle. The development team creates a Milestone Document, detailing the specifics of each milestone.

Those from the introductory class should be very familiar with the milestones. They correspond to bolded deadlines on the assignments page. These milestones are two week sprints where teams are expected to have a playable deliverable at the end. For each milestone, teams should identify a small list of features to implement and then implement them as part of this sprint. By the last milestone, each team will have hopefully implemented all of the features necessary to complete the game.

When determining grades, the milestone document counts as part of the team workflow. A milestone document is not a document that we want multiple revisions of. In fact, we expect the milestones that you set out in the document to change significantly as the semester progresses. Instead of revising the milestones documents, teams will update the milestone tasks in the two-week reports later in the course.

Because it is so early in the semester, many students wonder about the usefulness of this document. Since the milestones are so likely to change, why are we writing them down? The purpose of this document is simply to get each person in each team thinking about the process now; planning prevents panic. As long as we see that each team is making a good faith effort to plan out work throughout the semester – even knowing that everything will change – we are happy.

Table of Contents


The Milestone Document

For this class, we have identified the basic milestones; it is up to each team to tell us what is planned for each one of them. The milestones officially begin with the conclusion of the nondigital prototype and should address the specific tasks below.

Sprint Task Deadline
Sprint 1 Gameplay Prototype 3/1/23
Sprint 2 Technical Prototype 3/13/23
Sprint 3 Alpha Release 3/27/23
Sprint 4 Closed Beta Release 4/17/23
Sprint 5 Open Beta Release 5/1/23
Sprint 6 GDIAC Showcase 5/20/23

While we care about the other assignments (e.g. the documentation that you write between deliverables), we will not worry about them for this exercise. Start each milestone with the following information:

  • A title
  • A short description
  • A due date
  • The production dates
  • Presenters (two or three) for each course presentation (see the calendar)

In addition, provide a short paragraph detailing the informtation below.

Deliverables

What do you expect to deliver at the end of this two-week milestone? Remember the process from the introductory course. Teams are picking a small list of features from the final project and implementing them over this two-week sprint.

Obviously, the deliverables should include the tasks in the schedule above. However, it is also a good idea to put in smaller tasks that are important, but not on the schedule. For example, we require each team to complete a level editor for the game. We strongly recommend finishing this by alpha release. However, some groups only create a simple editor for alpha and push most of the work on the level editor off until beta (and their games are not as good because of this).

Another thing to keep in mind is issues such as game AI. If your game is a strategy game, where AI really matters, then start working on it right away. However, if it is a platformer or other game where AI is less important, then the team can delay it until the end.

Test for Acceptance

Now that you know what the deliverables are, how do you measure success? Or more appropriately, how would you tell that the sprint was a failure?
Answers like “playable gameplay prototype” are not enough; we need to know what you mean by terms like “playable.”

To help you with the team’s test for acceptance, imagine that we are grading the milestone deliverable. How would you like us to evaluate it for a grade? What would count as an A? or a B? While we will not actually give letter grades on an individual milestone, this is a good way to express your team’s test for acceptance. Did you meet or exceed the predicted milestone?

It is very important that teams have concrete goals for the tests for acceptance. Subjective criteria like “the game is fun” is very hard to measure, and so teams cannot tell if they passed the test or not. On the other hand, teams can measure things like “My roommate really likes the game” or “the majority of the focus group we kidnapped off the street believe the game is better than Darksouls.” Other examples of good tests are “We can play the game for 20 minutes without it crashing” or “Our artist, who has no programming experience, can use the level editor to make a level.” These are the types of solid milestones that outline progress.

Risk Assessment

In the test for acceptance, teams have expressed how they would like for us to grade the milestone. Given this, do you believe this is an easy A? Or is there something that the team is worried about? It is okay if this is the case, but the team should list those things here.

Be honest in the answers here. Failing to meet a milestone is okay. This class is all about failure and how even failure pushes us forward. Hiding the reasons why you failed, however, is a no-no. We are likely to subtract from the final game grade if we find “surprising” problems at the end of the course.

Contributors

Once you understand the deliverables, the test for acceptance, and the risks, it is time to delegate tasks. Hard tasks should be given to team members capable of finishing them. Use the labs and review the workflow bios for some idea of each team member’s strengths and weaknesses. Remember, also, to specifically list who will be presenters for each of the talks in class (see the course schedule). At the same time, update the workflow task table to include the speakers for each event (all team members must be presenters during the term).

In assigning tasks, we do not need teams to assign hours (yet). Just tell us roughly what each person should be focusing on each week. Do not worry if you cannot think of everything; this is the one thing you will change the most as the semester progresses.


Milestone Guidelines

Because we are always tinkering with course, we do not post the instructions for each of the deliverables above until the start of that sprint. That might seem a little unfair; we are asking you to mention deliverables without actually telling you what we are expecting for each deliverable. This is lessened a bit by that fact that most of you have been through the introductory course before, but the deliverables are not exactly the same.

In order to help you with your milestones, here is what we are roughly expecting for each major deliverable.

Gameplay Prototype

This is the first software prototype. It is allowed to be a throw-away prototype in any language.

Technical Prototype

This is an evolutionary prototype. It must at least run on a mobile device simulator of your choice.

Alpha Release

In this release you have completed most of the basic software feature. You need one a playable level, and some evidence of a level editor (3rd party or custom made) is required. The release should run on a device of your choice.

Closed Beta

In this release, most of the gameplay features are complete. You have a few playable levels showing a difficulty progression. We expect some limited user testing after this release.

Open Beta

This release is feature complete with a good number of levels. We expect a complete user-testing plan, with extensive user testing after the release is presented.

GDIAC Showcase

This is the final public release. There are no more changes at this point. However, between Open Beta and Showcase is a mini-release called Golden Master. This is a pre-Showcase check-in where we verify that your software correctly installs on all target platforms.


Examples

It is not as important to get the milestone document correct as it was to get the concept document and gameplay specification correct. However, it is always good to get it as right as possible on the first try. Therefore, we have provided some examples of solid milestone documents from semesters past. Use these as templates when writing the milestone document.

Luminance

The most recent document on this list, the Spring 2022 game Luminance was eventually rebranded at Dungeon Deception. The presentation of this document is almost perfect, as you can tell from the very few notes in this document. Indeed, our only complaint was the ambitiousness with the project and the lack of a “plan B” if things did not work out. But structurally, this is a very good document to emulate.

Family Style

Another recent document on this list, this set of milestones was made for the game Family Style in Spring 2019. It is a solid set of milestones, and most of the issues are with formatting and presentation. As you do not get to revise this document, we have left our grading comments in this document to see what we are looking for.

Dive

Dive was another game made in Spring 2019. Overall this is a good document, but we had some questions for the team. We have left these questions in the document so that you can see what to watch out for.

Squeak & Swipe

This document was made for the game Squeak & Swipe in Spring 2016. It is one of the better examples from this class. It is short, but it covers all of the key concepts. It also does an excellent job of identifying deliverables and breaking them down into tasks for individual team members.

Dispossessed

This milestone document was made for the game Dispossessed, created for the introductory course in Spring 2015. This team had some of the same members as Squeak & Swipe, which is why the document is similar. It is an excellent document to emulate.


Submission

Due: Sat, Feb 18 at 11:59 PM

You should submit a PDF file called milestones. Again, we ask that the file be a PDF so that we can annotate it. While you will not revise this document, the feedback that we give is important for the two-week reports.

As we have said several times, the milestone document is just for teams to get started thinking about how to organize the semester. We will give you a few comments about whether or not we think your plan is feasible. However, we will be happy as long as you show that you took this exercise seriously.