Writing good requirements

On completion of this course, you should be able to:

  • Write good requirements at least 90% of the time
  • Write well-requirements at least than 96% of the time
  • Elicit good requirements from stakeholders
  • Better understand stakeholder needs
  • Convert at least 90% of poorly-written requirements to well-written requirements
  • Understand the importance of stakeholders
  • Identify and manage at least 85% of all pertinent stakeholders
  • Understand why writing good requirements has been so difficult in the past

Can any other course promise you these outcomes?

Access to the modules and lessons

You access the course video lectures and readings via  the course host platform.

Structure

The course uses the Evercourse formatRead this first or listen to the podcast !!!!!

Unless otherwise stated all lecture videos are unlisted and are not be shared outside this class without permission. YouTube videos may be shared without permission.

Module 0

Module 1 Introduction to requirements

Objectives

  1. To provide the background to requirements
  2. To provide definitions of the terminology used in the course
  3. To explain the purposes of requirements
  4. To explain some of the problems caused by poorly-written requirements
  5. To explain the difference between requirements, well-written requirements and good requirements
  6. To explain what constitutes a well-written requirement
  7. To explain generic and system specific requirements and the benefits of the distinction
  8. To show some examples of bad requirements and how to fix them
  9. To explain why they are bad
  10. To explain what needs to be done to convert them to well-written requirements
  11. To provide the opportunity to obtain 5 levels of knowledge in the updated Blooms taxonomy

Module 2 Stakeholders and their importance

Objectives

  1. To explain where and how to locate potential stakeholders for the project
  2. To explain the extended process to realize the solution system as a generic model for locating stakeholders
  3. To explain the difference between
    • Customers and other stakeholders
    • Information and contractual communications between stakeholders and how to manage them
    • Stakeholder wants and needs
    • Direct and indirect stakeholders
    • Generic and specific stakeholders
  4. To explain the degree of influence of each stakeholder on the requirements
  5. To provide the opportunity to obtain 5 levels of knowledge in the updated Blooms taxonomy

Module 3 Communicating with the stakeholders

Objectives

  1. To identify some barriers to communications
  2. To explain eight tools to overcome the barriers
  3. To explain how to extract “wants” from stakeholders
  4. To explain how to discourage stakeholders from asking for something they don’t need
  5. To explain what to do before meeting the stakeholders
  6. To explain what to do when meeting the stakeholders
  7. To explain what to do after meeting with the stakeholder
  8. To provide the opportunity to exercise the 5 levels of knowledge in the updated Blooms taxonomy

Module 4 Converting stakeholder wants to needs

Objectives

  1. To explain how to convert stakeholder functional and performance “wants” to “needs”
  2. To explain the difference between functions and misuse functions
  3. To introduce risk management
  4. To explain need for prioritization of needs and how to prioritize them
  5. To explain three ways to maximize the completeness of the needs
  6. To explain how to influence the stakeholders to want the system they need
  7. To explain how to determine if the need is for Commercial-off-the-Shelf (COTS) equipment
  8. To provide the opportunity to exercise the 5 levels of knowledge in the updated Blooms taxonomy

Module 5 Documenting stakeholders’ needs

Objectives

  1. To explain how to document and store the stakeholder needs
  2. To provide reasons for documenting needs
  3. To explain some things you should be aware of about models and modelling
  4. To discuss some things you should be aware of about modeling tools in general
  5. To explain some of the different types of models
  6. To explain uses, advantages and limitations of models
  7. To explain how to create functional models
  8. To explain how to communicate functional and operational models to stakeholders
  9. To practice creating parts of a model
  10. To practice writing requirements traceable to scenarios
  11. To provide the opportunity to exercise the 5 levels of knowledge in the updated Blooms taxonomy

Module 6 Converting stakeholder needs to requirements

Objectives

  1. To explain what to do before writing the requirements
  2. To explain what to do while writing the requirements
  3. To explain what to do immediately after writing the requirements
  4. To explain how to deal with some types of poorly-written requirements
  5. To discuss attributes of requirements for flexible systems
  6. To provide the opportunity to use a tool to convert some poorly-written requirements into well-written requirements
  7. To provide the opportunity to exercise the 5 levels of knowledge in the updated Blooms taxonomy

Module 7 Converting requirements to well-written requirements 

Objectives

  1. To explain the requirements for well-written requirement
  2. To explain the structure of a well-written requirement
  3. To explain the use of spelling, grammar and vocabulary
  4. To explain how to test the text statement for conformance to the specification for a well-written requirement
  5. To practice what has been taught
  6. To provide the opportunity to exercise the 5 levels of knowledge in the updated Blooms taxonomy

Module 8 Converting well-written requirements to good requirements

Objectives

  1. To explain the additional attributes of good requirements
  2. To explain the requirements for good specifications
  3. To explain the systems approach to writing good requirements
  4. To explain two reasons for requirements changes and how to prevent one of them
  5. To practice what has been taught
  6. To provide the opportunity to exercise the 5 levels of knowledge in the updated Blooms taxonomy

Module 9 The use of requirements in the rest of the system development process

Objectives

  1. To expose participants to the consequences of poorly-written requirements in the SLC, by explaining the use of requirements in the
    • Needs identification and System Requirements States
    • System Design State
    • Subsystem Construction State
    • Subsystem Test State
    • System Integration State
    • System Test State
    • System Operations, Maintenance and Upgrade States
  2. To explain the requirements and change management processes once the initial set of system requirements have been accepted
  3. To discuss the place of requirements in the Agile paradigm (software)
  4. To practice what has been taught
  5. To provide the opportunity to exercise the 5 levels of knowledge in the updated Blooms taxonomy

Module 10 Summary and closeout 

Objectives

  1. To review the course Modules and the learning
  2. To present an overall summary of the course construction
  3. To request overall feedback via the Course Evaluate Form (1002)
  4. To provide the opportunity to exercise the 5 levels of knowledge in the updated Blooms taxonomy

The content of the course is often changed to clarify the material based on student feedback as well as changes in the state of systems engineering. Accordingly, what is actually taught may be different to what is posted in this page. Lecture handout serial numbers are then updated in accordance with with the configuration control standard.