Requirements form the foundation for all software work that follows. Arriving at a shared vision of the product to be developed is one of the greatest challenges facing the software project team, and customer involvement is one of the most critical factors in software quality.
In the workshop, software engineers, managers, requirements analysts and user representatives (product owners) learn how to gather, document, analyze and manage customer requirements for software / IT applications. The workshop includes user stories (Agile/Scrum), but goes much further.
Students in the workshop apply the skills learned to their current project work. Topics covered include:
- creating an effective customer-developer partnership
- customer involvement through a “product champion” model
- incremental requirements development
- defining three levels of software requirements: business, user and functional
- the application of user stories, use cases for defining user needs and system functions
- prioritizing requirements
- writing software requirements using a standard concise template
- constructing dialog maps to model user interfaces, state diagrams and event tables
- using prototypes to clarify and refine user needs
- using technical reviews and inspections to find requirements errors quickly
- using the ARM tool to find requirements errors
- using a requirements traceability matrix to connect requirements to design elements, code, and tests
- optional: requirements practices in CMMI and Scrum / Agile
The basic concepts of requirements management are described, including practical methods for managing changes to requirements. These techniques reduce project risk by improving the quality and control of software requirements, thereby increasing the likelihood of a successfully completed project.
This workshop will be useful for product owners, software engineers, managers, requirements analysts, user representatives, and anyone else engaged in gathering, documenting, analyzing, or managing customer requirements for software applications and IT solutions.
A blend of lecture, class discussion, group discussions on requirements problems and solutions, and practice sessions on current project work. Practice sessions give attendees some experience in working with use cases, drawing a dialog map, reviewing a requirements specification, writing good requirements, and writing an action plan to improve their group’s requirements practices.
*Licensed from Karl Wiegers, based on his book, Software Requirements (Microsoft Press, Edition 3).