Lab Overview


Lab 1 - Team Formation and Project Selection

Lab Date: Monday, January 27

Lab Objectives

  • Teams will meet each other for the first time and will start getting setup for the semester project
  • Students will have an opportunity to begin learning about Django, the environment we will be using for the project

Before Coming to Lab

  • Complete Guided Practice A before coming to lab today! Find it in the Student Resources folder linked on the right side of the home page or in Collab.
  • Make sure to bring your UVA ID card to lab this week!

Team Assignments

Check this Google Sheet for your team assignments for the semester!

TBD

Today in Lab

  1. The TAs will help you get organized with your team.
  2. Once you are in your teams, you need to accomplish the following:
    • Introduce yourselves to each other! This will be your team for the rest of the semester, so start off on the right foot! Tell each other who you are, your year, your major, what you're looking forward to, what you're terrified of in the class, etc.
    • Pick a team name. Please pick something easy to remember, easy to type into a URL, and relatively unique so that it's easier to identify your team. With no special characters. And classy, please...
    • Pick your project. Please see the Project page on the course website for information about the projects options.
    • Determine your team's primary form of communication - we recommend a Slack channel instead of email, etc.
    • Once you have made these decisions, the Scrum Master (and ONLY the Scrum Master!) should fill out the form here: https://forms.gle/nayaLdowMDWPpJZX7
  3. While you are doing all of this, the TAs will be coming around to record the RFID off of your UVA ID card and take attendance.
  4. Once you have spoken to the TAs and the form is filled out, there are a few Django tutorial videos we expect everyone to watch and work through. Use the rest of the time here to do these and finish on your own time. We expect everyone to know the material in it. See the action items below for the links.

Action Items After Lab

more ...

Lab 2 - Sprint 1 Begins

Lab Date: Monday, February 3

Lab Objectives

  • Teams will plan how they will perform the requirements elicitation activity this week.
  • Teams should use this time to write (or at least begin writing) any elicitation template documents you may need (e.g. come up with your survey questions, etc.).

Before Coming to Lab

  • Make sure to bring your UVA ID card to lab this week!

