NOTE: This is the beginning of the group project work. In this course you will be working in teams based on your registered lab section. The teams have been posted to Piazza. If you are not able to attend your lab section during Week 4 of the semester, please post a note to your TA on Piazza asap so that we can put you in touch with your teammates.
To complete this assignment, you are expected to spend at least 4-6 hours (including the 2 hours in lab). Completing the user stories is team work and it will be easier as a team since you can all help to create a complete and correct set of user stories. Make sure to find time to work as a team and do so early on, since it might take you longer than you expect at first.
The purpose of this assignment is to introduce you to the requirements phase through a hands-on activity. You will learn how to generate user stories including acceptance criteria.
You must look through the posted data sets (http://data.vancouver.ca and http://www.data.gov.bc.ca/ ) prior to your lab and bring a written suggestion for a project topic when you attend your lab in Week 4. Note that the Google App Engine will only allow 50000 write operations per day, so you must be sure to select a dataset of a reasonable size. If you’re unsure about the size of your dataset, talk to your TA. This will hopefully help your team quickly settle on a topic so that you can move on to the requirements elicitation during lab. The pre-lab will be graded as part of your participation/attendance grade for lab.
At the beginning of lab, your team has to come up with a name for your team (no longer than 25 characters!), be creative ☺. As soon as you can, give your TA a list of your names, student numbers, CS ids, GitHub ids and your team name so that he/she can create your team and team’s repository on GitHub. You are responsible for getting this information to your TA. Without a GitHub repository, you cannot complete the assignment and I cannot configure handin for your team.
Next, select a data set to work with. Once you’ve selected your data set you will perform requirements elicitation by brainstorming, researching similar products, and asking your TA questions.
After the requirements elicitation session, each team has to analyze the data they generated and specify the requirements for the product the customer wants in the form of user stories. Each user story has to include at least a summary and acceptance criteria (i.e., definitions of done as presented in the lecture).
You must write each story in a GitHub issue. Use GitHub labels to label each story with the epic(s) that it covers. You may also want to create additional logical groupings and use GitHub labels to display those groupings.
Create a Milestone in GitHub called Product Backlog. Assign all of the Issues that represent your user stories to this Milestone.
Each person needs to submit a peer evaluation. This evaluation is individual and not shared with the group. Please submit this evaluation as soon as you finish your group work for this assignment. It is due the day of your lab in the week of February 3, 2014 at midnight. It must be in .rtf or .pdf format.
The peer eval template will be posted to the project page this week.
Prior to your lab in Week 4, do the pre-lab work individually.
24 hours prior to your lab in Week 5, your team must:
Create your user stories as Issues in GitHub (including the acceptance criteria/definitions of done) and assign them to a Milestone called Product Backlog. You must use GitHub’s labels to label each user story with the epic(s) that it pertains to.
Write a project title and 1-2 paragraph summary describing your application on your team’s GitHub wiki on a page called Summary.
One person on your team must submit a copy of your user stories (including acceptance criteria/definitions of done) and compile them into a PDF, and submit them over piazza. This copy of your user stories must be sorted by epic. We expect to see 5 headings (one per epic), with the user stories beneath the headings. Each user story may cover more than one epic, but please just include each user story once in this document. You can decide where it most appropriately fits. We will be able to see that it pertains to more than one epic by looking at the labels on GitHub.
By midnight on the day of your lab in Week 5, each of you must:
Submit your peer evaluation via handin. Instructions will be provided soon.
(10%) Peer Evaluation (completing the evaluation and giving helpful comments)
NOTE: If you do not hand in your peer evaluation, you will receive 0/10 on the peer evaluation grade, so your maximum grade on the assignment will be 90/100. Your teammates will not be penalized.
(90%) the User Stories and Product Backlog
NOTE: this part will be adapted according to the peer evaluations, i.e. the peer evaluation will be used as a percentage-multiplier in calculating your grade