tech·nic·al·ly agile class·i·fic·at·ion

Modern Source Control: Streamlining Collaboration and Accelerating Delivery

Version control practices and branching strategies enabling collaboration, rapid feedback, continuous delivery, and resilient software development workflows.

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

Image
https://nkdagility.com/resources/modern-source-control/
Subscribe

Overview

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.

Learn More about Modern Source Control

Blog

Stop Promoting Branches

Explains why promoting code through multiple branches slows delivery, increases risk, and suggests GitHub Flow or Release Flow as simpler, safer alternatives for deployment.
Signals

Too many teams overcomplicate their branching strategies

Learn why simple branching strategies like GitHub Flow and Release Flow help teams deliver faster, reduce risk, and avoid the pitfalls of complex version control.
Tags

GitHub

GitHub is a platform for version control and collaboration, offering tools for code hosting, CI/CD, project management, and team collaboration.
Blog

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 and toggles for stability.
Blog

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 collaboration over using labels.
Blog

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 code, releases, and bug fixes.
Blog

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, and key migration tips.
Blog

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 flexible configuration options.
Blog

Bug in the Visual Studio Git integration that results in a merge conflict

Explains a Visual Studio Git bug causing merge conflicts during pulls with local commits, its workaround, and best practices for managing branches to avoid the issue.
Signals

Branch promotion is a relic of slow, manual software delivery

Explains why modern software teams avoid branch promotion, using continuous integration, feature flags, and production-like testing to streamline delivery and reduce risk.
Signals

Best Branching Strategies for Development Teams Explained

Explains why environment-based branching slows development, and recommends using feature flags and progressive rollouts for simpler, faster, and safer code delivery.
Signals

The Hidden Costs of Supporting Multiple Versions in Production

Maintaining multiple production versions increases bugs, merge conflicts, and technical debt, making development harder and less efficient for engineering teams.
Blog

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 improve software delivery quality.
Blog

Guidance: How to layout you files for an Ideal Solution

Learn best practices for organising solution and project files in version control, including folder structure, naming conventions, and branching for maintainable code.
Blog

Create a Build vNext build definition

Step-by-step guide to creating a Build vNext build definition in Visual Studio Online, covering task setup, options, triggers, variables, and build configuration.
Blog

Branch Policies for TFVC

Explains how to apply and manage branch policies in TFVC using regular expressions, enabling code reviews, branch locks, and work item requirements across multiple branches.
Blog

Syncing many Dynamics AX instances to a single TFS 2010 Team Project

Explains how to configure multiple Dynamics AX instances to sync with a single TFS 2010 Team Project, streamlining source control and work item management for many clients.
Blog

TFS Integration Tools - Issue: TF14009: Cannot merge source into target because the target is underneath source

Explains the TF14009 error in TFS when merging a source into a subfolder of itself, its causes during migration, and practical workarounds to resolve the issue.
Signals

Git Flow should have died years ago

Explains why Git Flow is outdated for modern software, highlighting its drawbacks and recommending simpler workflows like GitHub Flow for faster, continuous delivery.
Course

Mastering Azure Repos Training

Azure DevOps Services provide a set of cloud-hosted tools that software teams can use to quickly plan, develop, test, and deliver value in the form of working software. Azure Repos provide public or private Git repositories that enable better collaboration and cleaner code. To maximize learning, students will work in teams, in a common team project, on a common codebase.
Subscribe

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Concepts


Categories


Tags

GitHub (4)
Scaling (15)
Windows (97)

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

New Signature Logo
Sage Logo
Freadom Logo
ProgramUtvikling Logo

CR2

Slaughter and May Logo
Graham & Brown Logo
Kongsberg Maritime Logo
Flowmaster (a Mentor Graphics Company) Logo
Emerson Process Management Logo
Akaditi Logo
Epic Games Logo
Microsoft Logo
Hubtel Ghana Logo
Jack Links Logo
Healthgrades Logo

NIT A/S

Slicedbread Logo
Royal Air Force Logo
New Hampshire Supreme Court Logo
Department of Work and Pensions (UK) Logo
Ghana Police Service Logo
Washington Department of Transport Logo
Nottingham County Council Logo
Capita Secure Information Solutions Ltd Logo
ALS Life Sciences Logo
Kongsberg Maritime Logo

CR2

Genus Breeding Ltd Logo
DFDS Logo