Modern Source Control

Best practices for version control and branching strategies in modern software development.

Modern source control is a foundational practice in software development that encompasses best practices for version control and branching strategies. It enables teams to manage changes to codebases efficiently, ensuring that multiple developers can collaborate without conflict. By employing systems like Git, teams can track modifications, revert to previous states, and maintain a clear history of development, which is crucial for accountability and transparency.

This practice matters because it directly impacts a team’s ability to deliver value predictably and sustainably. With effective source control, teams can implement continuous integration and continuous delivery (CI/CD) pipelines, facilitating rapid feedback loops and reducing lead times. This agility allows organisations to respond swiftly to market demands and customer feedback, fostering a culture of innovation.

Moreover, modern source control supports a systemic approach to development, where branching strategies like feature branches or trunk-based development enable parallel workstreams without disrupting the main codebase. This not only enhances collaboration but also minimises technical debt, as teams can isolate and address issues more effectively. By embedding these practices into their workflows, organisations can create a resilient development environment that prioritises quality and efficiency, ultimately driving long-term success in product delivery.

The strongest work on Modern Source Control — ranked by substance, not recency. How this is ranked

Video DevOps Engineering Excellence

From Legacy Pain to Modern DevOps: My Proven Roadmap for Real Engineering Transformation

Transform legacy engineering with a proven, step-by-step approach, learn how to automate, adapt, and build a resilient, modern DevOps …

Watch video
Article Engineering Excellence Technical Leadership

Stop Promoting Branches

Explains why promoting code through multiple branches slows delivery, increases risk, and suggests GitHub Flow or Release Flow as simpler, …

Read article
Article Engineering Excellence Technical Leadership

Why Topic Branches Drive High-Quality Delivery

Explains how short-lived topic branches in source control improve software quality, enable modularity, speed up integration, and support …

Read article
Article Engineering Excellence

Avoid the pick-n-mix branching anti-pattern

Explains the risks of the pick-n-mix branching anti-pattern in source control, its impact on code quality, and recommends feature branching …

Read article
Article Scrum

Guidance: A Branching strategy for Scrum Teams

Explains an effective branching strategy for Scrum teams, covering best practices, common pitfalls, and step-by-step guidance for managing …

Read article
Article Engineering Excellence DevOps

Getting started with a modern source control system and DevOps

Learn key practices for adopting modern source control and DevOps, including automation, release pipelines, and team collaboration to …

Read article
Article Engineering Excellence

Migrating source from Perforce to Git on VSO

Step-by-step guide to migrating source code from Perforce to Git on VSO, covering repository setup, dependency management, build processes, …

Read article
Article DevOps

Open-source with VSTS or TFS and Github for better DevOps

Learn how to automate code synchronisation between VSTS/TFS and GitHub, enabling seamless DevOps workflows for open-source projects with …

Read article
Article Scrum

Guidance - Branching for each Sprint

Explains how using a separate version control branch for each sprint in Scrum improves code stability, release management, and team …

Read article