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