In Search of Excellent Requirements
Now updated to reflect the new 3rd Edition of Software Requirements, by Karl Wiegers and Joy Beatty!
“I’ll go find out what they want, and the rest of you start coding.” This caption from a cartoon is uncomfortably close to the way some software organizations still treat the requirements specification process. Contemporary definitions of “quality” include the concepts of both meeting stated specifications and satisfying the actual customer requirements, which sadly are not always the same thing. Converging these two components into a unified vision of the final product is the linchpin of success on technical projects.
This two-day workshop describes dozens of tested methods that can help any organization improve the way it elicits, analyzes, documents, validates, and manages software requirements. Characteristics of excellent requirements statements and requirements specifications are presented and used to evaluate some sample functional requirements. Also available in 1 and 3 day versions, contact us for details.
“Thank you for an excellent Requirements class. I thoroughly enjoyed the last two days and I gathered many valuable take-aways from it. Excellent job!” – Steve Blanchard, Business Analyst
The basic concepts of requirements management are described, as are practical methods for managing changes to requirements. These techniques can reduce project risk by improving the quality and control of the software requirements, thereby increasing the likelihood of a successfully completed project.
This workshop emphasizes many practical techniques, including:
- Creating an effective customer-developer partnership
- Customer involvement through a “product champion” model
- Roles and descriptions of key contributors to requirements
- Application of use cases for defining user needs and system functions
- Writing software requirements specifications using a standard template
- Classifying and recording business rules that affect the technical system
- A simple model for prioritizing requirements
- Constructing dialog maps and other analysis models to provide alternative views of the requirements
- Using prototypes to clarify and refine user needs
- Using peer reviews to find requirements errors
- Adapting requirements practices to agile projects
Tools to take away
- Over 20 different techniques you can apply as warranted on your projects
- Word-based templates for a Vision and Scope document, Use-case Document and Software Requirements Specification
- Decision support spreadsheets for prioritizing requirements and identifying quality attributes
- Checklists, worksheets and whitepapers to reinforce elements of the course
- Ongoing support for clarification of issues raised in the course from the instructor
Over 1 Meg of soft-copy information is made available at the end of the workshop for participants.
“Great course, it helped me see that we are not alone in the challenges we face, and gave me the tools to improve how we collect and handle requirements.” – Kevin Mueller, Navarik
This seminar will be useful to business analysts, project and product managers, user representatives, software engineers, marketers, and anyone else engaged in eliciting, documenting, analyzing, or managing customer requirements for technical applications.
Blend of lecture, class discussion, group discussions on requirements problems and solutions, and practice sessions. Practice sessions give attendees some experience in working with use cases, drawing a dialog map, reviewing requirements, and writing an action plan to improve their group’s requirements practices.
We provide a diagnostic of current requirements practices that all participants complete prior to the workshop. This serves to introduce topics that will be covered in the session, and helps the instructor understand where to emphasize content in the workshop.
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.
“My staff are going to groan as we work together to become more disciplined – they avoid doing documentation but are thrilled when they benefit from it being done. You’ve provided a basis for us to move forward in building a culture including requirements analysis as part of our best-practices toolkit.” – June Clark, Northern Health Authority
Sample Outline (adjustments can be made to fit your needs)
Introduction to Requirements Engineering
- Introduction to seminar, objectives, participant expectations
- Define three levels of software requirements: business, user, and functional
- Describe characteristics of high-quality requirements
- Requirements development vs. requirements management
- Practice session: small group discussions on requirements problems in their projects
Software Requirements Development
- A requirements development process
- The requirements analyst
- The customer-development partnership
- The vision and scope document
- Practice session: Drawing a context diagram
- Sources of requirements
- Classifying requirements into categories
- User classes
- Customer involvement in the requirements process: the product champion model
- Gathering user requirements through use cases
- Practice session: Describing a use case for an airline reservation kiosk
- Documenting requirements: the software requirements specification
- Business rules
- Practice session: Writing business rules
- Requirements management tools
- Practice session and discussion: Reviewing a portion of an SRS
- Practice session: Examining requirements for problems and rewriting them
- Prioritizing requirements
- Software quality attributes
- Practice session: Writing quality attributes
- Using analysis models to represent requirements graphically
- Modeling user interfaces with dialog maps
- Practice session: Drawing a dialog map from use cases
- Reducing the expectation gap through prototyping
- Requirements validation practices
Software Requirements Management
- Requirements management goals and practices
- Version and change management
- Requirements change impact analysis
- Requirements traceability
- Requirements and software risk management
Improving Your Requirements Practices
- The process improvement change cycle
- Practice session: Small group discussions on solving requirements problems
“The requirements prioritization portion was especially interesting. I can use this next week with a customer directly.” – Mike Aksmanovic, MDSI Mobile Data Solutions Inc
It is recommended that those taking this workshop obtain the accompanying book, Software Requirements (3rd Edition) by Karl Wiegers and Joy Beatty.