Sprints
During active development, you will be working in 2 week cycles (aka sprints
). You will have 4 sprints, each one with this pattern:
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.
- Use feature branches in Git and merge back to
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.
- Jeff Avery jeffery.avery@uwaterloo.ca
- Caroline Kierstead ctkierst@uwaterloo.ca
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.
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.