  Quantum computers promise considerable speedups over classical approaches,
which has raised interest from many disciplines. Since any currently available
implementations suffer from noise and imperfections, achieving concrete
speedups for meaningful problem sizes remains a major challenge. Yet,
imperfections and noise may remain present in quantum computing for a long
while. Such limitations play no role in classical software computing, and
software engineers are typically not well accustomed to considering such
imperfections, albeit they substantially influence core properties of software
and systems.
  In this paper, we show how to model imperfections with an approach tailored
to (quantum) software engineers. We intuitively illustrate, using numerical
simulations, how imperfections influence core properties of quantum algorithms
on NISQ systems, and show possible options for tailoring future NISQ machines
to improve system performance in a co-design approach.
  Our results are obtained from a software framework that we provide in form of
an easy-to-use reproduction package. It does not require computer scientists to
acquire deep physical knowledge on noise, yet provide tangible and intuitively
accessible means of interpreting the influence of noise on common software
quality and performance indicators.
