Gathering Good Requirements for Developers

In this course you'll learn the key skills, techniques, and tools used to capture requirements.
Course info
Rating
(190)
Level
Intermediate
Updated
Sep 5, 2014
Duration
3h 11m
Table of contents
Description
Course info
Rating
(190)
Level
Intermediate
Updated
Sep 5, 2014
Duration
3h 11m
Description

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.

About the author
About the author

Robert Bogue is a thought leader on all things SharePoint and an engaging speaker who speaks at events around the world on SharePoint. Rob has been awarded the Microsoft MVP designation nine times, and earned recognition as a Microsoft Patterns and Practices Champion.

More from the author
Section Introduction Transcripts
Section Introduction Transcripts

Requirements Gathering for Development
Hi, I'm Rob Bogue, and welcome to this course in Requirements Gathering for Development. In this module, we're going to do a quick overview of what the rest of the course will be about. We're going to start by talking about some of the goals, we'll talk about who the audience is, some methodology conversations, a little bit versus one versus many requirements, and then we'll go through a course outline.

The Big Picture
Hi, I'm Rob Bogue, and in this module we'll be talking about The Big Picture. How does software development requirements fit in with the overall software development lifecycle? So our agenda for this module is to look at project lifecycles, how do projects start and where they end. We'll look at software development roles, who's involved in the process, and what role do they have to play in requirements. We'll take a look at a few quick requirements tools. We'll take a conversation about stakeholders. We'll look at an operating environment, what should we do when we're trying to get requirements. And then, we'll finish off this module with the Time-Cost-Quality triangle, and it's an important thing for all software development, but particularly as we try to figure out what we want for requirements.

A Few Good Requirements
Hi, I'm Rob Bogue, and this module is about A Few Good Requirements. It's about how do we get the individual requirements together so that when we try to put them together into a comprehensive list that they all fit and they're all good on their own. So our agenda is we're going to talk about why we do requirements in the first place. We'll talk about what a requirement is, talk about the different types of requirements. We'll do a little exercise around making an omelet. And then we'll talk about what makes a good requirement and what makes a SMART requirement.

Requirement Skills and Techniques
Hi, Rob Bogue again, and this time we're looking at Requirements Skills and Techniques. Our goal here is to help you with some skills and techniques that are necessary for doing requirements gathering, and specifically we're going to look at elicitation, facilitation, evangelism, engagement, people integration, getting people to work together, and a little bit about mental modeling. And our goal here is to be able to give you some of the soft skills that you may or may not have developed over your career that can be useful during requirements gathering.

Requirement Activities
Hi, Rob Bogue again, and in this module we'll be talking about Requirements Activities. Requirements activities are the things that you need to do to get requirements done. So what is it that you're going to do, not on the concepts and some of that, we'll cover a little bit of that in the writing section to help you know how to do it, but it's a lot about how do you do things. Some of that's meetings, some of those being one-on-one and focus groups, we'll talk in depth about how those different one-on-one meetings go and how the focus groups need to have particular people and different roles. We'll talk a little bit about presentations and how sometimes they are useful in the requirements gathering process, a couple of stakeholder issues, and then we'll talk about questionnaires, when to use them, who you're serving, and we'll spend a lot of time in the end about all sorts of things about writing and what should you be writing and what shouldn't you be writing, and what are the tradeoffs that you need to make in your writing.

When Requirements Get Together
Hi, Rob Bogue, and now we're talking about When Requirements Get Together. And in this module, we'll be trying to talk about all the things that happen when you try to start gathering all these requirements and put them together in a single set of documentation so that it becomes a complete representation of the requirements that everybody has. We're going to start with some goals and why are we doing requirements in the first place, a little bit of a review, and talking about whether it's complete enough. We'll then talk about grouping and how do we do that, how do we get the same kind of requirements fit together. We'll talk about some requirement forms so that we're doing a document or specification, what the difference is. We'll talk a little bit about MECE, which is mutually exclusive, collectively exhaustive, a little inclusion by reference, some assumptions and risks, and then we'll finish with traceability and how do you get requirements traced all the way through the software development process.

Getting Exhaustive
Rob Bogue here again, and this time we're looking at Getting Exhaustive. And what we mean by that is the kinds of things that we need to do to make sure that we've gotten all of the major bases covered. Our agenda for this module is to look at the different kinds of components that we should make sure that we have included in our requirements specification. Then we're going to look at some of the visuals that we can add to the requirements package that help to make sense of things, and we'll end with a small conversation about filling gaps and what to do about those places where there's no answer at the moment.

Scope and Requirements Validation
Hi, I'm Rob Bogue still, and this module is about Scope and Requirements Validation. Our agenda for this module is we're going to take this in two pieces. We're going to take our scope piece and then we're going to take our validation piece. So inside of scope we're going to be talking about the vision statement, business objectives, success metrics, and we're progressively getting more and more detailed and more fine-tuned. And we'll also talk about acceptance criteria, known, diagrams. And then we'll stop and we'll talk about validation and how do we know that what we have in the requirements is enough? And in that space we'll be talking about a checklist that you can use, how to use pre and post conditions to test, how you can think about security requirements and make sure you've got all of them captured, and we'll conclude with imprecise words and talk about those words that you probably want to get out of a requirement specification.

Requirements Prioritization
Hi, Rob Bogue again. In this module we'll be talking about Requirements Prioritization, and how you can get requirements prioritized. Our agenda for this module is to look at some techniques and some key questions, some workarounds, because you're going to need them, and do a couple of sanity checks.

Issues and Resolutions
Hi, I'm still Rob Bogue, and now we're onto Issues and Resolutions. And this module is all about the kind of sticky, thorny, messy stuff that happens in requirements. Our agenda is we're going to talk about those requirements issues, we're going to talk about this idea of emotional intelligence, we'll walk a little bit around difficult people, talk about some conflict management, things you can do, we'll talk about whining, and hopefully we won't whine while we're doing it, and we'll end with some pitfalls and how to avoid them.