software requirements boot camp

Requirements Boot Camp

We offer private training, at your location or virtually, and an OnDemand course catalog.

About Requirements Boot Camp

  Duration: 1.5 – 3 day course
  Resources: Workbook

What is the most frequently reported cause of software project failure–regardless of project size or type of software? Requirements challenges.

Discover how leading-edge companies use requirements engineering to support successful software projects. Learn the three purposes of requirements and how to distinguish between requirements fantasies and requirements reality. Practice practical techniques for exploring user needs, capturing requirements, controlling changes, and building highly satisfactory software.

Software Requirements: What and Why

  • Requirements: fantasies and real world
  • What is a requirement?
  • Three purposes of requirements
  • Product and project requirements
  • Levels and types of requirements
  • Characteristics of good individual requirements
  • Characteristics of good sets of requirements
  • The Vision Statement as the top-level requirement
  • Requirements as a risk management activity
  • Knowing when you’re done

The Requirements Process

  • Comprehensive strategies for defining requirements
  • Iterative elicitation, analysis, specification, and validation
  • Breadth-first approaches
  • Depth-first approaches
  • Spiral approaches
  • Tools: chartering workshop, collaborative development, risk management, parallel development

Requirements Elicitation

  • Who has requirements?
  • Eliciting requirements from people
  • Eliciting requirements from other systems
  • Eliciting requirements from the environment
  • Finding the decision maker
  • Incorporating business rules
  • Finding the abnormal and exception cases
  • Dealing with ambiguity
  • Tools: interviews, context-free questioning, brainstorming, JAD workshops, prototyping, task analysis, use cases, competitive benchmarking, document archeology, project charter, vision statement

Who Defines Requirements

  • The requirements engineer
  • Requirements engineering roles
  • Skills needed to develop requirements effectively
  • How the requirements engineer relates to the rest of the project
  • Checklist for requirements leads

Requirements Analysis

  • Classification and prioritization schemes
  • Requirements negotiation
  • Tools: prototypes, use cases, essential systems modeling, data dictionary

Requirements Specification

  • Characteristics of a good requirement specification
  • Models as specification
  • Guidelines for writing requirements
  • Picking the right model for the task at hand
  • Quantifying qualitative attributes
  • Writing effective use cases
  • Organizing the requirements
  • Achieving right-weight documentation
  • Putting it all together: The Software Requirements Specification
  • Tools: usability studies, prototyping, use cases, fit criteria, User Guide as specification, Planguage, context diagrams, information/class diagrams, data flow diagrams, decision tables, state transition diagrams, sequence diagrams, decision tables, data dictionary, project glossary, specification templates

Requirements Validation

  • What is the difference between validation and verification?
  • Validation techniques
  • Formal and informal inspections
  • Checklists
  • Creating test cases
  • Tools: ambiguity metric, prototyping, requirements reviews and checklists, usability studies

Requirements Management

  • Why requirements change
  • Role of a requirements baseline
  • Attributes needed to support well-managed requirements
  • Controlling change using corrective activity management
  • Status tracking
  • Tools: change control policy and change control board, traceability tools, version control

Special Considerations

  • Requirements in outsourced projects
  • Requirements in maintenance projects
  • Requirements in component-based systems

Business analysts, requirements analysts, technical leads, project leads, project managers, program managers, developers, testers, and all others who want to develop better requirements.

“Excellent material and presentation. The formal presentation of the principles and techniques provides me with quite a number of takeaways to go back to the office. We have much to learn as we look to improve our execution both with the Software Division and the rest of the company.”

Christopher Scharver, Mechdyne Corporation

“Multiple techniques to bring back to my team and use as needed. Not just one size fits all.”

Chad Baker, Expedia

“All information given was insightful and helped build upon earlier ideas. The 360 view of requirements and how they can be used by different areas was extremely helpful.”

Toni Lynn Sojda, Cayenta

“I honestly feel the entire class was valuable! Being new to my position, I didn’t have the best grasp on writing/understanding requirements. This has really helped!”

Amanda Phillips, Symetra

“Clarity and thorough understanding of the process of collecting and organizing of requirements. It was great training.”

Baig Mirza, IEHP

“Most valuable was the ability to practice what we learned and make corrections. I’m very happy I had the opportunity to take this course as it far exceeded my expectations.”

Tanveer Vaidya, Shell

“I am very happy with this course. As a new developer, it was very beneficial to learn early on the importance of requirements rather than jumping into the coding.”

Jamal Saboonchi, Turlock Irrigation District

“Got to know many new concepts which we can use to simplify and better the requirements gathering process.”

Vikram Saluja, SAP

“Gets us to do a lot of self-assessment and to think through what changes will work for us (not presumptive).”

Tom Graves, Simplivity

“The samples and templates are superior. Some of the best I have ever seen in over 20 years in training.”

Don Evatt, Cisco

Customize this course

Your team has unique challenges. Learn about the ways we can customize this course to fit your needs.