At some point in time, it could be necessary to allow the collaboration in the development of a software tool developed by different missions (or any other third party organization). A collaboration implies sharing the same code and development processes in order to capitalize the efforts made by several missions.
It is important to remark that at any point, any of the participants can decide to stop the collaboration and to continue the development/maintenance of the software by their own (with a fork of the software).
Here are some notes on the general rules/strategies to apply in this new development framework:
- Define the owner of the development of the software, i.e. the mission that leads the development of the software.
- The developers have to follow the development workflow, policies and standards defined by the owner of the development. The documentation process has to be clearly defined, and available to the developers.
- The owner of the development has to provide access to the tools of the development environment.
- For the missions that are not owners of the development, the software is considered third party software, and it has to be included as such in their CIDL (Configuration Item Data List).