During the final sections of React, you will work on an individual capstone project. During the final class session, you will present your project and then turn in your capstone as your final independent project.
Note that "final independent project" doesn't mean that we expect your capstone to be completely finished. The goal is to have an MVP in place.
In this lesson, we'll discuss minimum viable products and how they apply to our capstone projects.
Spend some time during this course section brainstorming potential capstone ideas. You will be required to submit a capstone project proposal to your instructor in the upcoming React with Redux course section. This proposal will outline your minimum viable product (MVP) along with the developmental road map you'll follow to create it.
If you want to look at the proposal form now and learn about due dates, see the Independent Capstone Project Proposal lesson. You are welcome to start putting together your capstone proposal sooner.
In web development, MVP stands for minimum viable product. As the name implies, this is the minimum or most basic version of an application. The MVP must solve the problem the application is meant to address - but only in a basic form, without added bells and whistles such as styling, more advanced UI features and other stretch goals.
Let's consider some examples of MVPs. For instance, consider the Wright Brothers' famous first flight in 1903 - it lasted under a minute and the Flyer traveled 852 feet - and was badly damaged in the process. The Flyer was so unstable that only the Wright brothers could get it in the air at all.
But that was the MVP - they did achieve flight, even if only for a very brief period of time.
At that point, the Wright brothers began thinking about improvements they could make to their design. How could it fly longer and higher? How could it be more stable? How could they improve the UI so others could fly their machines? These are all stretch goals beyond the MVP.
From the perspective of designing a web application that's an MVP, it's typical to go through the following process:
Build an MVP that does the thing it's supposed to do - whether it's flying or teaching customers how to make pizza.
Once the MVP is done, talk to potential users and customers. What can be done to make the product better?
By following this MVP process to create our product, we reap two distinct benefits:
We have a functioning product completed sooner. While it may not have all the fancy features we envision, it's better to prioritize building a functioning prototype with fewer features than to add too many features at once, which can result in delays and missed deadlines. You can always add those extra features after your basic MVP is finished.
We can also gather user feedback before adding extra features. After creating an MVP, users can beta-test it and provide feedback. This allows you to determine what additional features users actually want.
As described here, you'll submit a project proposal to your instructor, then work toward developing your MVP before integrating additional features. Here's what the workflow will look like:
In your proposal, you'll identify the primary goal or purpose of the application. What problem is this project meant to solve? What service is it meant to offer the user?
You will also determine the bare minimum features and functionalities your application requires to meet that goal or purpose.
If necessary, your instructor will provide feedback on your project idea and scope before the independent capstone course section.
As you begin developing your project, focus only on the MVP features you identified in your proposal.
Once that functionality is present, commit and push to main. The development process isn't over, but at this point you have a functioning version ready to go. Additional features should be developed on their own branches and only pushed to main when you confirm they're 100% functional and pass all tests.
Gather feedback. Ask potential users what features they would like to see. If you complete your MVP before the tradeshow, ask your peers or instructor for feedback, plan out next steps, and continue working. You can also use the trade show as an opportunity to gather feedback.
Continue adding features to improve your project's functionality and user experience. Take user feedback into account when deciding which extra features to implement before presenting your project to potential employers.
Are you ready? Continue on to the next lesson to see the proposal template and begin constructing your own MVP.
Lesson 13 of 37
Last updated October 12, 2021