QW2001 Tutorial B1

Mr. Erik Simmons
(Intel Corporation)

Writing Good Requirements

Key Points

Presentation Abstract

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.