For the first phase of the project, you will be using the various planning techniques we've learned in order to get ready for building your product. There are two main goals to this phase:
- Understanding what product you want to build, and planning your first few steps.
- Developing an efficient way of working together as a team (i.e. developing a process).
Get together with your team (you can use your team repo to exchange contact information), and choose one of the 3 project options. Once you decide on a project, read this handout together, and make sure everybody is clear on what they need to do.
Note: You will not be allowed to switch projects after this phase, so please make sure you are happy with your choice.
All of your team’s deliverables should be submitted in a folder called Phase1
, in the root of your team repo.
- It is up to you to decide how to organize the files in the
Phase1
directory, and which format(s) to use (e.g. PDF, text, Markdown, etc.). - Make sure it is easy for the marker to read your submission.
- Suggestion: You can create a README.md file in the root of your team repo, and link to your submition from there.
You submission should include the following information
- Introducing the team (5 points)
- One picture with all group members.
- Short bio for each member (up to 150 words).
- Choosing the project (5 points)
- A short paragraph (up to 200 words).
- Which option did you choose?
- Why did you choose it?
- How did you reach the decision as a group?
- Two Personas (5 point)
- At least as detailed as the examples that appear in the lecture notes.
- User Stories (20 points)
- High-level stories to help you define the MVP.
- More detailed stories to help you define your first release (i.e. The features you realistically plan to implement in Phase 2 of the project).
- Detailed stories to help you plan your first iteration (iteration = 1 week of work).
- We also want to see the lower-priority stories that you decide not to implement for the first release.
- Stories should include priority and size/difficulty.
If you specify the priority and/or size using numbers, please let us know what the numbers mean. For example, you might choose to specify the priority of a feature/story as- 1 - We must have this feature, without it our product has no value to our users.
- 2 - Valuable feature, but we can still release a product without it.
- 3 - Might be valuable, but we should look at it later.
- MVP (15 points)
- A short description (up to 300 words).
- This description is meant to be read by a non-technical client.
- The initial project descriptions are open for interpretation, and we expect different teams to end up with fairly different products. We want to know what makes your team’s product special. Think of it as if you are trying to convince a client to choose your team’s proposal over other proposals.
- Here are examples of things you may want to mention:
- Cool features that make your product unique.
- Technical challenges you are planning to overcome, and, by doing so, have an advantage over potential competition.
- Unique user experience, based on an insight about your users.
- Release & Iteration Planning (10 points)
- Which user stories are you planning to implement for your first release?
That is, the features you will implement in Phase 2 (3 weeks long) of the project. - Mention 3 user-stories/features/components that you decided to exclude from your first release, and explain why you decided to postpone implementing them.
- Which user stories are you planning to implement in the first iteration? (Iteration = 1 week of work)
- Which user stories are you planning to implement for your first release?
- CRC cards (15 point)
- CRC Cards that show a high-level design of your software architecture.
- Choose 3 user stories you are planning to implement early on, and “play out” their scenario using your CRC cards.
- If you are not sure about what we mean by “playing out a scenario”, please make sure you attend the upcoming tutorial, as we will go through an example.
Your individual deliverable should be submitted in a file called phase1-peer-eval.md
, in the root of your personal repo.
-
Evaluate each one of your teammates, and explain your evaluation in 1-3 sentences.
-
Use the following evaluation scheme:
- 0 - Absent, non-communicating and/or destructive.
- 1 - Significantly below average contribution.
- 2 - Average contribution.
- 3 - Significantly above average contribution.
-
The total number of points you are allowed to give is at most 2(team-size - 1).
-
That is, you have enough points to evaluate all of your teammates as average. If you evaluate someone above average, then you must evaluate someone else below average.
-
Please follow this format:
* GitHubUsername1, NumericEvaluation - Explanation * GitHubUsername2, NumericEvaluation - Explanation …
Your team’s deliverables will be graded on:
- Content, as specified in the Team Deliverables section.
- Arguments - For most questions in this phase, there are no right or wrong answers. What we want to see are strong arguments that support your answers.
- Presentation - Writing clarity, proper grammar, organization, etc.
Here are some suggestions to help you get a high grade for this phase:
- Go through your teammate’s work, and provide feedback to one another.
- When you review your own work, take some time between writing and reviewing.
- Try to communicate the same amount of information in less words.
- Focus on content, not power words.
Each student’s final mark is determined by their team’s mark, and their teammates’ peer evaluation. Your final mark will be computed as follows:
- Average all evaluations you received from your teammates.
- Round the average (.5 will be rounded up).
- Your final mark is your team’s mark multiplied by a factor of
- 1, if your rounded average evaluation is 3
- 0.9, if your rounded average evaluation is 2
- 0.75, if your rounded average evaluation is 1
- 0, if your rounded average evaluation is 0
- A student that doesn’t submit a peer evaluation (or submits an incomplete evaluation), will get a mark of 0 for this phase.