Developer Playbook

The OMSF Developer Playbook is a comprehensive guide designed to help scientists and developers create high-quality, maintainable software. This playbook provides practical guidance on best practices that can be adopted at various stages of your project’s lifecycle, from inception through long-term maintenance.

Purpose and Audience

Our primary goal is to increase developer literacy for developers! By sharing established best practices, we aim to raise the overall quality of software in the space, leading to more reliable, reproducible, and usable scientific tools.

This playbook is intended for:

  • Scientists developing software for their research
  • Developers working on applications
  • Teams of all sizes, from individual researchers to large collaborative projects
  • Practitioners at all skill levels, from beginners to experienced developers

How to Use This Playbook

Each section of the playbook focuses on a specific aspect of software development, such as documentation, testing, code style, or performance. Within each section, you’ll find concrete practices that you can implement, with guidance on:

  • What the practice entails
  • Why it’s valuable for scientific software
  • When in your project’s lifecycle to implement it
  • Implementation options with their advantages and disadvantages
  • Recommendations based on community experience
  • Resources for further learning

Rather than applying every practice at once, consider your project’s specific needs and maturity level. The playbook indicates when each practice is most relevant (Inception, Early Development, Mid-Development, Pre-Release, Release, Post-Release, or Long term), helping you prioritize your efforts appropriately.

By progressively adopting these practices, you’ll build software that’s not only functional but also sustainable, accessible, and trustworthy your broader community.