This two-day course will give you hands-on experience with the latest proven techniques for gathering requirements. Lively lectures combined with insightful demonstrations and realistic practice exercises will provide you with the competence and confidence to improve project outcomes through better requirements elicitation. You’ll gain a thorough understanding of the challenges faced in defining correct requirements, practical approaches for eliciting and documenting requirements, and strategies for managing requirements throughout the project life cycle. If you participate in defining project scope, capturing requirements, or managing project scope, you can’t afford to miss this course!
- NOTE: Live Virtual Classroom course length is 3 days
- Improve tools and techniques for gathering and developing more precise requirements
- Increase customers’ satisfaction by determining and understanding their true needs
- Prevent errors in specifications by defining project scope up front
- Identify the key players and learn to communicate effectively with them
- Learn how to collect and use metrics so you can plan better
- Lower development/maintenance costs by designing cost-effective processes
- Understand how to plan and manage the software development life cycle more effectively
- Develop templates and checklists that work
- Save money by reducing and managing ever-present scope creep
- Improve business analysis techniques to reduce project cost
- Write and refine requirements to reduce ambiguity
Who Can Benefit
- Business Customer or Partner who wants to work more effectively with IT colleagues to identify project requirements for solving business problems
- Business Analyst who needs to define or gather users' business requirements
- Business Systems Analyst who wants to understand user's business requirements, translate them into clear statements of functional and system requirements and add value to IT projects
- Systems Analyst who must develop correct technical specifications from functional and system requirements
- Designer or Developer who desires to produce a high-quality system from the functional and systems requirements
- Project Manager or Team Leader who must ensure that IT project team members correctly understand customer needs and deliver high quality solutions within project constraints
In-Class Group Exercises:
In-class exercises help you identify and examine firsthand problems that you may be experiencing. Through group effort, you and your peers will discuss ways your department or company should be handling problems up front and how you can improve those early, critical stages. Specifically, you will:
- Learn to elicit requirements from a realistic business case project
- Use the analysis method to discover important aspects of the project scope
- Develop business model components such as a context diagram, activity diagram and use case model
- Work as a team to analyze business artifacts and documents to discover the functional requirements needed
- Learn to identify and extract important requirements from a process model
- Evaluate preliminary requirements and identify those that don’t meet defined quality characteristics
- Review work already completed and see how to extract important non-functional requirements
I. The Business Case for Requirements Engineering
Projects have high failure rates, and evidence points to problems with defining requirements as one primary cause. This section presents an overview of the challenges inherent in projects in general, and specific problems typically encountered with project requirements.
- The goal of a project
- Facts and figures about project success and failure
- Types of requirements errors and their frequency
- The high cost of requirements errors
II. Foundations of Requirements Development
Developing requirements is key to project success. In this section, we’ll cover some basic definitions, review a requirements development framework and process, and introduce an example system we’ll use for our practice sessions.
- The Business Analysis Body of Knowledge
- Definitions of terms
- Types of requirements
- Characteristics of well-written requirements
- The requirements development roadmap
- Requirements and the development life cycle
- Enterprise analysis
- Practice Session: Gain an in-depth look at a hypothetical but realistic business and one of its key systems that you’ll be eliciting and managing requirements for during the class.
III. Project Initiation
Projects arise in part to solve business problems, and understanding the underlying problem or problems is therefore key to being able to identify the correct requirements. During this section, you will refresh your knowledge of and practice defining and documenting project scope and key business requirements.
- Defining goals and objectives
- Identifying stakeholders and user classes
- Identifying constraints and benefits
- Specifying exclusions
- Modeling the system scope
- Documenting requirements in the Initiate phase
- Practice Session: Guided by your instructor, you will work with a team to define the goals and objectives in an example project. You’ll have a chance to practice identifying stakeholders and constraints and discovering important aspects of the project scope. You’ll participate in documenting the project scope using a variety of business models.
IV. Eliciting Functional and Non-functional Requirements
As we come to understand the business problem at the heart of a project, we need to learn to capture our business customers’ functional and non-functional requirements. This section explores several powerful and effective analysis techniques for requirements elicitation and development.
- Problems with requirements elicitation
- Techniques for eliciting customer requirements
- Analyzing and reviewing documents and artifacts
- Modeling processes, analyzing gaps and generating questions
- Interviewing the stakeholders
- Identifying data requirements
- Establishing requirements traceability
- Capturing the requirements
- Practice Session: In your team, you will analyze business artifacts and documents to discover the customers’ functional requirements for the solution. You’ll practice identifying what functionality customers want to keep, remove, add and/or change in moving from their current system to the solution. You’ll practice generating questions for key stakeholders and interviewing those stakeholders. Finally, you’ll learn to use a variety of tools to discover and document stakeholders’ data requirements.
V. Use Cases: A First Look
A”use case” is a sequence of events performed by an actor (person, automated system, or both) in a business environment to get their job done. Use cases carry significant requirements for a system from the perspective of a business user. Use cases are a critical tool in the analysis process, helping us understand what the system needs to do. Later in the development life cycle, use cases aid in design and implementation, testing, and user documentation for the new system. This section introduces the concept of use cases and gives you an opportunity to explore this analysis technique.
- The benefits of use cases
- Use case basics
- Finding use cases
- Building a use case model
- Deriving requirements from a use case
- Tracing requirements from use cases
- Practice Session: Your team will create a use case model for one process of our example system. You’ll learn how to identify and extract important functional requirements from the use case, how to elicit additional requirements, and how to maintain traceability among the requirements. You’ll discover how the use case becomes the basis for future development tasks.
VI. Reviewing and Refining Requirements
Well-defined requirements are critical to producing a system that meets the needs of the project stakeholders. Finding the requirements is only the first challenge. Once discovered, requirements must be reviewed, analyzed, validated and possibly rewritten. All requirements must then be confirmed with project stakeholders before the final specification is published.
- Writing requirements
- Reducing ambiguity
- Validating requirements through reviews and inspections
- Analyzing requirements for validity, consistency and effectiveness
- Refining requirements
- Practice Session: Your team will evaluate the requirements that have been found and written for the example project to identify any that don’t meet the quality characteristics we’ve defined. We’ll practice rewriting any unclear or ambiguous requirements.
VII. Creating a Requirements Specification
“The job’s not finished ‘til the paperwork’s done.” The final deliverable for many projects is a Requirements Specification of some kind. Writing a clear, concise and informative specification is a critical step in providing the implementation team with the information they need to design and implement a solution that is right for the stakeholders of the project. This section focuses on the creation and communication of the final requirements specification.
- Organizing and classifying requirements
- Documenting requirements: the Software Requirements Specification (SRS)
- Documenting traceability
- Practice Session: Your team will consider a model template for documenting the final requirements specification for our case project. You will have an opportunity to write sections of the specification in the course.