The following describes what specific milestones we expect you to demonstrate at each iteration.
Iteration 0 (after initial customer meeting)
- 2-paragraph (max) summary of the main customer need and how the app meets it, including who the stakeholders are
- Start Date: 3/5/2012
- Deadline 1: 3/11/2012 at 11:59pm (Submit for GSI feedback)
- Deadline 2: 3/18/2012 at 11:59pm (Submit for grading)
- Minimum of 3 features agreed upon with customer that meet needs specific to the customer. (For example, "Customer can log in" or "Customer can authenticate via Twitter or Facebook" is generic and doesn't differentiate your app.) A feature includes:
- a 3x5 story card identifying the stakeholder and desired behavior
- lo-fi UI sketches/storyboards VERY ROUGHLY sketching the flow
- Cucumber feature file with 1 or more scenarios with high-level declarative steps, corresponding to the UI sketches
- Any other formal or informal documentation you keep with the customer to help track your discussions.
- Features turned into stories entered into Tracker. If customer is tech-savvy, consider adding them to the Tracker account. The more engaged your customer, the more smoothly the Agile process will go!
- Add Richard Xia (firstname.lastname@example.org), Michael Driscoll (email@example.com), and Koushik Sen (firstname.lastname@example.org) as "observers" to your Tracker project.
- Design diagram identifying initial key entities and relationships in the app, i.e., what will be the most important models and how will they be related. A UML class diagram is one way to do this. You may, but don't have to, use Class-Responsibility-Collaborator (CRC) cards to help you come up with this initial diagram. UML and CRC cards will be covered in lecture.
- A Github repository containing the source code for your application. We prefer that your repository be public, but if you want to make it private, you must add ‘cs169-sp12-staff’ as a collaborator.
- Initial view, even if just a front page screen, deployed to Heroku, with a visual appearance that isn't embarrassing. Plenty of prepackaged CSS templates and themes are available on the Web if you don't feel your design skills are up to snuff.
- Submit your deliverables to Piazza in a private post tagged #iteration1. For the cards and sketches, scan them and attach them as images to your post. Please include the URIs of your deployed application, your Github repository, and your Tracker project and in your post.
Iterations 2 to 4:
- Meet customer to identify the stories they want you to implement in the iteration. You should pick approximately ⅓ of the stories you submitted for Iteration 1 for each iteration, balancing the workload between each of the iterations. Create a comprehensive set of test cases for each user story to be implemented. One should be able to run the test cases automatically. Test cases should include both successful and exceptional scenarios.
- For both deadlines:
- Please tag your git repository revision with “deadlinei-j” where i is the iteration number and j is the deadline number. For example, for Iteration 2 Deadline 2, you should tag your revision with “deadline2-2”
- Here are some example commands for how to tag revisions:
- To tag the current revision: git tag -a deadline2-2
- Warning: You must explicitly push your tags with the command git push --tags. Before you submit, please make sure that when we clone, we can see the tag
- Submit user stories and test cases for grading. We will evaluate the quality of user stories and comprehensiveness of your test cases.
- Continue to update your Tracker, and make sure your Github repository is up to date.
- If you have changed any of your stories, please write a short description of the changes made and the reason behind the changes.
- Submit the above in a private post on Piazza containing a link to your Tracker, Github repo, and Heroku deployment. Please tag the post with #iterationM and #groupN where M is the iteration number and N is your group number.
- Although we won’t be checking your code for Deadline 1, you should be actively working on developing the stories you are choosing
- By Deadline 2, implement the selected user stories and make sure that all test cases can be run automatically and that the test cases pass. Grading will be based on how many test cases pass and code coverage for the methods used. We might also create our own test cases. The team must also submit a “customer survey” and a “team member performance survey”. Team member performance survey will be used for normalizing grades in each iteration. Please submit again through Piazza.
- Submit finalized test cases for Iteration 2 with the same directions as Deadline 1
- Continue to update Tracker, Github
- Make sure that we can git checkout and run your tests from scratch
- Your Heroku deployment should have the stories you chose for Iteration 2 implemented and working.
- If you were not able to implement all the stories that you initially chose for this iteration, please list which ones and explain why not.
- Each team member must fill out a team evaluation
- Each group must send their customer the customer survey
- Start Date: 3/19/2012
- Deadline 1: 3/25/2012 at 11:59pm
- Deadline 2: 4/8/2012 at 11:59pm
- Start Date: 4/9/2012
- Deadline 1: 4/15/2012 at 11:59pm
- Deadline 2: 4/22/2012 at 11:59pm
- Start Date: 4/23/2012
- Deadline 1: 4/26/2012 at 11:59pm (This is a Thursday)
- Deadline 2: 5/3/2012 at 9:30am (Start of Demo Session)
- Yes, please make one last Piazza post with your final Github repository commit, Pivotal Tracker, and Heroku Deployment
Final Demo/Poster Presentation
- 5/3/2012 at 9:30am - 12:30pm
- Wozniak Lounge
- The final presentation will consists of two parts: a prepared demonstration and a random testing by Richard or Michael
- In your presentation, you should describe the application and walk through the major use cases. You may also explain some of the design choices you made while working on your project.
- You also need to prepare a poster to supplement your presentation. The poster should go over your application, your design, and challenges and lessons you have learned about the software engineering process.
- If you send Richard (email@example.com) a PDF of your poster by Tuesday 5/1 11:59PM, then we will print out a poster for you. The PDF dimensions should be approximately 36 inches by 30 inches with a DPI of approximately 100. If you do not send us the poster, then you are responsible for printing out your own poster by the poster presentation.
- You should invite your customers to the poster session. If they need a parking pass, please tell them they can email Sean McMahon (firstname.lastname@example.org) and they should mention that they are attending the “CS169 poster session”. If you want a pre-written invitation to send to your customer you may use this document: http://www.eecs.berkeley.edu/~rxia/cs169/cs169_poster_invite.doc.
- Breakfast will start at 9:00 AM
- We will have a sign up sheet to determine the approximate order that the groups will present in.
- We are expecting all group members to attend the poster session. You are encouraged to visit the other posters.
- 10 minutes per project
- Part 1 (10 points): Quality of poster and prepared demo
- Part 2 (10 points): Pseudo Random Testing of your project by Richard and Michael
- Schedule: The course staff will spend ten minutes reviewing your poster at the time below:
Staff Team 1
Staff Team 2