Skip to main content

L0 - Initial proposal

Start situation

When a scientist has a data- or computing challenge that deviates from the challenges tackled in existing virtual labs, this scientist can propose a virtual lab based on their scientific story and technical starting point. If NaaVRE has useful features or features can be added to NaaVRE to conduct the research, the potential (golden) users, the virtual lab coordinator, and NaaVRE DevOps team will co-design a new virtual lab.

During the initial proposal phase

Performing the following tasks results in an initial proposal for a concrete virtual lab:

  • Team recruitment
    • Recruit a team that will build the virtual lab. Roles frequently involved in the building of a new virtual lab are domain scientists who code and research software engineers.
  • Plan
    • Write a development plan for the virtual lab. What scientific scenario will be investigated and what is needed to enable that?
    • Make a timeline for the co-development, validation of the virtual lab and development of training material.
  • Documentation
    • Pick a nice name for your virtual lab.
  • Licensing
    • Choose a license for the virtual lab. We recommend using the Apache license 2.0, assuming this is compatible with the other packages and software you use in the virtual lab. If the Apache License 2.0 is incompatible with software or libraries used, you can pick another license. We recommend having a look at https://choosealicense.com/.
  • Codebase
    • When an agreement has been reached about the development plan, the virtual lab coordinator will create a new virtual lab.
  • Version control
    • Store the codebase on a repository with version control (e.g. git).

Initial proposal responsibilities

The following roles are involved in a initial proposal:

  • Golden users: Have a use case that will use the new virtual lab. Recruit the virtual lab development team.
  • Virtual lab coordinator: Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the maturity level framework.
  • VRE DevOps engineer: Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.

Initial proposal milestones

The following milestones can be achieved during the phase L0 of virtual lab development:

  • The virtual lab development team is recruited.
  • A new empty virtual lab is created.

Exit conditions

To transition from initial proposal to co-development an ambitious but realistic virtual lab proposal should exist. The following should be done:

  • Plan
    • There is an ambitious and realistic development plan for the virtual lab.
    • A timeline exists for the co-development, validation of the virtual lab and development of training material.
  • Codebase
    • A new virtual lab is created.
  • Version control
    • The codebase repository has version control (e.g. git).
  • Security
    • Personal tokens for APIs do not end up in version control. Do not write your secrets in the codebase. Use SecretsProvider or similar.
  • Licensing
    • The virtual lab has a license.
  • Documentation
    • The virtual lab has a nice name.