[Dear Readers, our good friend Pat O’Toole, CMMI expert and
seasoned consultant, is collaborating with us on a new monthly series
of CMMI-related posts, "Just the FAQs." Our goal with these posts is
to provide answers to the most frequently asked questions about the CMMI,
SCAMPI, engineering strategy and software process improvement. This month Pat talks about bidirectional requirements
traceability. Take it away, Pat! ~
the CMMI Appraiser]
Requirements
Management (REQM) SP1.4, the practice that focuses on bidirectional
traceability of requirements, is like the obnoxious sibling that demands to be
the center of everyone's attention, to the detriment of that very special child
who is much quieter and certainly much better behaved. In the case of REQM, the well-behaved child is
SP1.5 - Ensure Alignment Between Project
Work and Requirements. So let’s
pause for a moment and give that angelic child the attention she so rightly
deserves…
There are essentially
two ways for things to get out of alignment with requirements. First, since most of us are human, every once
in a while we make mistakes. Perhaps the designs/test cases don't cover a requirement or two, and perhaps they include a design element/test case that
isn't directly tied to any of the requirements – thereby representing defects
of both omission and commission. Typically such issues are detected through
peer reviews or some other verification technique. To rectify such issues, the designs/test
cases are simply corrected or otherwise knocked back into alignment with the
requirements.
The second case occurs
when everything is in glorious alignment with the requirements (cue the harp),
but then that blasted requirement change is accepted. Given the change, something now has to be realigned
with this updated set of requirements.
The specific goal
supported by these sibling practices is, “Requirements
are managed and inconsistencies with project plans and work products are identified.” That latter half of this goal statement – the
bit in bold – is the “glass half empty” view of the SP1.5 practice statement: “Ensure that project plans and work products
remain aligned with the requirements.”
So here’s the punch
line – although SP1.4’s expectation of “bidirectional traceability” gets all
the attention and, with its discussion of “horizontal and vertical
traceability,” more than its share of angst, it is merely the ENABLER of SP1.5
– the “maintain alignment” practice. The
thinking is that by establishing such traceability, the engineers are much more
likely to cover all the requirements in the first place or, if not, to have
their peers use the traceability mechanism to uncover errors of omission and
commission when reviewing their work products.
In addition, bi-directional traceability enables more efficient analysis
of candidate change requests, as well as more effective realignment of any and
all affected work products with the new set of requirements. And THAT’s why the model suggests we
implement traceability – it’s simply a tool to help us keep things aligned.
And which project
work products should be kept aligned with the requirements? Absolutely EVERYTHING – after all, if it
weren’t for the requirements we wouldn’t have a project! So the project plan, schedule, issues log,
risk list, emails, use cases, prototypes, design elements, code, test cases,
deployment plans, etc. etc. should all be targeted at meeting the project requirements. However, although everything the project team
does should be focused squarely on satisfying the requirements, not all of the
work products they generate will gain efficiencies by being traceable to them. Which ones do? Ah, now THAT depends!
So if you only
focus on the obnoxious problem child, you may establish a bi-directional
requirements traceability mechanism so intricate and academically beautiful
that it warrants a patent, but one that may not best serve its intended purpose. The engineers, who abhor doing
non-value-added, administratively burdensome busy work, may begrudgingly use
the thing, but their hearts won’t be in it.
On the other
hand, if you encourage the engineers to exercise professional judgment by establishing mechanisms that ensure that the key work products stay aligned with the
requirements, they’ll get it, they’ll build it and, more importantly, they’ll
USE it! I don’t know about you, but I
would much rather have smart engineers do smart things to help themselves than
to force them to do something they don’t want to do just because some model
tells them that it’s good for them – whether they believe it or not. Remember – when it comes to engineers, improvement
is best done with them and for them, not to them!
© Copyright
2014: Process Assessment, Consulting & Training and Broadsword Solutions
“Just the FAQs” is written/edited by Pat O’Toole and Jeff
Dalton. Please contact the authors at pact.otoole@att.net and jeff@broadswordsolutions.com to
suggest enhancements to their answers, or to provide an alternative response to
the question posed. New questions are
also welcomed!
No comments:
Post a Comment