... | @@ -7,12 +7,14 @@ The document summarised the collection of best practices for |
... | @@ -7,12 +7,14 @@ The document summarised the collection of best practices for |
|
|
|
|
|
| Best Practice | Steps in SDLC | Current Status | Examples and links | Gaps | Priorities |
|
|
| Best Practice | Steps in SDLC | Current Status | Examples and links | Gaps | Priorities |
|
|
| ------------- | ------------- | -------------- | ------------------ | ---- | ---------- |
|
|
| ------------- | ------------- | -------------- | ------------------ | ---- | ---------- |
|
|
|
|
| Software is integral part of (open science) | general | visibility and support needs to be strengthened | by citations, visibility | development, adoption | adoption |
|
|
| Provide guidelines to researches and developers | development |Several guidelines available | [DLR](https://rse.dlr.de/),[Netherlands eScience center](https://guide.esciencecenter.nl/#/best_practices/checklist) | Development and deployment in the community, harmonisation | adoption |
|
|
| Provide guidelines to researches and developers | development |Several guidelines available | [DLR](https://rse.dlr.de/),[Netherlands eScience center](https://guide.esciencecenter.nl/#/best_practices/checklist) | Development and deployment in the community, harmonisation | adoption |
|
|
| Management of Software Projects | general/planning | different solutions (from open source to commercial in use | | experiment specific | none |
|
|
| Management of Software Projects | general/planning | different solutions (from open source to commercial in use), different SLDC approaches | incremental, iterative or agile development (often adopted)..., [Cosylab](https://www.cosylab.com/) solution for CTA, [SAFe®](https://www.scaledagileframework.com/) for SKA | experiment specific | none |
|
|
| Choice of Development Platform | development | internal and external platforms, both open source and commercial | github and gitlab | harmonisation needed? | none |
|
|
| Choice of Development Platform and Workflow | development | internal and external platforms, both open source and commercial | github, e.g. [gammapy](https://gammapy.org/), and gitlab, [Hangar](http://www.github.com/tensorwerk/hangar-py) for data management | harmonisation needed? | none |
|
|
| Continuous Integration/Deployment | deployment | automated platform for CI/CD including software tests | gitlab/github CI/CD | harmonisation | harmonisation |
|
|
| Continuous Integration/Deployment | deployment | automated platform for CI/CD including software tests | gitlab/github CI/CD, Linux package, e.g. the [Kernsuite](https://github.com/kernsuite/packaging) | harmonisation | harmonisation |
|
|
| Containerisation | development, deployment, archiving, maintenance | containers as overarching solution for flexible software distribution and handling | including Kubernetes | research (overview gathering) | development |
|
|
| Containerisation | development, deployment, archiving, maintenance | containers as overarching solution for flexible software distribution and handling | including Kubernetes | research (overview gathering) | development |
|
|
|
|
| Interoperability between software | general | meta-data and workflow descriptions available | e.g. [Stimela](https://github.com/SpheMakh/Stimela) and [CARACal](https://caracal.readthedocs.io/en/latest/) for MeerKat
|
|
| Avoiding Vendor Lock-In | general | vendor lock-in should be avoided by using general approaches or use global common services where vendor transfer is highly probable | e.g. use make files for tests, github as global standard| research | adoption |
|
|
| Avoiding Vendor Lock-In | general | vendor lock-in should be avoided by using general approaches or use global common services where vendor transfer is highly probable | e.g. use make files for tests, github as global standard| research | adoption |
|
|
| Prepare software for archiving, choose archive | Archiving | Archives available, OSSR will help | Zenodo, Software Heritage | automation in OSSR | harmonisation |
|
|
| Prepare software for archiving, choose archive | Archiving | Archives available, provide guidelines to cite the software properly, PID your software | [Zenodo](https://zenodo.org/), [Software Heritage](https://www.softwareheritage.org/) | automation in OSSR | harmonisation |
|
|
| Maintenance takes more resources than development | Maintenance | Most projects focused on development, maintenance took into consideration by the platform, resources only partly available | funding for long-term maintenance not securable | raise awareness | harmonisation |
|
|
| Maintenance takes more resources than development | Maintenance | Most projects focused on development, maintenance took into consideration by the platform, resources only partly available | funding for long-term maintenance not securable | raise awareness | harmonisation |
|
|
|
|
|