Polarion ALM 2017
Sneak Peek

Traceability

Before you start reading, ask yourself a question

What is traceability?

Some people answer:
  • It is about ensuring objects are linked
  • It is about tracing all the work to change requests
  • ..

Wikipedia describes it: 
In systems and software development; the term traceability (or Requirements Traceability) refers to the ability to link product requirements back to stakeholders' rationales and forward to corresponding design artifacts, code, and test case. Traceability supports numerous software engineering activities such as change impact analysis, compliance verification or traceback of code, regression test selection, and requirements validation...
 
We describe traceability as:
Traceability refers to the completeness of the information about every step in a supply chain.
 
Examples: So traceability is not about linking test case with a requirement, but ability to prove/show that the requirement was really tested. Traceability is not about linking a code revision with a task, but ability to prove that everything that you have changed in the code was verified.

 

ALM Repository

The fact that with Polarion ALM you can store all the ALM artefacts (change requests, requirements, test cases, tasks, user stories) in a single versioned repository ensures:

  • You can link any of the artefacts together
  • You can automate processing of the linked data using Polarion Workflow automation
  • You can be sure that everything is versioned and you can search history and open tracing history from any moment in the past

 

Source Code Change Traceability

From the beginning of our journey we knew we had to establish not just traceability of items we own primarily (specifications, requirements, tasks, etc.) but also with source code.

 

traceability-1


Since our first release in 2004 it has been possible to link source code changes in Subversion (SVN) with work items (tasks, requirements, etc.) Then in 2010, we provided customers with the flexibility to decide where their projects' source code actually "lives" - in Polarion ALM's built-in SVN repository or in external VCM systems (SVN, GIT, Perforce, PlasticSCM, etc.) - while maintaining the same linking of code changes in any repository to work items in Polarion ALM.

Resource Traceability

Now we extend the traceability concept even further, with the ability of Polarion ALM to not only trace changes, but to link the content semantically.

What does this mean? It means that you can connect work items with content. For example, rather than simply tracking changes to a source code file, you can establish a connection between a function, method, or variable in your source code and work items in Polarion ALM.

Because the connection is semantic:

  • We know what is linked, we parse the content semantically and we show not just a line number, but what the element actually is - function, method, variable, etc.
  • You can classify the meaning of the connection. For example: “function check C” is linked to “defect item” with role “verifies”.
  • You see all the occurrences, often branches where the element is used.

 

Polarion ALM 17

Polarion ALM 17 comes with out of the box support for:

  • Collecting resources from:
    • Built-in SVN
    • External SVN
    • External GIT
    • Perforce and Plastic SCM will come separately as we passed
      the API to respective vendors to extend the connector with
      new capabilities
  • Parsing format:
    • Java files
    • C files
    • XML files


Extensibility

We provide a fully featured API to plug in resource collectors and parsers.
And we share the source code of our implementation for GIT and C. So our own developers' plugin support for GIT uses the same API that we offer to the public.


Other Content than Source Code

The Resource Traceability feature will not be limited to linking source code. We have early adopters who are considering using the feature to:


Trace Big Data Binary Files

Trace a video recording to test scenarios, by providing a subtitle file with references to test case work items. Video files will be be stored in the plain file system.


Trace Office Data

  • Trace Powerpoint presentation elements to roadmap items
  • Trace Excel sheets with Issue reports to Issue type work items
  • Documents could be attachments or be stored in a shared folder


Non Semantic Links in Text Files

  • Regex Parsing to parse content links from Text Files
  • System configuration files traced to System Property Definition type work items


First Look "Under the Hood"

The first release of Resource Traceability focuses on source code. Support for other types of resources previously mentioned will be forthcoming in subsequent 2017 Service Releases.


Enablement and Configuration

You'll need to set some new system properties to enable the feature in your existing installation. There's a new Administration topic: Administration > Repositories > Resource Traceability. Check the embedded Quick Help in this admin topic for guidance on the new system properties and the feature configuration, and a link to detailed online Help. In this topic you specify the repository(ies) to process for resource traceability, and where, when, and how the data will be processed. (Note that link creation does not take place in real-time. Resource traceability is updated via a scheduled CRON job that runs the parser, or it can be invoked explicitly by an administrator.

New administration topic to configure resource traceability

 

Once you complete the configuration, a new region "Linked Resources" appears in the Work Item detail form:

Adding feature extension to the Work Item detail form

 

Linking a Resource

With the configuration in place, your developers can link specific blocks in their source code to Work Items in Polarion ALM. For example, if some Java function implements some Requirement type Work Item, then by specifying the link in a source code comment the parser will create the link according to the options specified.

Developers set up traceability in source code comments

The full syntax with all possible options is documented in a the Administrator's Guide part of Help. Search for "Configuring Resource Traceability".

Gate-keeping for Linked Resources

It may not be desirable to allow all users who have permission to view Work Items to also view linked resources. So there is a new permission for Work Item fields: Permission to READ field 'Linked Resources', which administrators can grant or revoke for various user roles.

User permission controls who can see linked resources

Users who don't have this permission will still see the the Linked Resources section header in Work Items, but no links will appear.

 

Last but not least

For developers, we provide an API to deploy:

  • the syntax parser (out of the box we support XML, Java and C)
  • the repository collector (out of the box we support SVN and GIT)

 

 

Let us know

As always we would love to hear your feedback on the newest features and enhancements. Did we miss anything? You have questions? We are always looking for new ways to make our products work harder for you.