Meetings - Team Expectations
You will meet (at least) twice a week with your project manager and team. One meeting will be in person, during your scheduled recitation time. The
Before Weekly Meetings
You are expected to complete all of your assigned tasks and stories by the deadline set by your PM. Completing your tasks means:
- The tasks and stories were updated with proper labels & assignees. If the "Revise Title" or "Revise Tests" label was applied, the title/tests must be revised and those labels removed once the revision(s) completed;
- Tasks & stories were moved into the "In Progress" pipeline when you start working on them;
- Tests were reviewed and additional tests, if needed, are added to the task/story;
- Branch(es) were created & all work is committed to your repo;
- AFTER the work was completed and committed, the tasks/stories are moved to the "Testing" pipeline;
- AFTER running and passing all of the tests, the branch is merged to "develop" and the task/story is moved to the "Completed" pipeline.
If you cannot complete all of your assigned work, you must notify your entire team (including the PM) by the deadline*. Make certain your notification explains the issue(s) preventing you from completing your assigned work. You should also send a message to the PM explaining where all of your time went and what you have done to solve this issue.
Between PM Meetings
Immediately after your PM meeting, you need to update any tasks and stories the PM assigned to you:
- Make certain you are listed in the Assignees area of the tasks/stories;
- Verify the tasks/stories are labeled correctly (including with the current sprint);
- If the tasks/stories are in the "Backlog" pipeline, move them to the "Planned" pipeline.
Soon after your PM meeting, go back through your ZenHub and be certain to fix the titles and tests on any of your assigned tasks or stories to which your PM added a "Revise Title" or "Revise Tests" label. Once you make the required changes, remove the label.
When starting work on your task, you will to take steps to make certain you do not need to go back and redo your work:
- Move the task you will be developing from the "Planned" to "In Progress" pipeline;
- (If not a research task) Double-check that the task is connected to the user story;
- Re-read the task tests. Clarify any tests that are not clear and add any tests that might be missing;
- If the task will require commits to your repo, create a branch from "Develop".
If you discover a bug in an already completed task or story, you need to document your efforts to fix it:
- The task and/or story should be moved back to the "In Progress" pipeline;
- Add AT LEAST 1 TEST to the task/story. The test(s) should expose the bug(s) you found;
- Update the branch(es) to the current code base and commit your bug fixes to the repo;
- AFTER the work was completed and committed, the tasks/stories are moved to the "Testing" pipeline;
- AFTER running and passing both the old and new tests, the branch is merged to "Develop" and the task/story is moved to the "Completed" pipeline.
When you think your task/story is complete, it is important to communicate this AND build your teammates' confidence in your code:
- Move the task/story to the "Testing" pipeline;
- Run all of the tests EXACTLY how they are written. Add any details or steps that are missing;
- Methodically run through each of the tests and verify that you receive the results it says to expect;
- If all the tests pass, move the task/story to the "Completed" pipeline and merge the branch back to "Develop";
- If one or more tests fail, move the task/story to the "In Progress" pipeline and start debugging your code.
Before Sprint Grading Meetings
You are expected to complete all of your assigned tasks and stories by the deadline set by your PM. You and your team will also need to prepare the repo, scrum board, and application to properly reflect that the grading meeting is a release of software.
- Meet with your PM and have them go through your scrum board to mark all completed work as closed;
- Branches created for completed/closed tasks should be merged back into develop;
- develop branch should be merged back into main;
- main branch should be checked out and installed on the systems on which it will be run during the demo.
Each sprint is graded by demoing your product for the product manager/client. For each sprint, you should only demo the code in your repo's main branch. For the first sprint, you can run your demo using a simulator or localhost. For all other sprints, the demo MUST be run on the webserver, mobile device, or other approperiate hardware.
The product manager/client will be responsible for choosing and running the acceptance tests from user stories which were completed during the just-completed sprint. The product manager/client will also choose task tests to run from the tasks completed during the current sprint. The product manager/client can choose to run these tests on their own OR ask a team member to run the test case. In addition to these tests, the product manager/client can test issues using other inputs to verify they correctly handle overlooked cases.