Generative AI tools may not be used for this assignment and must be turned off in any text editors you are using. You are expected to make a good-faith attempt to avoid reliance on “AI Overview” features in search engines, and to verify anything you see there with authoritative sources.
You should use the feedback on your preliminary project plan to revise the scope of your project, and discuss any changes with your assigned TA. The goal of this assignment is to finalize the intended scope of your project based on these discussions and to outline the tasks that you will need to accomplish in order to complete your project.
The structure and page limits for the revised project plan is the same as the structure of the preliminary project plan. If it is useful for your group to have additional documentation, you may include that in a clearly marked appendix at the end of your submission, but your TA is not obligated to not read it. This revision can be as much of a fresh start as you and your TA believe is wise, and you do not need to carefully detail changes you made between the preliminary and revised project plan. That said, you must address concerns and deficiencies raised by feedback in this revised plan. If you are unsure of how to address any of these concerns or if you have addressed them, please discuss them with your TA mentor before submitting this revised plan.
Do not wait for your TA’s feedback on your revised project plan to begin work. Sprint 1 is underway as soon as the revised project plan is submitted.
Grading
The revised project plan will account for 10% of your project grade, and will be graded out of 100 points.
The grading of the project plan is further broken down as follows:
Problem Statement (10 points, max 1 page)
To receive full credit:
- Your problem statement should be 1-3 paragraphs of prose.
- You should clearly identify a single theme that gives a single umbrella for your user stories and major features.
- You should clearly describe your major features in context of your themes and of the problems you’re trying to solve.
User Stories (45 points, max 3 pages)
To receive full credit:
- Each user story should fit with the problem statement.
- Each user story and condition of satisfaction should satisfy the INVEST criteria. In particular, each condition of satisfaction must be specific enough that your TA and your group are will almost certainly agree on whether you’ve completed the condition of satisfaction at the end of the project. (Testable, the “T” in INVEST.)
- Each condition of satisfaction contains a priority (Essential, Desirable, eXtension). The essential conditions describe an MVP, and the essential and desirable conditions describe a coherent and satisfying answer to the user story.
- Each user story has at least one essential, one desirable, and one extension condition of satisfaction. (We recommend at least four essential, two desirable, and one extension condition of satisfaction for each user story.)
The user stories must be numbered (1,2,3) and each the conditions of satisfaction must likewise be numbered (1.1, 1.2, 1.3) and laid out in a table for easy reference.
Remember that you will get full credit for delivering a minimum viable product (MVP) only if you deliver working implementations of all of your essential user stories and conditions of satisfaction. To receive full credit in the project as a four-person team, you must implement MVP AND all desirable conditions of satisfaction.
Work Breakdown (45 points, max 3 pages)
Your work breakdown will be evaluated holistically based on these criteria:
Coverage
- Work includes all reasonably-expected tasks to implement your feature, including research, design, deployment of third-party services, implementation, testing, and documentation.
- Plan is updated to cover sprints 1, 2, and 3 and account for any unfinished work that was planned for sprint 0.
- Plan assigns all work to some sprint.
Assignment
- Each element of the work breakdown is assigned to one responsible team member, even if using pair programming.
- Each team member should have a roughly equitable amount of work in every sprint, and the distribution of work between sprints should be reasonable.
- Each team member is assigned work that includes software development / coding, even if working with pair programming.
- Each user story involves work by at least three group members, and each group member is doing work on at least two user stories.
- Work on each user story is spread across multiple sprints (ideally across all sprints).
Sizing of tasks
- Each element of the work has a size estimate (small, medium, or large) that is provided by the team member responsible for the task, with a justification if necessary.
- Each “large” task has both an explanation for why the team cannot give a better estimate, and is accompanied by a small or medium task in a prior sprint with the goal of breaking down the large task into smaller pieces and giving better estimates for those pieces.
- Sprint 1 should have no large tasks (any large tasks in Sprint 1 should have been refined in Sprint 0).