Skip to content

3. GOOD PRACTICE

docs/good-practice/research-software-collaboration.md

```markdown

Research Software Collaboration

Purpose

This page provides guidance on working effectively with others on shared code.

It focuses on practices that support clarity, coordination, and maintainability.


Use version control consistently

  • keep all project code in a repository
  • avoid working outside version-controlled environments
  • ensure all contributors use the same repository

Work in small, manageable changes

  • make incremental updates rather than large changes
  • keep changes focused on a single purpose
  • commit regularly to record progress

Use branches to organise work

  • separate ongoing work from stable code
  • avoid making direct changes to shared or main branches
  • use branches to manage parallel work

Review changes before integration

  • check changes before merging into shared code
  • ensure that updates do not break existing functionality
  • use review processes where available

Keep repositories organised

  • use clear directory structures
  • separate code, data, and documentation
  • maintain consistency across the project

Document your work

  • include a README describing the project
  • explain how to run code and reproduce results
  • keep documentation updated as the project evolves

Manage access carefully

  • grant access only to required collaborators
  • use appropriate permission levels
  • review access as projects change

Maintain reproducibility

  • ensure code can be run by others
  • track dependencies and environment requirements
  • avoid relying on undocumented local setups