Instructors
Writing High Quality Requirements
Objectives
This seminar helps anyone performing the requirements analyst role on software or systems development projects become more proficient at specifying high quality requirements. Participants learn how to examine requirements critically for problems and how to write clear, unambiguous requirements of various types.
Topics covered include distinguishing and documenting requirements with a focus on precision, quality, and stakeholder involvement. During practice sessions, participants apply their learning to realistic scenarios and work together to evaluate and provide feedback to each other. This is not a complete course on requirements engineering. After the introductory material on requirements in general, the course emphasizes the actual writing of different types of requirements
Day 1 of the seminar sets a common view of software requirements, provides techniques for Reviewing Requirements, tools for visualizing Scope and the requisite Elements of Requirements Style. Exercises reinforce understanding of these topics.
Day 2 of the seminar “drills down” to the use of multiple requirements views to share the vision with all stakeholders. Methods for requirements evaluation and review, writing techniques, and version control are described and practiced. The seminar concludes with detailed examples of, and drills in, Use Cases.
Who Should Attend?
This seminar will be useful to both new and experienced analysts who wish to learn how to more effectively facilitate requirements communication between the customer and development communities. The concepts described are also applicable to hardware and systems development projects.
Course Outline:
Day One
Group Discussion: Your Requirements-Writing Problems
Software Requirements Refresher
- Requirements definition
- Three levels of software requirements: business, user, and functional
- Characteristics of high-quality requirements
- Tips for writing clear requirements
- To duplicate or not to duplicate
- How much detail do you need?
- Requirements vs. design
Reviewing Requirements
- Peer review defined
- Who should review requirements
- Practice session: Your requirements reviewers
- Formal and informal review techniques
- Guiding principles for effective reviews
- Checklists for reviewing requirements
Depicting Project Scope
- Context diagrams
- Use case diagrams
- Feature levels
- Event list
Elements of Requirements Style
- Structures for writing functional requirements Write in active voice
- Common types of requirements ambiguity Avoiding requirements ambiguity: negation, omissions, boundary values, synonyms, similar sounding words, pronouns, adverbs, i.e. and e.g., the A/B construct
- Weak words to avoid
- Avoiding solution ideas
Day Two
Using Multiple Requirement Views
- Alternative requirements views
- Decision tree
- Tables and structured lists
- Choosing a requirements model
- Listening for key words in user input
- Relating user input to model components
Sample Requirements to Evaluate
- Some good functional requirements
- Critique several flawed functional requirements
- Rewrite some of the flawed requirements
- Using alternative requirements views
- Reviewing and improving your own requirements
Writing Other Types of Requirements
- Nonfunctional requirements
- Software quality attributes
- Writing nonfunctional requirements with
- Planguage
- Data dictionary
- Business rules
- Deriving functional requirements from business rules
An Overview of Use Cases
- Use cases defined
- Scenarios and use cases
- Preconditions and post-conditions
- Normal flow, alternative flows, exceptions
- Use cases and functional requirements
- Deriving functional requirements from a use case description
Wrap-up
Evaluations
Course Reviews
No Reviews found for this course.