We may earn an affiliate commission when you visit our partners.
Robert Bogue

In this course you'll learn the key skills, techniques, and tools used to capture requirements.

Read more

In this course you'll learn the key skills, techniques, and tools used to capture requirements.

Getting good requirements from the business users is a difficult task, and one for which most developers have never been adequately trained. In this course, you'll learn the key skills, techniques, and tools used to capture requirements. You'll learn to validate that the requirements are correct, how to trace them through design and testing, and how to ensure that the users understand what they're asking for. Along the way you'll see some role playing situations where requirements are gathered out of difficult business users and how to handle any objections.

What's inside

Syllabus

Requirements Gathering for Development
The Big Picture
A Few Good Requirements
Requirement Skills and Techniques
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Relevant to web development
Builds a foundation in the core skills that professionals use for this task
Taught by a recognized instructor in this field

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical requirements for developers

According to learners, this course is a highly practical and foundational guide for developers seeking to improve their skills in gathering good requirements. Students frequently highlight the actionable strategies and techniques, such as active listening and storyboarding, which they found immediately applicable to their work. The course is praised for its clear and concise instructor delivery, making complex topics accessible. While it fills a critical gap in traditional developer training, some experienced professionals found the content to be introductory, wishing for more advanced topics or in-depth case studies. The role-playing exercises are noted as insightful, though a few found them somewhat staged.
Provides practical scenarios, though some found them slightly artificial.
"The role-playing exercises were particularly insightful, showing how to handle difficult stakeholders."
"Some of the 'role playing' felt a bit staged, but the underlying principles were sound."
"The 'role-playing' was a bit tedious, but it illustrated the concepts clearly."
The instructor's presentation is clear, concise, and easy to follow.
"The instructor's delivery was clear and concise, making complex topics easy to grasp."
"The course structure is logical, and the 'lectures' are easy to follow."
"While the instructor was clear, the 'content' didn't offer much new insight."
Serves as a strong introduction to requirements gathering, particularly for junior developers.
"Good foundational course. It covers the basics of requirements gathering well, especially for someone new to the software development lifecycle from a developer's perspective."
"This course is essential for developers! It demystifies the 'requirements gathering' process and gives you actionable strategies."
"I found this course somewhat basic... Maybe it's better for junior developers or those completely new to the process."
Provides strategies and techniques immediately applicable to development work.
"This course was a game-changer for me as a developer. I always struggled with understanding what users truly needed, but the techniques... were incredibly practical."
"I immediately started applying the 'validation techniques' at work. The course structure is logical..."
"I learned how to use practical tools and strategies that I could apply immediately to my work."
Experienced learners desired more advanced content or complex case studies.
"I wish there were more advanced topics or case studies for experienced developers."
"While the 'techniques' were introduced, I felt some parts could have gone deeper or provided more real-world examples."
"I was hoping for more advanced 'elicitation techniques' or strategies for large, complex projects."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Gathering Good Requirements for Developers with these activities:
Review Fundamentals of Requirements Engineering
Refreshes your foundational knowledge of key principles and concepts in Requirements Engineering to strengthen your ability to grasp advanced topics covered in the course.
Show steps
  • Read through Chapters 1-3 to understand the core concepts of requirements engineering.
  • Summarize the key principles and techniques presented in the book.
Explore Online Resources on Requirements Engineering
Exposes you to additional resources and perspectives on requirements engineering to broaden your knowledge.
Browse courses on Requirements Engineering
Show steps
  • Search for online tutorials, articles, and videos related to requirements engineering.
  • Review the materials to gain insights into different approaches and best practices.
Practice Identifying and Analyzing Requirements
Provides hands-on practice in identifying and analyzing requirements to enhance your understanding of real-world scenarios.
Browse courses on Requirements Gathering
Show steps
  • Work through a set of sample requirements documents.
  • Identify the different types of requirements.
  • Analyze the requirements for completeness, consistency, and feasibility.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Participate in Online Discussion Forums
