Software Requirements Essentials
(A 3-hour, on-demand online course)
Based on the popular book Software Requirements Essentials by Karl Wiegers and Candase Hokanson, this three-hour
course describes 20 requirements practices that every software team should perform. These core practices help project
and product teams understand the business problem, engage the right participants, articulate effective solutions, communicate information
among stakeholders, implement the right functionality in the right sequence, and adapt to change. The topics presented include:
- What different types of requirements are
- The 20 essential requirements practices
- How to apply those practices on agile, traditional, and hybrid projects
- How to perform business requirements activities that create a solid foundation for a project
- How to represent requirements information of various types using various textual, tabular, and graphical techniques
- How to define requirements baselines and manage changes to them
- Many short exercises that provide a bit of practice with the techniques presented
- And much more
More Information and Purchase
(back to top)
In Search of Excellent Requirements
(1-3 days)
Requirements form the foundation for all the project work that follows.
High quality requirements help avoid the unpleasant surprises sometimes experienced when software is delivered.
This course is based on Karl Wiegers's bestselling book, Software
Requirements, 3rd Edition. Covering the breadth of requirements development and management,
it describes dozens of tested methods that can help any organization improve how it elicits, documents, and analyzes
software requirements. Small group discussion let students identify requirements problems they face on their projects, impacts and root
causes, and possible solutions to those problems. The longer versions of the course go into more depth on several of these topics,
cover additional topics, and include more practice activities. Topics covered include:
- Customer involvement through a "product champion" model
- The application of use cases for defining user needs and system functions
- A simple model for prioritizing requirements
- Writing software requirements specifications using a standard template
- Numerous analysis models for representing requirements knowledge visually
- Using prototypes to clarify and refine user needs
- The use of peer reviews to find requirements errors
- Techniques for managing requirements, including change control, version control, and traceability
Detailed Description and Outline
Related Publications
(back to top)
Exploring User Requirements with Use Cases (1 day)
Use cases are an effective and widely used technique for eliciting software
requirements. The use-case approach focuses on the goals that users have
with a system, rather than emphasizing system functionality. This one-day
course presents the use-case approach in a
practical and straightforward fashion. Following the course, an attendee
will be able to lead and participate in a use-case elicitation workshop, write use case descriptions
at various levels of detail, review use cases, and apply use cases to develop the
functional requirements for a software system. Many practice sessions give the student
opportunities to try the techniques described. Topics covered include:
- Identifying user classes and actors
- Scenarios and use cases
- Anatomy of a use case
- Use case diagrams and other analysis models
- Documenting a use case
- Conducting use-case elicitation workshops
- Deriving functional requirements from use cases
- Reviewing use cases
- Using use cases to design tests
Detailed Description and Outline
Related Publications
(back to top)
Writing High-Quality Requirements (1-2 days)
Based on Karl Wiegers's book More About Software
Requirements, this course will help business analysts become better at
specifying clear, unambiguous requirements. Unlike "In Search of Excellent
Requirements," which addresses the entire requirements engineering process,
this course focuses on requirements specification. Students
will not be expert requirements writers after this workshop—that takes practice
and helpful review feedback from others. But students will have a strong sense
of what constitutes high-quality requirements of various types and how to write them. Topics include:
- Software requirements refresher, including requirements definitions,
characteristics of high-quality requirements, and tips for writing good requirements
- Techniques for reviewing requirements
- Four techniques for depicting project scope
- The elements of requirements style, including structures for writing functional requirements
- Many ways to avoid several types of ambiguity in requirements
- Review several less-than-perfect requirements statements from actual
specifications to identify problem. Rewrite some of the requirements to improve them.
- Tutorials and practice sessions to write quality attributes, data definitions, and business rules
- Overview of use cases, including the relationship between use cases and functional requirements
- Practice session to derive functional requirements from a use case
Detailed Description and Outline
Related Publications
(back to top)
Project Management Best Practices (1 day)
Managing software projects is difficult under the best circumstances. You can
reduce the difficulty and improve your chances of success by applying known
industry best practices for project management. Best practices are
based on industry studies of successful and failed projects, and on the instructor's
personal experience. This course presents some 30 such best practices, grouped into five categories:
- Laying the foundation for success
- Planning the project
- Estimating the work
- Tracking your progress
- Learning for the future
Several topics are discussed in depth, including software risk management and
Delphi estimation. The attendee will have an opportunity to try many of these
techniques through short practice sessions. Small group discussions also let
participants share some of their project management-related problems and
identify which of the best practices presented might be useful solutions to those problems.
Detailed Description and Outline
Related Publications
(back to top)
Software Inspections and Peer Reviews (1 day)
Effective peer reviews of work products help software development organizations reduce their cost of producing
software. Inspections of requirements, designs, tests, source
code, and other deliverables are a proven way to find errors.
Based on Karl Wiegers's book Peer Reviews in Software: A Practical Guide,
this course shows how to effectively perform both inspections and less formal peer reviews. The inspection process
is described in detail. Attendees will learn why peer reviews add value at all stages of software development, know the
guidelines for conducting a successful review, and know how to select an
appropriate review strategy for each of their work products. A practice
inspection session will help attendees learn to conduct effective reviews on their own projects.
Detailed Description and Outline
Related Publications
(back to top)
Copyright © 2023 Karl Wiegers. All rights reserved.
|