Iterations 1-4

See below calendar for general instructions.

Fall 2017 Iteration Calendar

Due Date

Customer Meeting?

Peer Evaluation Survey:

Preliminary Iter1-1

Wed 10/10 - 1 hr before section




Sat 10/14 11:59 PM



Fri 10/20 11:59 PM

Preliminary Iter2-1

Wed 10/25 in section




Fri 10/27 11:59 PM



Fri 11/3 11:59 PM

Preliminary Iter3-1

Wed 11/8 in section




Fri 11/10 11:59 PM



Fri 11/17 11:59 PM

Preliminary Iter4-1

Wed 11/22 in section




Mon 11/27 11:59 PM



Sun 12/3 11:59 PM


The project will be completed in two week iterations, following the Agile methodology. Iteration 0 was intended for you to learn more about your project and work through all setup logistics, and iterations 1 through 4 is when you will actually implement your app. Iterations 1 through 4 have two parts each (i.e. iteration 1-1 or iteration 1-2), and there will be a set of deliverables for each part.


Please see calendar above for specific due dates & times.

  • Part 1:

    • Before GSI meeting:

      • Have customer meeting

      • Finish preliminary iteration *-1

    • GSI meeting during section:

      • Get feedback on previous iteration

      • Discuss plan for this iteration

    • Sunday after GSI meeting:

      • Iteration *-1 deadline

  • Part 2:

    • Sunday after iteration *-1 deadline:

      • Iteration *-2 deadline


  1. Customer Meeting

    1. Try to set up a regular time to meet with your customer every two weeks (every 1 week during the summer course).

    2. Well before the meeting, send the customer a reminder of the link to your app on Heroku so that they can play around with the app's newest features and prepare feedback before the meeting. Remember customers may have busy daily schedules so send this reminder at least a couple of days before the meeting.

    3. During the meeting, get feedback on what you implemented last iteration. It's important to let the customer "drive" so you can watch them interact with the app; doing the driving yourself while the customer watches is NOT effective. Next, discuss what you plan to work on this iteration. This may involve improving existing features or adding new features. Develop user stories and lo-fi mockups with your customer for those features.

      1. For any user stories / features that your customer “approves” the implementation of from the previous iteration, be sure to mark those user stories as “Accepted” on Pivotal Tracker.

    4. After the meeting, type up your meeting minutes into the Google Doc that we provide for your team. Your GSI will review these notes before your GSI meeting.

      1. Remember to put dates on your notes! You should order doc so that the most recent notes are at the top.

  2. Preliminary Iteration *-1 Submission

    1. Type up the user stories you plan to implement this iteration into Pivotal Tracker

      1. Try to break down each story into <= 3 points.

      2. Label each story with “iter*” (i.e. “iter1”) using Tracker’s label feature.

      3. Pivotal lets you attach files from Google Drive to each story! Use this to attach any corresponding lo-fi mockups.

  3. GSI Meeting

    1. Your GSI will give you feedback on the things you implemented in the previous iteration, as well as feedback on your preliminary iteration *-1 submission. This may involve rewriting some of your user stories.

    2. This is also a time for you to ask any questions or bring any concerns up with your GSI.

    3. Attendance is required!

  4. Git & GitHub usage
    1. Specify the commit type (from this list) at the beginning of the commit message with "[]". For example, a commit message will look like "[feat] A new feature.".
    2. Branch per feature.
    3. Create a Pull Request to the master branch when a feature is finished. You can use rebase to resolve conflicts. You are encouraged to squash commits into a major commit.
  5. Iteration *-1 Submission

    1. Edit your user stories on Pivotal Tracker based on GSI feedback.

      1. Each story needs to be assigned to someone.

      2. Label each story with “iter*” (i.e. “iter1”) using Tracker’s label feature.

      3. Remember to click “Start” on the stories when you start working on them!

    2. Create a cucumber feature file for each user story that you plan to implement. You should write out all scenarios for that user story as we have done in class. Also write step definitions for all of the new steps that you are using. You don’t need to implement them though, you can just put pending inside the step definitions. If you’re updating an existing feature, you can just edit the feature file for that feature.

    3. Commit those files and tag that commit with “iter*-1” (i.e. “iter1-1”). Push to GitHub!

  6. Iteration *-2 Submission

    1. Implement the user stories you said you would implement in iteration *-1. This means by the end of iteration *-2,  the cucumber scenarios you submitted in iteration *-1 should all pass.

    2. After you commit everything above, tag that commit with “iter*-2” (i.e. “iter2-2”), and push to GitHub!

    3. Push to Heroku!

    4. All user stories that you finish implementing + testing + deploying should be “Finished” then “Delivered” on Pivotal Tracker! You should only mark a user story as “Accepted” once your customer has approved your implementation of that feature.

    5. Assess your teammates' contributions during this iteration by filling out the peer evaluation survey for this iteration. Each person on a team needs to submit the survey once per iteration. Your responses will be kept strictly confidential; we use this information to help with project grading, so please be honest and fair

      1. Overall, did this person exceed expectations, meet expectations, somewhat/barely meet expectations, or fall short of expectations as a contributor during this iteration? (Consider a variety of factors: did this person communicate with rest of team effectively?  Did they try to do their share of the work? Were they prepared to work on the project, that is, did they seem to have command of the material covered in the homework?)

      2. Please provide comments to help us understand your rating.


  • Preliminary *-1 Deadline:

    • Notes from customer meeting on designated Google Doc

      • Notes from team meetings are suggested but not required

    • User stories that you plan to implement are added to Pivotal Tracker

      • Labeled with the correct iteration number

      • Attached lo-fi mockups from Google Drive

  • *-1 Deadline:

    • [Revised] user stories are on Pivotal Tracker

      • Labeled with the correct iteration number

      • Attached lo-fi mockups from Google Drive

      • Assigned to people

    • Cucumber scenarios written for those user stories

      • Step definitions are defined but can be pending

  • *-2 Deadline:

    • User stories have been “Finished” and “Delivered” on Pivotal Tracker

    • Heroku deployment demonstrates all user stories implemented this iteration and previous iterations

    • Travis CI build for your tagged commit is passing

    • Code Climate GPA is above 3.5

    • 90% code coverage on Code Climate

    • Each person on team completed peer evaluation survey

In addition to these items, part of your iteration grades will be subjective, based on the quality of your user stories, tests, and implementation in general.

Part of your grade will also be based on a qualitative customer survey we will ask customers to complete after each iteration meeting with your team. Here is the survey we've used in the past: