Wrapping up

Let's try to summarize the typical software robot project development workflow:

The beginning

  • Set up local and remote repositories for version control.
  • Set up development and production workspaces in the cloud.

The middle

This cycle repeats over and over again for the duration of the project:

  • Complete work in "feature branches" branched off from the master branch. Hmm. Need more "branch". ๐Ÿ˜‹
  • Use git add and git commit to commit changes to your local feature branch.
  • Keep your feature branch up-to-date by periodically doing git pull in the master branch and then merge master in your feature branch.
  • Use git push to push your local feature branch to the remote repository.
  • When you are "done", create a pull request for review. Provide enough context and details in the pull request title and description. Provide setup instructions if needed.
  • Review the pull request. Use your eyes, read the code, try it out on your computer (git checkout). Push the robot to the development workspace in the cloud and try it out.
  • Fix minor things while reviewing to keep things progressing. No need to wait for a typo fix when you can fix it!
  • After approving the pull request, merge it into the master branch.
  • Deploy the new robot to production when the time is right.
  • Monitor the robot.
  • Repeat until there is nothing more to do!
  • Do not commit secrets.

The end?

When is a software robot done? Good question. That depends! As long as it is running in production, someone needs to monitor it at least. If changes are needed, someone needs to be able to implement those changes.

If the whole process becomes obsolete, it is time to pull the plug and let the robot shut down. ๐Ÿ˜ข