QW2001 Tutorial B1
Mr. Erik Simmons
Writing Good Requirements
- Discuss and choose from different techniques to specify requirements
- Improve written requirements and tell good requirements from bad ones
- Write non-functional requirements so they are verifiable
Presented at PNSQC 2000, attended by 54 people. First presentation outside
of Intel, where it was taught to more than 1,000 students around the world
this year. Of the 45 PNSQC evaluations returned, 44 would recommend the
workshop to others and found it either "valuable" or "very valuable". People
like the fast pace and depth of information presented.
Poorly written requirements result in lost productivity, increased re-work,
dissatisfied customers, poor end product quality, and even project
cancellations. So, why are good requirements so hard to write? Many people
do not know the key attributes of a "Good Requirement", and have not been
exposed to the various effective ways to specify requirements.
This 1-day workshop focuses on and applies the best-known methods behind
improved requirements writing. Based closely on a popular course taught at
Intel, the course covers the different types of requirements and what
activities are important when specifying requirements. The emphasis is on
practical solutions to common problems, and contains valuable real examples
from Intel documents in both original and improved formats. Students will
gain an understanding of the attributes of a good requirement, and learn
ways to identify whether the requirement is unambiguous, concise, necessary,
correct, and traceable. Many useful "take it home and use it tomorrow"
techniques for writing both functional and non-functional requirements are
presented. Several exercises are included to reinforce the techniques.
Attendees are invited to bring their existing requirements documents for use
in the final exercise if desired.
About the Author
Erik Simmons has 15 years experience in multiple aspects of software and
quality engineering. Erik currently works as a Platform Quality Engineer
within the Corporate Quality Network at Intel Corporation. He leads the
corporate Software Engineering Process Team that is charged with improving
software development capabilities across Intel's product development groups,
and is responsible for Intel's product requirements engineering practices.