Skip to content

Latest commit

 

History

History
129 lines (93 loc) · 7.03 KB

README.md

File metadata and controls

129 lines (93 loc) · 7.03 KB

Capstone Project

The Capstone Project is the largest undertaking you'll experience in the Ada classroom. Not only is it a month long, but you will be your own product owner. It will be up to you to decide (with input from instructors, mentors, and TAs) what gets built when (and how).

Learning Goals

  • Demonstrate self-direction, time management, and independent learning
  • Learn and implement new technologies
  • Complete a product lifecycle from conception to delivery
  • Utilize agile practices learned to assist in project completion

What's in This Repo

There's more in this repo than this README. We welcome you to explore all the files! Among other things, this repo contains:

Ada's collective wisdom gathered:

Required Pre-Capstone Material:

Required Capstone Material:

Other information we've compiled:

Capstone Requirements

The requirements for capstone are intentionally the most open-ended and vague you have received for a project. First and foremost, this project is for you! If there is one goal to hold onto throughout the process of capstone, it is: Your capstone should be something you will be proud to show off and something you will get to learn a lot from. (Maybe that's two goals, but still short enough to remember, yeah?)

For the sake of formalizing the ambiguity, so that you can know that your capstone is on track to "meet the requirements", here is a short list of requirements:

  • Student maintains communication with staff throughout capstone
  • There is a code base for all relevant parts of the project on GitHub that the assigned PM (instructor) has access to
  • The project represents learning new technology in some way
  • Student presents their Capstone project to an audience
  • If relevant, the project is deployed on the internet
    • A couple examples of projects where this isn't relevant are mobile app projects that don't have a backend and hardware projects. There are of course many other examples. If you're uncertain whether deployment is a relevant requirement for your project, we welcome you to check-in with an instructor!

Things You Need to Do

Pre-Capstone: Determine your Capstone Project Concept and Technologies

Your goal here is to determine your capstone project concept and its tech stack.

You have two tasks:

  1. Pre-Capstone Ideas Research:
    • Fill out the Capstone Ideas Form with 1-3 ideas
    • Bring this information to an advisory 1:1 meeting
  2. Fill out the Capstone Concept Form with your top idea
  3. Create a Plan

Pre-Capstone Research

Use the following resources to begin your research so you can make informed decisions about your capstone ideas:

When you have 1-3 ideas for capstone, you'll need to record those ideas in the Capstone Ideas Form.

Then, bring them to an advisory 1:1 meeting with an instructor. That advisory meeting will be used to talk through any questions of the idea, including questions around scale, risks, and feasability.

If you do not turn in this form and have an advisory 1:1 meeting in time, you may not be able to start the project on the first day of the capstone period.

Capstone Concept Form

Once you feel that your capstone concept is firm, submit your capstone concept with the Capstone Concept Form by the due date.

Then, the instructional team will review it and approve for you to start your capstone project on the first day of capstone.

If you do not turn in this form by the due date, you may not be able to start the project on the first day of the capstone period.

Break Week: Create Your Capstone Plan & Begin Tutorials

Three goals:

  • Begin the tutorials of some of your technologies (~8 hours)
  • Create wireframes for your product if this is applicable
  • Break up your project into tasks, and organize those tasks into waves

During Capstone

Weekly:

  • Demo your progress to your capstone teams every Friday
    • Your PM may attend these demos
  • Schedule and attend a 30 minute one-on-one with your PM
    • The 1st week's one-on-one, you can expect your PM will talk with you about the following:
      1. Look through your Trello Sprint board with you. Your PM can give guidance about any best-practices you might benefit from following and generally any changes that could be made so the board serves you better.
      2. Talk through your intended timeline and due dates you've set for yourself. Your PM can give helpful input about how realistic the timeline might or might now be.
    • The following weeks' one-on-ones, you can expect your PM will check-in with you about how you're tracking against the timeline you setup. Your PM is there to help you navigate being behind and strategize which things could be deprioritized to make your timeline more realistic.

Daily:

  • Complete the daily stand up form everyday Monday through Friday before 12pm, and once over the weekend

Final Delivery

The Capstone Project consists of the following components:

  • Completed application, live on the web
  • The source code of your project on GitHub, with:
    • Clear documentation on how to setup/install your project
    • Any third-party dependencies or configuration required
    • A link to your Trello board
    • A link to your Product Plan
  • If your capstone includes a hardware component, you must complete these additional requirements and put them on your GitHub repo:
    • Parts list, with links, for the device(s)
    • A markdown document with step-by-step instructions for assembling, verifying, and integrating the device(s) with your project
  • Project Presentation, a demo of the application and pertinent information about your project

Accountability Teams

You'll be assigned to a three or four person team. For the duration of capstone, your team members will serve as your sounding board, rubber ducks, and first-responders for your project. You are expected to be responsive to requests for help from your team (within reason), and to utilize the expertise of your teammates when you need help.

Process Guidelines

  • Use your product plan to lead the functionality development of your application
  • Create and maintain a Trello board to document progress on your project
  • Practice TDD to lead the development process

Technical Guidelines