Milestones

Milestone 1 Milestone 2 Final Submission

There are certain milestones due by certain dates that we require you to turn in on Stellar. This is both so you will have a development schedule you can follow as well as so we can track your progress

Milestone 0 - Git Repos

Due 1/12/14 at 6pm

This year in 6.470, we will be using Git/Github for milestone submissions and to make it easier for you to turn in your source code. Every team is expected to have a Git repository hosted somewhere accessible on the Internet. If you’re not familiar with Git, check out the lecture given on Tuesday, ask on Piazza, or come to office hours.

In order for the staff to access your repositories without making them public, we will create repositories for you in the mit6470 organization. These repositories will automatically be private to your team and the 6.470 staff. The repositories will be on github.mit.edu, so you will need MIT certificates to access them. Cross-registered students should be able to get an MIT certificate after getting an Athena account.

To clone the repo from github.mit.edu, you must generate and add an ssh key to your github.mit.edu account and clone through via SSH not via HTTPS:

git clone git@github.mit.edu:mit6470/<repo-name-here>.git

If you have already created a Git repository and started developing out of it, that's ok! We're only requiring you to update the repo we give to once for each milestone. Please email us at 6.470-staff@mit.edu if you have any questions, or post on Piazza

If all of your team members have MIT certificates

Each member of your team should visit github.mit.edu to be recognized in the system (certificates required). Then, please fill out this form

We will email you when we’ve created your repository. You can use this repository as you develop your site since all of you will have access to it.

Please make sure all of your teammates have logged onto github.mit.edu at least once, else we will not be able to add them all to the repo.

If not all of your team members have MIT certificates

The members that do have certificates should visit github.mit.edu to be recognized in the system (certificates required). Then, please fill out this form

We will email you when we’ve created your repository. You may need to use another repository to develop your site (such as another repository on the non-MIT Github) since the team members without certificates will not be able to access the MIT Github repository. However, we would still like you to turn in your milestones (along with source code) to the MIT repository created for you.

Please make sure all of your teammates who can log onto github.mit.edu have done so at least once, else we will not be able to add them all to the repo.

In order to do this, at least one of you will need to add a second remote, using one of these commands:

git remote add mit git@github.mit.edu:mit6470/<repo-name-here>.git
git remote add mit https://github.mit.edu/mit6470/<repo-name-here>.git

Then, to push to this repository when turning in a milestone, simply do:

git push mit

If none of your team members have MIT certificates

Email the staff. You will still have to use a regular Github account, but we will give you instructions for allowing the staff to access your repository.

Milestone 1 - Idea, UI/UX, and MVP Features

Due Sunday 1/12/14 at 11:59pm

Before beginning work on any website, you should first take some time to think about your users. Who do you envision using your site, what needs will your site fulfill for your target users, and how should you best design your site to fulfill these needs?

For this milestone, please complete the following:

User research

  1. What problem does your application address, and how does your application address it?
  2. What are the killer features of your application?
  3. Identify and briefly describe your target demographic. Who do you envision using your site?
  4. Develop at least one use case for your site. This should be a list or table demonstrating a sequence of user actions and website responses that occur when a user attempts to complete a core task on your site. Make sure to indicate the task the user is trying to complete.

Site Design

Think hard about your most complicated page. What are the important features of this page? What usability problems may come up? For your most important page:

  1. Draw out, by hand, three different designs for this page. Scan these for your submission.
  2. Make a list of 3 pros and 3 cons for each design.
  3. Pick the best design and mock it up using an image editing program (i.e. Photoshop or Gimp) or using HTML/CSS. Submit a screenshot of this mockup.

Minimal Viable Product

In agile software design, a minimal viable product (MVP), or "simplest thing that works" is a product that encapsulates the essence of your application. This is an opportunity for you to think hard about what features are essential to your application and make sure that it is implementable. By implementing your MVP, you may learn more about your users' preferences or discover unexpected pitfalls.

Remember, an MVP is not just a skeleton. You should make sure that you have made significant progress on your most important features. For example, a site that just implements login is not a valid MVP.

The MVP will be due on 1/22/14, five days before the final product is due. Teams that do not pass the MVP milestone will not be eligible to compete in the main division.

