Project Playbook
Value Statement
The OMSF seeks to support open source software projects in molecular sciences in becoming sustainable, driven by both the academic community and the industrial user base. The field of molecular science software poses unique challenges. Many such projects involve a diverse group of stakeholders, and usually cross boundaries between scientific research, systems programming, application programming, and user support. We aim to provide guidance on how such a project can be structured, planned, and managed to provide a foundation for sustainability.
Audience
This document is intended for project managers or other operational leaders of new projects that are planning to launch within OMSF, or of existing software projects that are considering seeking fiscal sponsorship from OMSF.
Introduction
Launching a new software project in the molecular sciences is daunting. The very nature of the field demands both expert knowledge of interdisciplinary scientific subjects and high-level software engineering expertise. At the same time, the software has the potential for enormous impact, both academic and economic. The OMSF exists to bridge the gap between academic researchers and industrial users. The researchers have the cutting-edge science, the industry users have the research needs, means and incentive to fund the development, and we bring the vision and know-how to run such a complex project.
The most challenging problems to be solved in scientific software development are not technical problems, but social problems. Technical problems can be solved by a graduate student as part of their dissertation, but building useful software for wide adoption requires understanding the needs of users and negotiating with developers of other packages in the software ecosystem. Navigating a complex set of compromises between usability, accuracy, robustness, and performance to meet the needs of a wide user base requires trust: trust between the users and the project staff, trust between the developers and the project manager. Trust forms the foundation for the entire project.
In its simplest form, project management is prioritization and delegation. Researchers and users have an endless list of features they would like to implement, and someone has to decide where to start, and who will do the work. A project manager must understand the resources available to the project and decide how to allocate them to achieve strategic goals. In an open source scientific software project, these resources might include volunteer labor (e.g. from academic researchers), donated compute time, and money. Money is obviously the most flexible resource, since it exists to be exchanged for other resources. Careful management of non-monetary resources is often essential to the success of these projects, but in our experience the amount of money a project has to work with determines everything about the scope and pace of the project. Securing funding for the future is the life-imperative of this type of project. Therefore, budgeting is central to all aspects of project management. This playbook will not attempt to teach good budgeting practices, but many of the recommendations given here will be intertwined with the budget.
This playbook intends to cover all stages of project management from initiating a project by aligning financial and strategic incentives, through establishing governance structures, building a roadmap, building a developer team, managing progress, fostering community, and furthering science.