This course covers practical techniques to elicit and express software requirements from client interactions.
Syllabus
Module 1: Introduction to Requirements
Welcome to the first module! In this module, you will become familiar with software requirements and some issues surrounding them. You will learn what a software requirement is, including the different types of requirements. Then, you will learn how to deal with changing requirements and control project scope, as well as how requirements affect design. These lessons will give you the knowledge you need to move on to eliciting and creating good quality requirements in the next modules.
Module 2: User Interaction
A major duty of a software product manager is eliciting and expressing requirements from your client. This module will walk you through the basics of client interactions and requirements elicitation and expression. You will learn how to create the best product for your end users, how to conduct productive client meetings, and various ways of expressing requirements. These techniques will provide you with the tools you will need to confidently interact with your client as well as satisfy them with the “right product”.
Module 3: Writing Requirements
Explore the many ways in which software requirements can be represented. In this module, you will learn about the most popular means of expressing requirements in the industry today: the user story. You will learn how acceptance tests help to verify the stories which they accompany, and how to create a robust product backlog. At the end of the module, you will learn how story maps are used to organize user stories, so that you’re always putting your effort into the tasks which makes the most impact.
Module 4: Quality Requirements
To this point, you have learned how to effectively elicit, express, and prioritize requirements. It’s now time to ensure clarity. This last module will explore the activity of analyzing requirements in greater detail. Analyzing creates clear, actionable, requirements which result in high quality software with fewer errors.