Please answer the following questions about your plan for your MVP:

  1. What features do you plan to implement? How critical are they to the proper functioning of your application?
  2. What features do you plan to leave out? How critical are they to the proper functioning of your application?
  3. Are there any other aspects of your application that are reduced in your MVP? Examples including limited fake datasets, stylistic concerns, security concerns, etc.

Additional Questions

Please answer the following questions. Please be succinct as possible.

  1. Who is in your team? You may list at most 3 people (4 if you are not competing in the main division). For each member list the full legal name, .edu e-mail, school, major(s), year, and graduate/undergraduate status. For each team member, also indicate whether they are registered to take the class for credit.
  2. Which of the themes does your application match best? Be as brief as you can.
  3. What technology do you plan to use for your server-side programming (e.g. PHP, Ruby on Rails, etc)?
  4. What risks do you envision preventing you from successfully implementing your idea? Consider this an exercise of imagination, not a test of confidence.
  5. Are you planning to participate in the competition? If so, are you competing in the main division or the rookie division? Your answer will solely be used for planning purposes.

Submission Instructions

To submit Milestone 1, fill out the form here by the submission deadline

When submitting the form, you will need to provide a link to an MIT Github repo that we created for you during Milestone 0.

Please put your answers to Milestone 1 questions in a single Markdown file milestone1.md within a milestone1 directory in your repository. You may also place images into this directory and include them into the Markdown file.

Milestone 2 - Minimal Viable Product

Due Thursday 1/23/14, 6pm, via this form

For this milestone, we would like to see that you've made significant progress towards your final product by looking at your MVP. You may wish to review the technical requirements to ensure that your site meets these requirements.

Remember, your MVP should capture the essence of your application and include your most important or compelling features. As such, your app should go beyond a simple skeleton or scaffold. Users should be able to get the essence of your application via a fully-functional important feature.

Specifically, by this milestone, you should have, at minimum:

Answer the following questions:

  1. Did any of your answers to Milestone 1 change (particularly the Additional Questions, your idea for your site, or team members)? Write the numbers for the questions whose answers have changed, and their new answers.
  2. Which features are implemented. To what extent are they complete?
  3. Are there any features you wanted to include in your MVP from Milestone 1 that are not complete? If so, which are they?
  4. What additional features do you wish to implement? How far along on those features are you?
  5. What technologies are you using for the back-end? Include any frameworks if relevant.
  6. What technologies are you using for the front-end? Include Javascript frameworks such as jQuery, templating frameworks such as Handlebars.js, and other client-side frameworks such as Ember.js or Backbone.js.
  7. What is the main browser you are targeting? Must be one of our supported browsers.
  8. What implementation unknown / risks are you still facing? Consider this an exercise of imagination, not a test of confidence.

Optional question:

  1. If you are currently in the Rookie Division and would like to switch to the main competition, please let us know.
  2. If there are ANY changes to the composition of your team, please let us know
Please note that after 1/23/14 at 6pm, the staff will no longer approve any team changes (including changes to which division you are competing in).

Also, while some of you were notified that you do not qualify for the rookie division in Milestone 1, your team has the responsibility to make sure that you qualify even in case you were not notified. Teams that do not qualify for the rookie division must change to the main division by Milestone 2.

Submission Instructions

To submit Milestone 2, fill out this google form

When submitting the form, you will need to provide a link to an MIT Github repo that we created for you during Milestone 0. You will also need to host your site in a way so that it can be accessed over the Internet. Hosting platforms like Heroku or MIT Scripts are preferred. You can also host on your local computer, but beware of changing IP addresses and turning off your computer.

Please put your answers to Milestone 2 questions in a single Markdown file milestone2.md within a milestone2 directory in your repository. Please do NOT use PDF or Word documents, or any other document format that cannot be viewed on Github.

Final Competition Submission

Due Tuesday 1/28/14 at 5pm

This only applies to competitors.

Your final submission will be a form found on this site, to be posted closer to the deadline. Note: this form will close at exactly 5:00PM; submissions will not be accepted after the form has closed.

Additionally, please be aware of the following if you are chosen for a semifinalist: