Reuse of requirements

Goran Madzar

27/08/2017

The use of model-based tools for requirements management is intended to make our lives easier and work more efficient. However, these tools are often used merely as a replacement for Word. The requirements are entered into the tool, and then a document is generated. The potential for reuse is rarely utilized. In my professional practice, I see that many companies find it difficult to reuse requirements across projects or products. In this article, I would like to offer some approaches to rethinking requirements management and thus achieve significant efficiency gains with improved quality.

Why do we keep rewriting requirements?

A new project is on the horizon. It starts with a specification or requirements document. Perhaps you print out an old document as a template, and then you get started. We create a project in our tool and start typing: "The system should..." The tool dutifully generates a unique ID for this requirement (REQ-0001).

This is how you write down all the requirements for the product. I'm deliberately simplifying things here and ignoring the methodologies for determining requirements. At this point, it's only about documenting and managing them. Many companies already have a number of products and, therefore, requirements. Why are you recreating the requirements now instead of reusing them like Lego bricks? Here's a list of possible reasons:

  1. The old products are not well documented and things should now be done correctly.
  2. The new product is completely different from the old one.
  3. I don't know the other documents; I wasn't responsible for them. I may not have access rights at all.
  4. I have no idea how to reuse requirements with my tool.
  5. I don't know where to look since there are some products with good examples and many with bad ones.
  6. Actually, I don't have time to deal with this sort of thing. I have to get it done—I'm the man myself.

The number of reasons should not be underestimated. Nevertheless, the effort is worthwhile.

Why rewriting over and over again is bad?

Constantly coming up with new requirements is like reinventing the wheel every time. This process isn't particularly stable. Perhaps you recently took a requirements engineering training course and are careful to formulate requirements appropriately. But it could also be that you're a bit out of practice and the quality of the requirements suffers considerably. But who can remember all the various requirements necessary for a product? What did production and service need again, and what were the non-functional requirements? Guided by the headings, you cobble something together. I think it's clear to everyone that the quality of this specification can't be nearly as good as one that has already matured across various products. But it's not just the requirements that need to be considered; the test cases too. Creating the test cases takes more time than documenting the requirements. If you were to adopt requirements, you could also reuse the test cases one-to-one. This would make work much easier and save time.

How should requirements management be implemented?

My recommendation is to create a database or a shared project with all requirements and test cases. The projects then use this source and extract the requirements from it.

There are "common requirements" whose content does not need to be changed. These include requirements whose content does not require any changes, e.g., labeling of application parts and nameplates, standards, connectors to be used (power socket, USB, etc.), maintainability requirements, etc.

Customize requirements are requirements that have one or more parameters and must be adjusted. For example, we can define the maximum weight of a system as < 15 kg. This value can vary from product to product, but also between device variants. This value therefore represents only one parameter of the requirements, which depend on the product, variant, and version. Other customize requirements can also be performance requirements. For example, a requirement could be defined regarding which amplitude settings can be displayed for an ECG monitor.

Your contact person:

Dipl.-Ing. Goran Madzar, Partner, Senior Systems Engineer 
E-mail: madzar@medtech-ingenieur.de
Phone:  +49 9131 691 240
 

Do you need support with the development of your medical device? We're happy to help! MEDtech Ingenieur GmbH offers hardware development, software development, systems engineering, mechanical development, and consulting services from a single source. Contact us.

make contact


The procedure now involves selecting the relevant common requirements for the product and importing them. The same is done for the "Customize Requirements," selecting the parameters accordingly. This should already complete a large part of the work. The larger the database, the more Lego bricks there are that can be reused and don't need to be rewritten. All others that aren't yet in the database are actually created in the project. If these requirements are candidates for reuse, they can be imported back into the database.

Tips

If you don't already have a solution to the problem described above and are planning to take your requirements management to the next level, then I have the following tips for you:

  1. Make sure that the quality of the requirements and test cases in the database is good, as you will be dumping them into the products.
  2. Define a database manager who will take care of the requirements.
  3. Make sure IDs are unique across all projects. This is the only way to ensure requirements can be reused.
  4. On your next project, start not only collecting project requirements, but also building your database at the same time.

I've deliberately left out the tools in this article. All the tools I've used so far support this approach. If you have any questions or need help, feel free to contact me.

Best regards

Goran Madzar


Written by Goran Madzar

A passionate MEDtech engineer! My team and I provide engineering services to medical technology manufacturers to help them develop and market their products! Feel free to contact me via LinkedIn or email. I look forward to meeting you.


More articles

  • 05/12/2024
  • General, Systems Engineering, Companies, Events

In a constantly changing business world, creativity is a key factor for success. Companies that can develop innovative solutions and continuously adapt to new challenges have a ...

Read more
  • 09/07/2024
  • General, Electrical Stimulation, Systems Engineering, Companies, Events

Dear engineers, technology enthusiasts, and family members, the "Fascination of Technology" family day will take place in Nuremberg on July 13, 2024! The event is organized by the VDI District Association Bavaria Northeast and the Nuremberg Technical University. ...

Read more
  • 27/05/2024
  • General, Requirements Engineering, Software

Writing requirements is an integral part of any product development. Only when you know what the product is supposed to do can you design it accordingly and ultimately test it. ...

Read more
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.