Skip to content

Latest commit

 

History

History
100 lines (84 loc) · 7.29 KB

4-DEVELOP.md

File metadata and controls

100 lines (84 loc) · 7.29 KB

Developing an application collaboratively

Using Slack to monitor the development cycle

  1. Open the agile-tutorial Slack channel.
  2. Note how every synchronisation generates a message from GitHub bot.
  3. Note how every automated build generates a message from Travis CI bot.
  4. Note how every issue closed or created generates a message from GitHub bot.
  5. Note how every modification of an issue's details generates a message from ZenHub bot.

Planning the sprint

In this section we will go over the practical steps that were broadly described in Having SCRUM meetings. We will assume, for the sake of this exercise, that each sprint lasts 30 minutes.

  1. Open the ZenHub board or web application.
  2. Discuss with the SCRUM master which issues should be addressed during this sprint.
  3. Once identified, move these issues to the Sprint Backlog.
  4. Assign these issues to the appropriate sprint using Set milestone.
  5. Discuss among the Development team who should address each issue.
  6. Once you identified your issue, click on it to open the detailed description.
  7. Assign it to yourself using the menu on the right.
  8. Read the issue description and use the Labels menu to mark it as question if you need further information.
  9. Discuss your questions with the SCRUM master and make sure there is no blocking issue preventing you.
  10. When you are ready to start contributing, move your assigned issue to In Progress.

Contributing to your branch

In this section we will go over the practical steps that were broadly described in Using the "GitHub Flow" branching model.

  1. Open the agile-tutorial repository in Visual Studio Code.
  2. Click the 🔄 icon in the bottom left corner to synchronise your local repository with GitHub.
  3. Click the external button in the bottom left corner and select Create new branch.
  4. Choose a descriptive name for your branch that resembles the issue that it addresses.
    • Example: basic_input-3 is a very good name for issue #3 (Create /basic/input resource).
  5. Perform all the code changes described in your issue.
  6. Open the Source Control panel in the top left bar.
  7. Click the + icon next to all the modified files to Stage Changes.
  8. Write a meaningful commit message that explains the changes introduced by this commit.
  9. Click the ✔️ icon in the top left to commit your changes to your local repository.
  10. Click the 🔄 icon in the bottom left to synchronise your local repository with GitHub.

Submitting your Pull Request

  1. After your commits have been synchronised, open the neumannrf/agile-tutorial repository.
  2. Select your branch from the drop-down menu on the left and then click New pull request.
  3. Write a meaningful title for the Pull Request, preferably one that refers to the issue that it addresses.
  4. Describe the changes introduced by the Pull Request in the Summary section.
  5. Revise the Checklist, marking actions as "done" by using [x].
  6. Add the number #N of the Related Issue that is closed by this Pull Request.
  7. In case there is any information that would help the reviewer, add it to Notes to Reviewer.
  8. Select the SCRUM master as reviewer from the Reviewers menu on the right.
  9. Assign yourself from the Assignees menu on the right.
  10. Select the appropriate labels from the Labels menu on the right.
  11. Click the Connect with an issue button and enter the related issue number.
  12. Submit the Pull Request using the Create pull request button.

Tracking status checks

  1. Once submitted, open your Pull Request from the open PR list.
  2. Scroll to the bottom and look for the status checks.
  3. Click Show all checks and click Detail to see the Travis CI build log.
  4. In the Travis CI build log, make sure
    • all files are compliant with flake8 linter
    • all tests in test/*_test.py have PASSED
    • all files in src/*.py have 100% test coverage.
  5. If the build failed for any reason, go back to Visual Studio Code, perform the required changes, commit and synchronise your work.
  6. Re-do the status checks by monitoring the new Travis CI build of you PR.

Keeping up-to-date with external

  1. Once submitted, find your Pull Request in the open PR list.
  2. Scroll to the bottom and look for the mergeability check.
  3. If This branch has no conflicts with the base branch, you are good to go.
  4. If This branch is out-of-date with the base branch, merge the latest external into your branch.
    • On Visual Studio Code, click button with your branch name in the bottom left corner and switch to external.
    • Click the 🔄 icon in the bottom left corner to synchronise your local external with GitHub.
    • Click the external button in the bottom left corner and switch back to your branch.
    • Summon the Command Palette with Ctrl + Shift + P (Windows and Linux) or Cmd + Shift + P (macOS).
    • Type merge and select Git: Merge Branch... from the menu.
    • Select the external branch.
    • Click the 🔄 icon in the bottom left corner to synchronise your local branch with GitHub.
    • Note: This could also be done by clicking the Update branch button on the Pull Request page.
  5. If This branch has conflicts that must be resolved, you must fix your branch locally.
    • On Visual Studio Code, merge the external branch into your working branch as explained previously.
    • Navigate through the list of merge conflicts using the Command Palette and the Merge Conflicts commands.
    • Accept the appropriate changes (both, usually) to fix the mergeability of your branch with respect to external.
    • When you are done fixing all the merge conflicts, stage, commit and sync your changes to GitHub.
    • Note: This could also be done by clicking the Resolve conflicts button on the Pull Request page.

Merging and moving on

  1. Once the status checks are all successful, warn the reviewer that your Pull Request is pending approval.
  2. The reviewer will either Approve or Request changes to your PR.
  3. If the reviewer Requested changes, you should address them by submitting new code to your branch.
  4. If the reviewer Approved your Pull Request, no action is required.
  5. After all the approvals, status checks and branch protections have been satisfied, your branch will be merged into external.
  6. Go back to Visual Studio Code, click the button with your branch name in the bottom left corner and switch back to the external branch.
  7. Synchronise your local external branch with that of GitHub by clicking the 🔄 icon on the bottom left corner.
  8. Get ready for the next sprint!!!