Skip to content

LINCC Frameworks Development Process

Jeremy Kubica edited this page Dec 12, 2022 · 1 revision

This page provides an overview of the LINCC-Frameworks development process and links to more in-depth resources.

Introduction

The LINCC-frameworks team uses a flexible development approach that combines core LINCC-Framework team best practices and specific project’s approaches when collaborating with external teams. This flexibility is needed because of the range of projects to which the team contributes. In cases where LINCC-Frameworks is the primary owner and driver of the project, we will use our team best practices, style, etc. In cases where we are contributing to other group’s code, we want to stay consistent with their approaches.

Our core development approach includes:

  • New long term projects should start with a (basic) requirements document that is jointly developed by the software engineers and project scientists to ensure that the project is solving a real problem and is technically feasible.
  • The team should create design documents for any large changes or new projects. These should be reviewed as part of a design review.
  • All non-trivial changes should include a corresponding test and be code reviewed by at least one other person.
  • Code should use the LSST style: https://developer.lsst.io/ or style of applicable parent project.

Source Control

The majority of LINCC-Frameworks code will be hosted on github. Packages developed primarily by the team will be hosted at https://github.com/lincc-frameworks.

Links

Clone this wiki locally