Engages you in discussions with peers to exchange ideas, ask questions, and share experiences related to requirements engineering.
Show steps
  • Join the course discussion forums.
  • Actively participate in discussions by posting thoughtful questions and responses.
Seek Guidance from Experienced Requirements Engineers
Connects you with experts in the field who can provide valuable insights and support your learning journey.
Show steps
  • Identify potential mentors through online platforms, professional networks, or personal connections.
  • Reach out to mentors and request their guidance.
Develop a Requirements Traceability Matrix
Strengthens your understanding of how requirements are traced and managed throughout the development process.
Browse courses on Requirements Traceability
Show steps
  • Create a table or spreadsheet to represent the traceability matrix.
  • Map requirements to design specifications, test cases, and other artifacts.
  • Analyze the traceability matrix to identify any gaps or inconsistencies.
Attend Industry Workshops on Requirements Engineering
Provides exposure to current industry trends and best practices, enhancing your practical knowledge.
Browse courses on Industry Best Practices
Show steps
  • Search for upcoming workshops on requirements engineering.
  • Register for and attend the workshop.
  • Engage with industry experts and learn from their experiences.

Career center

Learners who complete Gathering Good Requirements for Developers will develop knowledge and skills that may be useful to these careers:
Business Analyst
A Business Analyst identifies business needs and determines solutions to business problems. They work closely with stakeholders to understand their requirements and translate them into technical specifications. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in requirements gathering and analysis, which is a critical skill for Business Analysts.
Systems Analyst
A Systems Analyst works with business users to understand their needs and develop software solutions to meet those needs. They also work with developers to implement and test these solutions. The skills learned in this course, such as gathering, validating, and tracing requirements, will be essential for success in this role. This course will help you build a foundation in requirements engineering, which is a critical skill for Systems Analysts.
Software Engineer
A Software Engineer designs, develops, and tests software applications. They work closely with business users to understand their requirements and translate them into technical specifications. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in requirements gathering and analysis, which is a critical skill for Software Engineers.
Product Manager
A Product Manager is responsible for the overall vision and direction of a software product. They work with stakeholders to gather requirements, define the product roadmap, and prioritize features. The skills learned in this course, such as gathering, validating, and prioritizing requirements, will be essential for success in this role. This course will help you build a foundation in requirements management, which is a critical skill for Product Managers.
Project Manager
A Project Manager plans, executes, and controls projects to achieve specific goals. They work with stakeholders to gather requirements, define the project scope, and manage the project budget. The skills learned in this course, such as gathering, validating, and tracing requirements, will be essential for success in this role. This course will help you build a foundation in project management, which is a critical skill for Project Managers.
Technical Writer
A Technical Writer creates documentation for software products. They work with developers, engineers, and other stakeholders to gather information and write clear and concise documentation. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in technical writing, which is a critical skill for Technical Writers.
Business Process Analyst
A Business Process Analyst analyzes and improves business processes. They work with stakeholders to gather requirements, identify areas for improvement, and develop solutions. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in business process analysis, which is a critical skill for Business Process Analysts.
IT Consultant
An IT Consultant helps businesses with their IT needs. They work with clients to gather requirements, assess risks, and develop solutions. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in IT consulting, which is a critical skill for IT Consultants.
Quality Assurance Analyst
A Quality Assurance Analyst tests software products to ensure that they meet requirements. They work with developers and testers to identify and fix defects. The skills learned in this course, such as validating and tracing requirements, will be essential for success in this role. This course will help you build a foundation in quality assurance, which is a critical skill for Quality Assurance Analysts.
User Experience Designer
A User Experience Designer designs and evaluates user interfaces. They work with stakeholders to gather requirements and create user-friendly experiences. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in user experience design, which is a critical skill for User Experience Designers.
Data Analyst
A Data Analyst analyzes data to identify trends and patterns. They work with stakeholders to gather requirements and develop data-driven insights. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in data analysis, which is a critical skill for Data Analysts.
Market Researcher
A Market Researcher conducts research to gather information about markets and customers. They work with stakeholders to gather requirements and develop marketing strategies. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in market research, which is a critical skill for Market Researchers.
Sales Engineer
A Sales Engineer provides technical support to customers. They work with customers to gather requirements and develop solutions. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in sales engineering, which is a critical skill for Sales Engineers.
Technical Support Specialist
A Technical Support Specialist provides technical support to customers. They work with customers to gather requirements and resolve issues. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in technical support, which is a critical skill for Technical Support Specialists.
Customer Service Representative
A Customer Service Representative provides customer service to customers. They work with customers to gather requirements and resolve issues. The skills learned in this course, such as gathering and validating requirements, will be essential for success in this role. This course will help you build a foundation in customer service, which is a critical skill for Customer Service Representatives.