Today in Lab

  1. Arrive and get into your teams while attendance is being taken.
  2. TAs will check on teams to make sure you are good to go.
  3. Look at the Requirements Elicitation Template and make a copy into your own Google Drive (you'll have a team folder soon enough). Read the instructions and begin to plan what techniques you'll use to gather requirements!
  4. A good goal to have by the end of lab is to have decided on and built your elicitation tools (e.g. interview questions, surveys, researched other sites to go look at, etc.) and each team member has been assigned some aspect of the elicitation to complete by the end of the week.

Action Items After Lab

  • As a team, do your requirements elicitation!
  • Requirements managers will write up the final document for submission before next Monday's lab.
more ...

Lab 3 - Sprint 1 Ends -> Sprint 2 Begins

Lab Date: Monday, February 10

Lab Objectives

SPRINT CHECK 1 TODAY

  • Teams will report on their experience doing their requirements elicitation activity, which will be checked as the first Sprint Check.
  • Teams will then pull their first set of user stories off the backlog for work during Sprint 2.

Before Coming to Lab

  • Complete your requirements elicitation activity!
  • Requirements managers need to finish the documentation and have it in the Google Drive before 2:00 PM on Monday! Also remember to upload to Gradescope!
  • Scrum Masters need to complete the Sprint Report for Sprint 1 and submit to Gradescope! Find the template here: https://drive.google.com/open?id=1n5n2Ti7h7shchTe67Hf_NzDTchJiaEObgQqB7LwrIUA

Today in Lab

  1. Arrive and get into your teams while attendance is being taken.
  2. Start with your stand-up meeting! What did you accomplish last week? What will you accomplish this week? What problems do you need help with?
  3. Begin identifying the requirements you will work on during Sprint 2 (which is only one week). Mark these off in the Project Management spreadsheet and assign them to team members. Aim relatively low for this sprint, as it is a shorter sprint and you are just getting started.
  4. While you are meeting, TAs will come around to perform the Sprint Check for Sprint 1 (see below for more info).
  5. Once you have your requirements pulled for Sprint 2, start working!
  6. Scrum Master: Accept the Project Assignment for your team in GitHub Classroom at https://classroom.github.com/g/IALNNVba . PLEASE, when you accept the assignment, use your lab number + team name into the "Create a new team" field! Like this:

GitHub Team Creation

This will generate a project called "project-101-my-cool-team-name" at https://github.com/uva-cs3240-s20/project-101-my-cool-team-name which is exactly what you want! Team members can then go join your group by selecting the team that was created by the Scrum Master.

Sprint Check 1

To earn a Pass on Sprint Check 1, your team must show the following to the satisfaction of the staff:

  • Show that your team has completed the requirements elicitation activity by walking the TA staff through the documents you produced, explaining what you did, what worked, what didn't work, etc.
  • The specific contents and presentation of the documents will be graded as the main artifact for your Requirements Manager, but everyone on the team should be able to show/explain how they helped contribute to the overall effort.
  • Scrum Masters need to complete the Sprint Report for Sprint 1 and submit to Gradescope! Find the template here: https://drive.google.com/open?id=1n5n2Ti7h7shchTe67Hf_NzDTchJiaEObgQqB7LwrIUA

Action Items After Lab

  • Work on the items you pulled for Sprint 2! You only have one week for this Sprint, so make it count!
more ...

Lab 4 - Sprint 2 Ends -> Sprint 3 Begins

Lab Date: Monday, February 17

Lab Objectives

SPRINT CHECK 2 TODAY

Before Coming to Lab

Today in Lab

  1. Arrive in lab and get into your teams.
  2. Start with your stand-up meeting! What did you accomplish last week? What will you accomplish this week? What problems do you need help with?
  3. Begin identifying the requirements you will work on during Sprint 3. Sprint 3 ends just before Fall Break on March 2 and is your first major push at real functionality. Assign these items to team members in the Project Management spreadsheet.
  4. Note that for Sprint 3, you must pull stories that implement your user model and login. You can have other features as well, but we will explicitly be looking for this for Sprint Check 3. See the information on the Project page regarding Login requirements.
  5. While you are meeting, TAs will come around to perform the Sprint Check for Sprint 2 (see below for more info).
  6. Once you have your requirements pulled for Sprint 3, start working!
  7. Testing Managers should note that the Testing Plan for your team will be due next week. See the Testing Plan Template in the Student Resources Google Drive folder.

Sprint Check 2

To earn a Pass on Sprint Check 2, your team must show the following to the satisfaction of the staff:

  • Show that your team has created a base Django app and it is pushed to GitHub. Your team should all be added to the repo (i.e. they have accepted the assignment - we will check this!) and everyone can work with the code.
  • Show you have at least started on some feature of the app. With the quiz this week, we are not looking for a major amount of work to have been completed beyond project setup... but there should be at least something.
  • Scrum Masters need to complete the Sprint Report for Sprint 2 and submit to Gradescope! Find the template here: https://drive.google.com/open?id=1n5n2Ti7h7shchTe67Hf_NzDTchJiaEObgQqB7LwrIUA

With each Sprint Check from here on out, you will also need to do evaluations for your team members. You must fill out the following form FOR EACH TEAM MEMBER. Thus, you will submit it four or five times at the end of each sprint.

Sprint 3

For Sprint 3, you should target the following things at a minimum:

  • Show a working app running on Heroku that successfully allows login through a third-party API, such as Google or Facebook.
  • Show at least the beginnings of your UI design and theming.
  • Show a full build process - pushing to GitHub's master branch triggers a Travis-CI test run that then deploys to Heroku.
  • Have unit tests automatically passing on Travis-CI.

Action Items After Lab

  • Work on the items you pulled for Sprint 3!
  • Testing Managers should work on their testing plans!
more ...

Lab 5 - Sprint 3 Work Continues

Lab Date: Monday, February 24

Lab Objectives

  • No Sprint Check today / No team evaluations today
  • Your team will spend the entire lab meeting and working on Sprint 3
  • TAs will check in with each team to see if there are any questions

Before Coming to Lab

  • Continue working on Sprint 3

Today in Lab

  1. Arrive in lab and get into your teams.
  2. Start with your stand-up meeting! What did you accomplish last week? What will you accomplish this week? What problems do you need help with?
  3. Continue working on Sprint 3!
  4. As you are meeting, TAs will come around to check in with each team to make sure everyone is doing okay.

Sprint 3

Remember, your goals for Sprint 3 are (at a minimum):

  • Show a working app running on Heroku that successfully allows login through a third-party API, such as Google or Facebook.
  • Show at least the beginnings of your UI design and theming.
  • Show a full build process - pushing to GitHub's master branch triggers a Travis-CI test run that then deploys to Heroku.
  • Have unit tests automatically passing on Travis-CI.

Action Items After Lab

  • Work on the items you pulled for Sprint 3!
more ...

Lab 6 - Sprint 3 Ends -> Sprint 4 Begins

Lab Date: Monday, March 2

Lab Objectives

SPRINT CHECK 3 TODAY

Before Coming to Lab

Today in Lab

  1. Arrive in lab and get into your teams.
  2. Start with your stand-up meeting! What did you accomplish last week? What will you accomplish this week? What problems do you need help with?
  3. Begin identifying the requirements you will work on during Sprint 4. Sprint 4 ends in two weeks - after Spring Break.
  4. Note that for Sprint 4, you must pull stories that implement a "major feature" in your app. There is obviously some interpretation here, but basically we want to see something working in your app, not just infrastructure.
  5. While you are meeting, TAs will come around to perform the Sprint Check for Sprint 3 (see below for more info).
  6. Once you have your requirements pulled for Sprint 4, start working!

Sprint Check 3

To earn a Pass on Sprint Check 3, your team must show the following to the satisfaction of the staff:

  • Show a working app running on Heroku that successfully allows login through a third-party API, such as Google or Facebook.
  • Show at least the beginnings of your UI design and theming.
  • Show a full build process - pushing to GitHub's master branch triggers a Travis-CI test run that then deploys to Heroku.
  • Have all unit tests automatically passing on Travis-CI.
  • Scrum Masters need to complete the Sprint Report for Sprint 3 and submit to Gradescope! Find the template here: https://drive.google.com/open?id=1n5n2Ti7h7shchTe67Hf_NzDTchJiaEObgQqB7LwrIUA

With each Sprint Check, you will also need to do evaluations for your team members. You must fill out the following form FOR EACH TEAM MEMBER. Thus, you will submit it four or five times at the end of each sprint.

Sprint 4

For Sprint 4, you should target the following things at a minimum:

  • Show a working app running on Heroku that successfully allows login through a third-party API, such as Google or Facebook.
  • Show a "major feature" of your app. This feature has to be one of the core use cases of your app.
  • Show a more refined UI design and theming.
  • Show a full build process - pushing to GitHub's master branch triggers a Travis-CI test run that then deploys to Heroku.
  • Have all unit tests automatically passing on Travis-CI.

Action Items After Lab

  • Work on the items you pulled for Sprint 4!
more ...

Lab 7 - Sprint 4 Ends -> Sprint 5 Begins

Lab Date: Monday, March 16

Lab Objectives

SPRINT CHECK 4 TODAY

Before Coming to Lab

Today in Lab

  1. Arrive in lab and get into your teams.
  2. Start with your stand-up meeting! What did you accomplish last week? What will you accomplish this week? What problems do you need help with?
  3. Begin identifying the requirements you will work on during Sprint 5. Sprint 5 ends in two weeks.
  4. We expect that at the end of Sprint 5, you will have a nearly feature-complete app.
  5. While you are meeting, TAs will come around to perform the Sprint Check for Sprint 4 (see below for more info).
  6. Once you have your requirements pulled for Sprint 4, start working!

Sprint Check 4

To earn a Pass on Sprint Check 4, your team must show the following to the satisfaction of the staff:

  • Show a working app running on Heroku that successfully allows login through a third-party API, such as Google or Facebook.
  • Show a "major feature" of your app. This feature has to be one of the core use cases of your app.
  • Show a more refined UI design and theming.
  • Show a full build process - pushing to GitHub's master branch triggers a Travis-CI test run that then deploys to Heroku.
  • Have all unit tests automatically passing on Travis-CI.
  • Scrum Masters need to complete the Sprint Report for Sprint 4 and submit to Gradescope! Find the template here: https://drive.google.com/open?id=1n5n2Ti7h7shchTe67Hf_NzDTchJiaEObgQqB7LwrIUA

With each Sprint Check, you will also need to do evaluations for your team members. You must fill out the following form FOR EACH TEAM MEMBER. Thus, you will submit it four or five times at the end of each sprint.

Sprint 5

For Sprint 5, you should target the following things at a minimum:

  • Show a working app running on Heroku that successfully allows login through a third-party API, such as Google or Facebook.
  • Show a nearly feature-complete app. All major functionality should be present. The app should basically only need polish and minor features at this point.
  • Show a more refined UI design and theming.
  • Show a full build process - pushing to GitHub's master branch triggers a Travis-CI test run that then deploys to Heroku.
  • Have all unit tests automatically passing on Travis-CI.

Action Items After Lab

  • Work on the items you pulled for Sprint 5!
  • Software Architects should begin working on the Architecture Design Document which is due next week before lab!
more ...

Lab 8 - Sprint 5 Work Continues

Lab Date: Monday, March 23

Lab Objectives

  • No Sprint Check today / No team evaluations today
  • Your team will spend the entire lab meeting and working on Sprint 5
  • TAs will check in with each team to see if there are any questions

Before Coming to Lab

  • Continue working on Sprint 5

Today in Lab

  1. Arrive in lab and get into your teams.
  2. Start with your stand-up meeting! What did you accomplish last week? What will you accomplish this week? What problems do you need help with?
  3. Continue working on Sprint 5!
  4. As you are meeting, TAs will come around to check in with each team to make sure everyone is doing okay.

Sprint 5

Remember, your goals for Sprint 5 are (at a minimum):

  • Show a working app running on Heroku that successfully allows login through a third-party API, such as Google or Facebook.
  • Show a nearly feature-complete app. All major functionality should be present. The app should basically only need polish and minor features at this point.
  • Show a more refined UI design and theming.
  • Show a full build process - pushing to GitHub's master branch triggers a Travis-CI test run that then deploys to Heroku.
  • Have all unit tests automatically passing on Travis-CI.

Action Items After Lab

  • Work on the items you pulled for Sprint 5!
more ...

Lab 9 - Sprint 5 Ends -> Sprint 6 Begins

Lab Date: Monday, March 30

Lab Objectives

SPRINT CHECK 5 TODAY

  • Teams will show their work on Sprint 5 to the TAs to earn Sprint Check XP.
  • Teams will then pull their next set of user stories off the backlog for work during Sprint 6 (which should be minimal).
  • Remember to do your Sprint Team Evaluations during lab today! - Fill them out at Student Team Evaluation Form @ https://forms.gle/WHTGgkmGNuY3Xv2e7 !

Before Coming to Lab

Today in Lab

  1. Arrive in lab and get into your teams.
  2. Start with your stand-up meeting! What did you accomplish last week? What will you accomplish this week? What problems do you need help with?
  3. Begin identifying the requirements you will work on during Sprint 6.
  4. Sprint 6 is primarily a "final polish" sprint. There should be no major stories that will be started here (if there are, you need to refocus what you are doing).
  5. Sprint 6 lasts only one week, but we expect to see some definite UI / polish improvements.
  6. While you are meeting, TAs will come around to perform the Sprint Check for Sprint 5 (see below for more info).
  7. Once you have your requirements pulled for Sprint 6, start working!

Sprint Check 5

To earn a Pass on Sprint Check 5, your team must show the following to the satisfaction of the staff:

  • Show a working app running on Heroku that successfully allows login through a third-party API, such as Google or Facebook.
  • Show a nearly feature-complete app. All major functionality should be present. The app should basically only need polish and minor features at this point.
  • Show a more refined UI design and theming.
  • Show a full build process - pushing to GitHub's master branch triggers a Travis-CI test run that then deploys to Heroku.
  • Have all unit tests automatically passing on Travis-CI.
  • Scrum Masters need to complete the Sprint Report for Sprint 5 and submit to Gradescope! Find the template here: https://drive.google.com/open?id=1n5n2Ti7h7shchTe67Hf_NzDTchJiaEObgQqB7LwrIUA

With each Sprint Check, you will also need to do evaluations for your team members. You must fill out the following form FOR EACH TEAM MEMBER. Thus, you will submit it four or five times at the end of each sprint.

Sprint 6

For Sprint 6, you should really only be working on "finishing touches." We expect that your app will still be working at the end of Sprint 6 (as it was from Sprint 5), but any remaining suggestions from the staff should be addressed.

At the end of Sprint 6, will we score you on both Sprint 6 (5000 XP) as normal, along with your Beta version of your app. This will count for half of your overall project score (25000 XP). To earn these points, you need to have a feature complete, working app ready for Beta testing. It does not need to be your final version - we expect changes and polish to be done over the last two weeks! This is your incentive to have a fully working app at this point.

During this sprint, we highly recommend that the Testing Manager begin working on recruiting folks for Beta Testing next week.

Action Items After Lab

  • Work on the items you pulled for Sprint 6!
  • Get ready for Beta Testing!
  • The DevOps Manager needs to begin working on the DevOps Report which is due next week before lab!
more ...