Mandatory Practices

Below there are the mandatory practices that will help you get the most out of Waydev:

👍

In order for Waydev to associate tickets to pull requests and commits, one of these conditions has to be met:

The ticket ID (e.g. WAY-2907) needs to be mentioned in the pull request title.
The ticket ID (e.g. WAY-2907) needs to be mentioned in the commit message.


👍

Impose to all the engineers the practice of setting up git global configuration (a.k.a setting a global email and username)

If this is not set, then any git provider (Github, Gitlab, etc.) will create a different profile based on the workstation from which the dev works, which in turn will result in different dev profiles in Waydev, which the manager has to merge otherwise the data will be incomplete.
In order to avoid duplicate contributor profiles, engineers need to have the following commands set up in their Terminal.


👍

Not committing at the start of a feature/task will result in skewed cycle/lead time.

Cycle time is computed by summing up 4 key development intervals, one of which is coding, which is calculated by looking at the difference between when the first commit was created and when the pull request was issued. If all the commits are pushed right before the creation of the pull request, coding time will be close to 0 - managers will be very happy with their low cycle time when it should have been higher with multiple days.


👍

Commit and push continuously.

This improves collaboration, reduces merge conflicts, prevents lost work and enables faster feedback.

Also, this way you'll have an accurate cycle time in the Waydev platform.

Commit as frequently and as early as possible. Waydev will not see your commit until it has been pushed to the server.


👍

Leverage continuous integration.

Write meaningful commit messages which reflect a logical change and clearly describe what has been done. Avoid unnecessary commits (e.g. "fix typo").

Avoid pushing work-in-progress to the "main" branch for effective continuous pushing.


👍

Review PRs all the time

Require at least 2 approvals and require conversation resolution before merging.

This ensure better code review practices, knowledge sharing and fewer integration issues.


👍

Close PRs with merge only

Enable only "merge commits" for Pull Requests.

Merge commits is preferred instead of squashing commits. This way you will have all the historical data and Waydev can leverage the best insights.

So the key ideas are:

  • Merge commits - they preserve the commit history and they just add the merge commit which we ignore by default. Perfect scenario.
  • Rebase - the commit from the feature branch are rewritten and added to the feature branch. Meaning we might end up with duplicate commits if we get to process the ones from the feature branch before the rebase.
  • Squash - all the commits are squashed into a single one. All the history is lost. Coding time will be 0 because the squash has the timestamp of the merge.