Reusing requirements across multiple projects

Jim Fowler
edited November 2021 in
Hi all,

I'm after some best practice advice. Say I have a set of requirements for a sub-system, and similar sub-systems may be used across several larger systems. I might think about having that sub-system in a separate project, then for each instance where it is used, reuse and sync the requirements. Then, if there is a new requirement that affects the subsystem wherever it is used, this can easily be cascaded. Instances of the sub-system may diverge but that's fine.

But what if I didn't know at first that a particular sub-system would be reused. If it was included one project because that's where it was needed. Then, later, another project uses the same sub-system and I want to re-use requirements. That might happen several times. If you reuse from the original project each time then you have to remember which was the first one. Should I be thinking about re-using and syncing to a separate project with an upstream relationship, then reusing again to the new system project with a downstream one. Then you have the original situation where you have one 'parent' instance of the sub-system and as many 'child' instances as you like without having to remember which was the original?

Is there a standard way of tackling this?

Thanks.

Comments

  • Alessandro Valli
    edited November 2021
    Hi Jim,

    I am working on this.

    After having worked a lot with the sync, I am moving to a different implementation.
    Items in sync are sharing the global id, thus they are sharing an association (want not to use the word "relationship"). There is no direction in such association. In addition to that I had a lot of issues with users syncing the wrong items or breaking the undesired sync :-(

    In my case I need something like a parent-child association, as I need to know where my reused items are coming from. Here I reuse the items with no sync and by setting "add a relationship from the original item".

    Best,
    Alessandro
    Systems Engineer
    SICK AG
  • Kyle Quan
    edited February 2022
    Instead of "reusing the items" to establish a clean set you may want to duplicate your initial Project 1 and create a Project 2 and then trim out everything that is not your subset from Project 2. After you could then reuse items out of Project 2 back into Project 1 and remove the requirements that needed to be replaced. May not be the most eloquent way but could be effective. The duplication method will at least get you a nice standalone snapshot of the requirements.

    To duplicate in the way I'm referring to:
    1) Open admin menu
    2) In the upper left select project
    3) Select Project 1
    4) Click actions
    5) Click duplicate