Demystifying Quantum Software Development: A Look at Requirements Engineering

IEEE Computer Society Team
Published 04/10/2024
Share this on:

The field of quantum software engineering (QSE) is rapidly growing, fueled by the potential for quantum computers to solve problems beyond the reach of traditional computers. But building functional quantum software requires a solid foundation, just like any other software project. That’s where requirements engineering (RE) comes in as the critical first step that defines what the software needs to do. While RE is fundamental to any software development process, it hasn’t reached the same level of attention in the quantum realm.

The paper “Towards Quantum Software Requirements Engineering,” presented at the 2023 IEEE International Conference on Quantum Computing and Engineering (QCE), explores the emerging field of Quantum Software Requirements Engineering (QSRE). In it, Tao Yue and Shaukat Ali from the Simula Research Laboratory and Paolo Arcaini from the National Institute of Informatics explore how QSRE differs from its classical counterpart and what it takes to build successful quantum software.


What Is QSRE?

Quantum software requirements engineering ensures that your quantum software fulfills its intended purpose. It’s the initial phase where stakeholders define exactly what the software needs to accomplish. Similar to classical RE, QSRE plays a vital role in building functional quantum software. Here, functional refers to the software’s ability to meet the core objectives outlined during this initial phase.

Just like in classical software development, QSRE involves a variety of stakeholders. This can include domain experts who bring deep knowledge of the problem the software is trying to solve, quantum software developers with the technical expertise to build it, and even investors who ensure the project stays within budget.


Key Differences in QSRE

While QSRE shares some similarities with classical RE, there are some key distinctions to consider:


Classifications of Requirements

  • Functional vs. extra-functional requirements: Both classical and quantum RE deal with functional as well as extra-functional requirements. Functional requirements define what the software needs to do, while extra-functional requirements focus on how the software should perform.
  • Quantum vs. classical requirements: A crucial aspect of QSRE is identifying which parts of the problem are best suited for classical processing and which require the power of quantum computing. This distinction is essential for efficient software design.


Extra-Functional Requirements Specific to QSRE

Beyond the standard set of extra-functional requirements, QSRE introduces some unique challenges:

  • Portability: Quantum computers are still evolving, with different hardware architectures. QSRE must consider the need for software to be portable across these platforms.
  • Performance: A core benefit of quantum computing is achieving speedups compared to classical methods. QSRE emphasizes establishing clear performance benchmarks during the initial stages.
  • Reliability: Quantum hardware is susceptible to errors. QSRE must account for these limitations and incorporate potential solutions like quantum error correction to ensure reliable execution.
  • Scalability: Current quantum computers have limited qubit resources. QSRE focuses on optimizing software to function efficiently within these constraints.
  • Maintainability: The field of quantum computing is rapidly advancing. QSRE should consider designing software that can be adapted to future hardware advancements.
  • Reusability: Enhancing code reusability across different quantum systems is an essential goal in QSRE, promoting efficiency and faster development cycles.


Strategic Approaches for QSRE

Building successful quantum software requires careful planning during the QSRE phase. Here are some key considerations:

  • Target the right problem: Identifying tasks well suited to quantum algorithms is crucial for efficient resource allocation.
  • Embrace the limitations: Hardware limitations like qubit count and error rates should be accounted for to ensure the software is achievable.
  • Leverage existing tools: Selecting established quantum algorithms during the early stages reduces development time and avoids reinventing the wheel.
  • Prioritize trade-offs: These should be addressed early to ensure optimal resource allocation and a focus on achieving the core objectives.
  • Future-proof your software: Consider how advancements in algorithms and hardware might impact the software’s design.


Building Successful Quantum Software with QSRE

QSRE is the cornerstone of successful quantum software development. By carefully defining what the software needs to achieve and considering the unique constraints of quantum hardware, QSRE ensures the final product meets the intended goals.

To explore more of the intricacies in this evolving field and its methodologies, download the full research.

Download Research

"*" indicates required fields

Are you interested in learning more about any of the following?
IEEE Privacy Policy*

Registration is now open for IEEE International Conference on Quantum Computing and Engineering (QCE)

Join us 15-20 September at the Palais des Congrès in Montreal for a transformative week of Quantum Computing. Meet and learn from leading researchers, innovators, and peers in this dynamic field. Don’t just watch the future unfold—be a part of it. Register here and mark your calendars for an unforgettable experience!