Skip to content

Instantly share code, notes, and snippets.

@tucq88
Created October 21, 2017 17:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tucq88/831eb6765baaa7ae38479821fb06e00e to your computer and use it in GitHub Desktop.
Save tucq88/831eb6765baaa7ae38479821fb06e00e to your computer and use it in GitHub Desktop.
Engineer Workflow

Engineer Workflow

Collaboration

  • We're practising Scrum seriously with certificated Scrum Master in our team.
  • We put ownership in all products we build, so we value collaboration with customers for helping us understand each others.
  • For projects management: We prefer Jira, Trello. But still very familiar with Teamworks, Basecamp...
  • For communication: Skype and Slack (I think they're best-and-only choices)
  • For source control: We use Git and prefer Github to Bitbucket or Gitlab.
  • For team: Along with Scrum/Agile, we promote CleanCode and Pragmatic mindset. We're also customizing our own XP

Initialisation

As our first sprint, is primarily to have agreements with customers about:

  • Project goal:
    • Requirements
    • Definition of DONE
  • Workflow: Tools, Processes, Meetings.

Also setting up for:

  • Project architecture
  • Source control
  • Infrastructure
    • Server / 3rd-party services
    • CI/CD (option)
    • Extra (option) E.g: SSL(https), Documentation...

Workflow

  • Using a light version of Git-flow
  • Follow Scrum guide with:
    • Collaborating with customers in order to build clear and decent Product Backlog.
    • Sprint planning for new increment.
    • We have Daily Stand-up for catching-up and inspecting.
    • Sprint Reviews and Restrospective for reviewing and improvement.
  • Deliver with quality control:
    • Code Reviews
    • Code Analyzing (option) E.g CodeStyle, Mess Detector...
    • Testing with manual and automation (option) processes

Deployment

  • Providers: Amazon Web Services (AWS) and Digital Ocean.
  • Depends on project's requirement, we would have 2 options:
    • Using CI/CD: Use 3rd-services e.g Jenkins, CircleCI... for integration and deployment continuously.
    • Manual: Trigger deployment manually by automation script or SFTP.
  • Either those 2 options, we're using git for delivering (except SFTP method)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment