This is one of the tier 2 standards. See full list on the main page.
We define a "Backup Maintainer" as an individual who is able to act as a project administrator in the absence of the project's primary 'owner' or administrator. The individual(s) in the role of backup maintainer(s) should also be able to effectively contribute to, review, and merge software changes to the project (while following any project-specific guidelines or workflows). This standard aims to prevent 'single-points-of-failure' and encourage knowledge-transfer amongst developers. We require that projects have at least one backup maintainer, but multiple backup maintainers is always encouraged.
Having backup maintainers on a software project has many benefits. It allows software to be designed, implemented, and/or reviewed by multiple individuals (and thus multiple perspectives), which in turn improves the overall quality of the software. Additionally, it allows for the double-checking of changes before they become implemented in production, thus decreasing the risk of accidentally incorporating bugs into the software. It also helps to avoid single-point-of-failures, so software development can continue in the absence of primary developers/administrators. Similarly, it aids in the transfer of knowledge and skill amongst project team members, as it gets more people directly involved in the project.
We require that teams identify at least one backup maintainer for their project. The individual can be a current developer on the project, someone who currently only reviews code, or someone who acts as a 'product owner'. However, regardless of the individual's current role, the backup maintainer(s) must be able to contribute, review, and merge in software changes, as well as fulfill any necessary administrative duties (e.g. maintain/update repository settings, serve as a point-of-contact for the project) when needed.
For identifying backup maintainer(s):
- Teams may identify this role from within their project team
- If the choice is not obvious or the resources do not exist within the project team, ask appropriate branch manager(s) to identify someone
- If branch manager(s) are unable to identify someone, notify Matthew and Shannon who will then work with the INS management to fill the need
If the choice is clear and there are enough resources available to fulfill the role, teams may simply notify Matthew and Shannon as to who will serve in the role(s) of backup maintainer. However, if there is no clear choice, or there are a lack of resources available on the project team, teams are encouraged to ask the appropriate branch manager(s) to identify this role. If the branch manager is unable to identify this role, whether it be because of a lack of available FTE resources, lack of available current required skills, etc., please notify Matthew and Shannon, who will then work with the JWST mission office to address those issues.