Proposal Phase 2
This section of the proposal will add more detail as well as Storyboard Sketches (You should revise the previous sections if needed and add storyboard sketches)
User Experience: Input/Output and Wireframes
- Hand drawn or rough wireframe sketches and UI flow diagram.
- Any user input/output that is needed to control your application including mouse and keyboard interaction (should be part of wireframe flow as well)
Test Plan
Define how you are going to test that your code is working correctly, how you will test edge conditions or errors happening and so forth. Make sure to build time in your schedule to get this done. This should be very detailed on steps to follow to complete a test pass (you will be thankful you have this so you can run through these tests before each of the sprint demo’s on Friday’s). You should label your tests with the milestone needed to run that test (since you won’t have all the functionality to run all the tests until the work is completed)
An example for a testing strategy may be:
| Test Category | Details |
|---|---|
| UI Testing | At prototype we will provide students X,Y,Z our application with a sheet to fill in answers to the following questions: - What can be improved? - What did each of the icons on the main screen mean to you? - etc |
| Manual Testing | Before each demo we will do the following manual tests: - Go to main screen and click X, and make sure Y comes up - etc many more |
| Automated testing | We will implement automated tests for the following classes/methods: - MainScreen.java (all of it) - CustomScreen.java:specialCalc - etc |
| Other testing | Any other type of testing you might be thinking of |
Detailed Schedule
Revise your weekly milestones with detailed tasks for each week (minimum 4 tasks / week - 2 per team member).
Create your task list from this template (You may modify but you should keep this as the minimum required information for a task list).
You must include a link to your phase 2 detailed task list in this document as markdown. (See below for an example; you can convert the google sheet to markdown using this tool here: https://tabletomarkdown.com/convert-spreadsheet-to-markdown/)
This is an ordered list of major pieces of functionality created in an intentional order to help you incrementally create a larger project that works. Each deliverable is a significant piece of functionality that should be completed before the next deliverable starts. While it is often true that one deliverable must be delivered before another can be accomplished, deliverables do not have to have dependencies on one another. This means that two deliverables can be developed in parallel by different members of a team.
Oftentimes we will discover more deliverables along the way. This is fine. It is difficult (sometimes impossible) to know everything at the start of a project. Discovered work will be added to the Task List for following weeks, or as zero initial time estimates for the current week.
You should take your task milestones and add tasks for each milestone that are well defined, with time estimates.
Approval
You must receive teacher approval to continue to Phase 3.