Sprints

During active development, you will be working in 2 week cycles (aka sprints). You will have 4 sprints, each one with this pattern:

iteration

Step 1. Team Kickoff Meeting

Your initial meeting is a meeting to decide what should be in-scope.

  • Review the requirements and make sure you understand the goal of the upcoming demo.
  • Assign issues to everyone on the team, suitable to cover the required features, plus any other features that you wish to implement. As a team, you should have enough capacity to complete the required tasks while still making progress on other advanced features.
  • Make sure that there is enough detail in each issue for the team to proceed.

When assigning work, make sure that you address feedback from the previous Demo (or Project Proposal) if you have any.

Step 2. Design + Implementation

Everyone works on their issues! You should do this in whatever way you agreed in your initial meetings (see Team Contract).

  • Each team needs to meet twice per week. This can be in-person or online. (NOTE that attending class and meet afterwards covers your two meetings as long as you document it!)
    • Write meeting minutes.
  • Each person works on their work on their own page.
    • Use feature branches in Git and merge back to main when done.
    • Add comments to issues and close them as work is completed.
    • Track your work in a developer journal.

Step 3. Code Freeze

You should have the following completed before the demo time.

  • All issues in GitLab should be up-to-date i.e., comments added and issues closed if completed.
  • Code must be committed and changes merged back to the main branch. This includes implementation code and associated unit tests (which should all pass).
  • Choose one computer to use for the demo. Make sure that your application runs correctly on that system. You will use a single computer for the demo.

You should also add a link from your README file pointing to the Milestone for this demo in GitLab i.e. Plan > Milestones link.

ℹ️

Example README

Uber-Tweets
The Uber-eats app for parakeets!

Team 101-07
We are a small-but-mighty 2 person team.

Our team contract includes details on how we will work together.

Project Documents

Demonstrations

Step 4. Demo

Demos are always conducted in-class, during a Friday lab.

  • You will only demo to your TA and (occasionally) the instructor.
  • Each team will have a scheduled time for the demo. You will only have 15 minutes, so you will need to be prepared and efficient!

See the individual demo pages for details on what you need to have completed. Each demo has specific requirements that we want to see (and will grade).

  • It’s critical that you implement the requirements for each demo, since they are worth marks. Your TA can provide feedback on other things, but the requirements represent the minimum that you need to have completed.

The demo should be run like this:

  • Bring up the list of issues completed (Plan > Issue Boards) and describe what was accomplished during the sprint.
  • Each person on the team should demonstrate what they personally did. We want to see working functionality and passing units tests (not source code!)
  • You are allowed to show GitLab documents, diagrams, unit tests results, or other work that helps to demonstrate what you accomplished.
ℹ️
For full marks, demos need to be done on a single computer, with code running from the main branch.
You should be able to demonstrate your application using ./gradlew run!

Step 5. Final steps

Meet after the demo. Make sure to write down any feedback you received from the TA! You should log issues GitLab, or add comments added to existing issues where necessary.

There is no formal submission required for your proposal, since we will grade what is in your GitLab repository. Please make sure that everything is committed and complete by 6:00 PM on the listed time and date.

⚠️
You should NOT be making drastic changes between your demo and the submission time. Critical changes are acceptable e.g., fixing a configuration issue so your application will launch, but you should not be adding in new features or making drastic changes from what was shown in the demo.