Requirements Writing

This full-day workshop is intended to help people who perform the requirements analyst role on a software project become more proficient at specifying high-quality requirements. The workshop can be tailored to meet the needs of each specific audience, such as having students work with requirements pertinent to their own development project and user community. The students will not be expert requirements writers after this workshop—that takes practice and helpful review feedback from others. But students will have a good sense of what constitutes high-quality requirements of various types and how to write them.

“Jim is extremely knowledgeable, and just as important, he is very interested in sharing that knowledge with his audience and working with his clients to ensure they are successful. He was very ‘hands-on’ prior to the training, during, and followed up with us afterwards. It was important to us that we partnered with someone who really took an interest in providing that value.” – Chris Lauzon, Autodesk

Typical activities are selected from the following:

  • Select several less-than-perfect requirements statements from an existing SRS. Review them as a group to identify problems, using the 10 characteristics of excellent requirements specifications taught in the “In Search of Excellent Requirements” seminar as the goodness criteria. Rewrite the requirements as a group to improve them.
  • Identify key requirements attributes to be recorded for each functional requirement. Practice defining these attributes for several existing requirements.
  • Discuss effective ways to identify and organize requirements in the SRS.
  • Role-play interviewing user representatives to identify use cases, then work through a use case to explore the actor-system dialogue, document the use case, and derive several functional requirements from it. Review each other’s work and comment.
  • Exploration of several different requirements analysis models that may serve to be useful to the group to better visualize the needs of the system and communicate these needs to their peers. This may include context diagrams, data flow diagrams, state transition diagrams, GUI modeling techniques or other models as deemed appropriate by the group.
  • Exploration of complementary elements to functional requirements such as data dictionaries and business rules to support shared understanding of the system.
  • Practice in the areas of requirements prioritization and change management to help ensure that the most important requirements are being worked on at any point in time.
  • Practice in writing non-functional requirements (or quality attributes) to allow the group to quickly identify well-written quality requirements for the system. Identify some quality attributes that could be important to the participant’s project and develop questions an analyst could use to elicit appropriate quality goals for each attribute from user representatives. Write some quality goal statements. Review each other’s work and comment.
  • Other areas as identified by the group, if an on-site session.

“The exercises provided that are specific to the company domain are wonderful!” – Ciro Coelho, Informa Software

On completion of this seminar, the student will be able to:

  • Critically evaluate functional requirements and quality attributes
  • Review and provide feedback on requirements written by other analysts
  • Document data dictionary entries and business rules
  • Describe the components of a well-structured use case
  • Derive functional requirements from the components of a use case
  • Write functional requirements and quality attributes that are more precise, richer in detail, less ambiguous, and more actionable than before

Audience

This workshop is geared primarily towards those in the role of requirements analyst, but will also be will be useful to software engineers, managers, requirements analysts, user representatives, and anyone else engaged in gathering, documenting, analyzing, or managing customer requirements for software applications.

Format

Blend of lecture, class discussion, group discussions on requirements problems and solutions, and practice sessions. Practice sessions give attendees deep experience in working with use cases, drawing dialog maps and other visual models, writing and reviewing requirements.

We provide a diagnostic of current requirements practices that all participants complete prior to the training. This serves to introduce topics that will be covered in the training, and helps the instructor understand where to emphasize content in the course.

Participants get a complete snapshot of the results (statistically anonymous, of course), as well as feedback on where the group lies relative to others that have taken the diagnostic in the past.

Suggested Outline

Group Discussion: Your Requirements-Writing Problems

Software Requirements Refresher

  • Requirements definitions
  • Three levels of software requirements: business, user, and functional
  • Characteristics of high-quality requirements
  • Tips for writing quality requirements
  • How much detail is needed?
  • Structures for writing functional requirements
  • Reviewing requirements

Sample Requirements to Evaluate

  • Practice session: Critique and improve upon several functional requirements from different projects
  • Software quality attributes overview
  • Practice session: Critique and improve upon several quality attribute requirements
  • Practice session: Writing quality attributes
  • Data dictionary
  • Practice session: Writing data dictionary entries
  • Business rules overview
  • Practice session: Writing business rules

Overview of Use Cases

  • Definition of use cases and examples
  • Preconditions and postconditions
  • Alternative flows and exceptions
  • Use cases and functional requirements

Practice Session: Writing functional requirements from a use case description

coverIt is recommended that those taking this workshop obtain the accompanying book, Software Requirements (2nd Edition) by Karl Wiegers.

This workshop has been licensed from Karl Wiegers and Process Impact.

Please contact us for more information regarding this offering.

  • Tag Cloud

  • What’s Happening

    Jan 28, 2010 - Thoroughly enjoyed an exploration of inter-cultural issues in the workplace with VanQ - 11 countries were represented, with fewer than 20 participants!
  • What People are Saying

    Jim is simply one of the smartest and most knowledgeable software development professionals I have ever met. His vast knowledge of the discipline is both leavened and enhanced by his acute awareness of and sensitivity to “the real world” of what actually occurs with real developers in actual practice. Jim is also a warm, open, honest person – rare gifts and an asset in any consultant. — Bonar Harris