Proposal Phase 1
Project Description
This description will vary in length and detail. It could be as short as 4 sentences, or as long as 1 page. Target about 2-4 paragraphs long. Describe what the project does with enough detail that another developer could implement the project for you and get it pretty close. Sections below will allow another developer to get it very close!
Provide a brief description of your project idea (2-3 sentences). Explain what your program will do and how it will use Java Swing for graphical development.
Purpose & Motivation:
Why did you choose this project? What do you hope to learn or accomplish?
Project Scope & Features
The difference between Minimum Viable Product (MVP) features, core features, and stretch features lies in their purpose, scope, and timing in product development.
Key Difference
MVP features focus on quick validation (often to allow changes to the product specification to adjust to user testing), while core features focus on delivering a complete, competitive, and sustainable product.
-
MVP Features
-
Definition:
Minimum Viable Product.
The minimum set of features required to make a product functional and deliver value to early adopters or testers. - Purpose: To validate an idea, test market demand, and gather user feedback with minimal effort. You can use this step of development to try out some of your ideas on your fellow classmates well before the final project due date.
- Scope: Limited to essential functionalities that solve the primary problem.
- Timing: Released in the earliest stage of development to test hypotheses.
- Examples: A ride-sharing app MVP might only allow users to request a ride and drivers to accept it (without payment integration or advanced route optimization).
-
Definition:
-
Core Features
- Definition: The fundamental and defining features of a product that provide its long-term value.
- Purpose: To sustain and grow the product, enhancing user experience and differentiation. This should be your goal for the finished product.
- Scope: A broader set of functionalities beyond the MVP, including optimizations, competitive advantages, and scalability.
- Timing: Developed and refined after MVP validation, often as part of iterative improvements.
- Examples: In the same ride-sharing app, core features may include fare estimation, surge pricing, driver ratings, and in-app payments.
-
Stretch Features
- Definition: The extra features/gaols that should only be implemented if time permits; they should be bonus and not fully necessary.
- Purpose: To expand the app beyond its initial goals, furthering its differentiation.
- Scope: A set of functions that are not essential for the project, treated as bonuses.
- Timing: Developed after core features are fully completed and refined.
- Examples: In the same ride-sharing app, stretch features may include subscription plans, paying via cryptocurrency, AI-recommended rides, and Augmented Reality navigation.
What extra features or stretch goals are you planning to implement if time permits? List the features that are bonus and completely unnecessary. These will be added only as time permits.
Example Feature Matrix
Here’s a simple example of a feature table with MVP, Core, and Stretch features for a ride-sharing app:
Feature Category | MVP Features (Essential for Launch) | Core Features (Enhance Experience) | Stretch Features (Future Enhancements) |
---|---|---|---|
User Management | User registration & login | Profile verification & preferences | AI-based ride recommendations |
Ride Booking | Basic ride request & acceptance | Ride scheduling & multi-stop trips | Subscription plans for frequent users |
Payment | Cash or manual payment handling | In-app payments & fare estimation | Cryptocurrency payments |
Navigation | Basic driver-passenger location sharing | Real-time traffic-based route optimization | Augmented reality (AR) navigation |
Safety | Driver & passenger ratings | Emergency SOS button | AI-driven fraud detection & background checks |
For each of these features listed in the first column you should include more detailed specifics in separate paragraphs, like:
User Management: This will include how users connect to the system, how they are authenticated and any additional information that is attached to their user profile…
You must list at least three main features that your Java Swing application will include. Examples:
- Interactive buttons and menus
- Dynamic animations
- User input handling (e.g., keyboard/mouse events)
Learning Targets and Challenge Goals
What do you need to know to be successful? What technology or techniques are new to you that are likely to be difficult?
What will you exercise and get better at because of this project?
Bulleted list goes here.
You can:
- List out Data Structures, Generics, and/or Interfaces that you intend to become more familiar with.
- List out algorithms and/or public libraries List out GUI components or things like: multi-threading, security, web services, GitHub, sound, Fast Fourier Transforms, double buffering, image processing, fly out menus, Trees, networking.
Do not say vague things like, “To learn how to code the project”
High Level Weekly Timeline
Create your task list from this template (You may modify but you should keep this as the minimum required information for a task list)
- Task - A short description of a task. Keep tasks as simple as you can and avoid mixing tasks across multiple things. If you need to later you can cross out this task and split it into multiple items as you learn more (keeping your original estimate)
- Owner - Who you plan to have work on this task.
- Status - So you know if your partner is finished or actively working on this or hasn’t started.
- Initial Estimate - What’s your best guess on time for this? If you have a task that is large that’s fine but it’s a good indication that you will need to split this up into multiple tasks on the week you decide to work on it. You won’t change this after your initial design document is created.
- Expected Time - Use your previous teams multiplier to get a # hours for this.
- Week# - Which week is this planned for? You can turn on week numbers in most calendars and use this for planning.
- Actual Time - You’ll record this as you finish tasks.
- User Story ID(s) - You’ll have user stories in your design document with identifiers you can reference here.
- Notes - Any other stuff you want to put in to help coordinate on tasks.
Each week we have a little less than 4 hours of class time. Given other interruptions and activities, if you schedule more than 3 hours pp (per person) for a week you can expect you’ll need to work outside of regular class hours on it.
Approval
You must receive teacher approval to continue to Phase 2.
Students Signatures: ______________________
Date: _________________
Teacher Approval: ______________________
Date: _________________