Reading list

We've selected 19 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Gathering Good Requirements for Developers.
Provides a comprehensive overview of the requirements engineering process, from elicitation and analysis to validation and management. It good reference for anyone involved in requirements engineering, and it is especially useful for those who are new to the field.
Provides a practical guide to writing effective use cases, which are essential for gathering and documenting requirements. It covers topics such as identifying stakeholders, defining scope, and writing clear and concise use cases.
Provides a practical guide to managing software requirements using a use case approach. It valuable resource for anyone involved in requirements engineering, and it is especially useful for those who are working on large or complex projects.
Introduces the user story mapping technique, which collaborative and visual way to gather and organize requirements. It helps to ensure that everyone on the team has a shared understanding of the product's goals and priorities.
Provides a comprehensive overview of agile requirements engineering practices. It covers topics such as user story writing, acceptance criteria, and traceability. It also includes case studies and examples of how agile requirements engineering can be implemented in different organizations.
Provides a comprehensive overview of software testing. It covers topics such as test planning, test design, and test execution. It also includes case studies and examples of how software testing can be used to improve the quality of software products.
Classic reference on software engineering. It covers all aspects of the software engineering process, from planning to deployment. It valuable resource for anyone who wants to learn more about the theory and practice of software engineering.
Provides a comprehensive overview of the software requirements process, from elicitation and analysis to validation and management. It valuable resource for anyone involved in software requirements, and it is especially useful for those who are new to the field.
Provides a comprehensive overview of the requirements management process. It valuable resource for anyone involved in requirements management, and it is especially useful for those who are new to the field.
Classic on software engineering. It contains essays on a variety of topics, including software development, project management, and software testing. It valuable resource for anyone who wants to learn more about the challenges and rewards of software engineering.
Provides a practical guide to writing clean code. It covers topics such as code organization, naming conventions, and error handling. It valuable resource for anyone who wants to improve the quality of their code.
Classic on design patterns. It describes a set of reusable design patterns that can be used to solve common software design problems. It valuable resource for anyone who wants to learn more about software design.
Unique and engaging introduction to design patterns. It uses a visual and interactive approach to help readers understand the concepts and benefits of design patterns.
Provides a comprehensive guide to agile requirements engineering. It valuable resource for anyone involved in requirements engineering, and it is especially useful for those who are working on agile projects.
Provides a practical guide to behavior-driven development (BDD). BDD technique that uses examples to define and test software requirements. It valuable resource for anyone who wants to learn more about BDD.
Provides a comprehensive overview of agile development. It valuable resource for anyone involved in software development, and it is especially useful for those who are working on agile projects.
Provides a practical guide to acceptance test-driven development (ATDD) with Cucumber. ATDD technique that uses acceptance tests to drive the development process. It valuable resource for anyone who wants to learn more about ATDD.
Provides a comprehensive guide to agile requirements engineering. It valuable resource for anyone involved in requirements engineering, and it is especially useful for those who are working on agile projects.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser