  Most bioinformatics pipelines consist of software components that are tightly
coupled to the logic of the pipeline itself. This limits reusability of the
individual components in the pipeline or introduces maintenance overhead when
they need to be reimplemented in multiple pipelines. We introduce Viash, a tool
for speeding up development of robust pipelines through "code-first"
prototyping, separation of concerns and code generation of modular pipeline
components. By decoupling the component functionality from the pipeline logic,
component functionality becomes fully pipeline-agnostic, and conversely the
resulting pipelines are agnostic towards specific component requirements. This
separation of concerns improves reusability of components and facilitates
multidisciplinar and pan-organisational collaborations. It has been applied in
a variety of projects, from proof-of-concept pipelines to supporting an
international data science competition.
  Viash is available as an open-source project at
https://github.com/viash-io/viash and documentation is available at
https://viash.io.
