CS312 - Final Project
Project management
We will be following the scrum agile development practice for the project (we will talk about this in class shortly). We will be conducting three sprints. To help you coordinate your team, we will devote class time to sprint planning, stand-up meetings, and demos at the end of each sprint. You will still need to meet outside of class a couple of times, though more typically in smaller sub-groups.
There are two special roles that will need to be assigned within the group.
-
Product owner: This is the person with the overall big picture of the project. In most cases, this will be the person who originally proposed the project, though you may chose to pick someone else. This person is not in charge, but they are the authority with respect to feature functionality.
-
Scrum master: This person is in charge of the logistics of managing the process. They are not in charge of the project, but they have ultimate authority with respect to adhering to the scrum practice. This should be someone who is organized and detail oriented.
The start and ends of the sprints will be announced on the main schedule. Stand up meetings will happen during every class we are not planning or demoing.
Deliverables
Team
Final code [due date 2017-05-19 23:59]
There is no need for an actual hand in provided I have access to your Git repository (which you should give me once you have it set up).
The final version must include a README file in the base directory. This should give an overview of the code and directory structure, installation and deployment information, and guidance on running your tests.
Team write-up [2017-05-22 18:00]
As a team, you must put together a three page (max) write-up summarizing your project. The report must discuss the following:
- What was the original project plan? How much of this did you accomplish?
- What were some of the challenges in implementing the project?
- What were some of the challenges/benefits of the scrum process?
- What things did you change in your process based on sprint retrospectives?
- What was your team's "velocity" by the end? Specifically, how much work could your team accomplish during a sprint (state this in whatever terms you were using to score user story difficulty). Was this consistent over the sprints?
- Include an appendix (which will not count against your page limit) with:
- For each of the sprints, the sprint story commitment including the difficulty (i.e., what you planned to do)
- For each sprint, what user stories were completed by the end of the sprint (i.e., what did you do)
- Any backlog items you didn't get to
Demo and presentation [due date 2017-05-16 11:00a-1:00p]
Your team will make a 30 minute presentation at some point during finals. This final project is partially about what your final working project does, but should also discuss the team's experience with scrum and working together. Your presentation should include:
- A demo of your finished project. Your demo should include a walkthrough of the features from a user perspective as well as any cool behind the scenes features (fast algorithms, interesting technologies, etc)
- A discussion of the major challenges. These can be technical as well as challenges of working in a team environment.
- Comment on your scrum process:
- What are some of the pros/cons of the process from your teams' perspective?
- What was your velocity? Did it change over time?
- What did you change from sprint to sprint based on your sprint retrospectives?
- Things that you would have done differently or interesting things that you learned.
- Future work. What is left to be done (if there isn't anything perhaps you weren't ambitious enough…)? Is anyone going to carry it on and finish it?
Not everyone in the group needs to present, though you should all be involved in the preparation. I strongly urge you to do a couple of dry runs to make sure that you are not surprised during your own presentation, and you have smooth hand offs between presenters.
Individual
As an individual, you will be expected to attend all of the team meetings and contribute regularly, both to the code and the other deliverables. You will also be expected to turn in the following deliverables:
Sprint status reports [due date 24 hours after sprint retrospective]
At the end of each sprint, before planning for the next sprint you must turn in a short status report of your accomplishments during the sprint. The status report must include:
- Name and sprint number (1, 2, or 3)
- A short summary (about one paragraph) of your accomplishments during the sprint
- A log for each stand-up meeting consisting of your accomplishments and the number of hours worked between the last stand up and the current one. You should be keeping this log up to date throughout the sprints. I will be looking for consistent effort and progress (though I know that outside pressures may cause some variance).
- Any issues you had for the sprint. (If none, state this)
Individual write-up [2017-05-22 18:00]
You must submit a 1.5 page (max) summary of your overall contribution and experiences on the project. The write-up must answer the following questions:
- What were your overall contributions to the project? Use your sprint status reports for reference, but this should be a high-level summary.
- Describe your role in the team.
- What were some of the challenges you encountered during the project?
- What were some things you think you did particularly well? (These could be technical or project coordination, etc…)
- Provide some feedback on your teammates:
- For each teammate, give a score of how much they contributed from 1 to 10 (or put ? if you don't know or have no comment)
- Were there any team members who put in an extraordinary effort? Anyone who you felt didn't do their fair share?
- Relative to your teammates, do you think you did more work, less work, or about the average?
Evaluation
Points |
Metric |
50 |
Project quality |
10 |
Team demo |
10 |
Team write-up |
10 |
Sprint status reports |
10 |
Individual write-ups |
10 |
Participation |
The items will be graded as follows:
- Project quality
- does the project meet the specifications?
- how ambitious was the project?
- how complete was the project?
- how finished does the project look/perform?
- Team demo
- did it motivate the project?
- does it cover all of the features?
- was it organized and well prepared?
- was the presentation smooth and well delivered?
- were the slides/presentation materials of good quality?
- Team write-up
- does the write-up meet the specification?
- spelling and grammar
- clarity and organization
- quality of analysis and thoughtfulness of answers
- Sprint status reports
- do the reports meet the specifications
- what work was accomplished during the sprints
- Individual write-up
- does the write-up meet the specification?
- spelling and grammar
- clarity and organization
- quality of analysis and thoughtfulness of answers
- Participation
- how much did you contribute to the project personally
- how engaged were you