Explore benefits of source control

Completed

"Code does not exist unless it is committed into source control. Source control is the fundamental enabler of continuous delivery."

Pipeline with version control, build, unit test, deploy, auto test, deploy to production, and measure and validate.

Whether writing code professionally or personally, you should always version your code using a source control management system. Some of the advantages of using source control are,

  • Create workflows. Version control workflows prevent the chaos of everyone using their development process with different and incompatible tools. Version control systems provide process enforcement and permissions, so everyone stays on the same page.
  • Work with versions. Every version has a description in the form of a comment. These descriptions help you follow changes in your code by version instead of by individual file changes. Code stored in versions can be viewed and restored from version control at any time as needed. It makes it easy to base new work on any version of code.
  • Collaboration. Version control synchronizes versions and makes sure that your changes do not conflict with other changes from your team. Your team relies on version control to help resolve and prevent conflicts, even when people make changes simultaneously.
  • Maintains history of changes. Version control keeps a record of changes as your team saves new versions of your code. This history can be reviewed to find out who, why, and when changes were made. The history gives you the confidence to experiment since you can roll back to a previous good version at any time. The history lets your base work from any code version, such as fixing a bug in an earlier release.
  • Automate tasks. Version control automation features save your team time and generate consistent results. Automate testing, code analysis, and deployment when new versions are saved to version control.

Common software development values

  • Reusability – why do the same thing twice? Reuse of code is a common practice and makes building on existing assets simpler.
  • Traceability – Audits are not just for fun; in many industries, it is a legal matter. All activities must be traced, and managers can produce reports when needed. Traceability also makes debugging and identifying root cause easier. Additionally, it helps with feature reuse as developers can link requirements to implementation.
  • Manageability – Can team leaders define and enforce workflows, review rules, create quality gates and enforce QA throughout the lifecycle?
  • Efficiency – are we using the right resources for the job, minimizing time and effort? This one is self-explanatory.
  • Collaboration – When teams work together, quality tends to improve. We catch one another's mistakes and can build on each other's strengths.
  • Learning – Organizations benefit when they invest in employees learning and growing. It is important for onboarding new team members, the lifelong learning of seasoned members, and the opportunity for workers to contribute to the bottom line and the industry.