We may earn an affiliate commission when you visit our partners.
Course image
Dr Mike Ryan

Welcome to "Requirements Writing". As the title indicates, over the next four weeks, we will be looking at the important task of writing of text-based requirement statements. The course takes you step by step through the rules for writing requirements statements in accordance with the "Guide for Writing Requirements" published by the International Council on Systems Engineering (INCOSE).

Read more

Welcome to "Requirements Writing". As the title indicates, over the next four weeks, we will be looking at the important task of writing of text-based requirement statements. The course takes you step by step through the rules for writing requirements statements in accordance with the "Guide for Writing Requirements" published by the International Council on Systems Engineering (INCOSE).

This course welcomes anyone who wants to find out how to write requirements. It is relevant to anyone in project management, engineering, QA, logistic support, operations, management, maintenance and other work areas. No specific background is required, and we welcome learners with all levels of interest and experience.

Enroll now

What's inside

Syllabus

Welcome & Introduction to the Course
Welcome to the Requirements Writing MOOC. The course is run over five weeks. During the first four weeks you will complete four modules (one each week) that progressively move through the rules for writing requirements. Each week, you will have the opportunity to undertake a module quiz as many times as you wish to ensure that you have a grasp on the module material. The quizzes are drawn from a large set of questions, so each time you do the quiz, you will see new questions to test your knowledge. In Week 5, there will not be any presentations but you will have time to review the four modules and practice the module quizzes again so that you are prepared for the course exam.
Read more
Requirements Writing Continued
As we saw in the last module, the writing of good requirements is essentially about removing the ambiguity from the resulting statement. We first identified a suitable structure for the statement and we then began to look at the rules that we should keep in mind when writing requirements. In this module we continue to move through the rules, particularly as they relate to the use of vague and superfluous words.
In the last module we addressed more of the rules we need to follow in order to develop good requirement statements. In particular we looked at the rules that relate to the use of vague and superfluous words. In this module we address more of those rules, starting with some more rules about other words we should avoid when writing requirements. In particular, we look at avoiding conjunctions unless we introduce a formal convention for logical conditions. We also discuss why we must avoid unbounded statements and escape clauses.
In Module 4, we complete our look at the rules for writing requirements. In particular, we focus on when we should and should not be precise; how to use units, ranges and tolerances; and some final things to avoid (such as cross-references, including pronouns, and the use of “not” in forming negative requirements).
Final Exam and Information about Further Study
This final module allows you some time to revise the first four modules and the quizzes in order to prepare for the completion of the course exam. The exam questions are drawn from the same large pool of questions as the quizzes—so you should not be surprised by the test questions since you will have seen something very similar if you have prepared by completing the quizzes a sufficient number of times. We also provide some addition information regarding the Master of Systems Engineering program at UNSW Canberra.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a step-by-step breakdown of rules for writing requirements in accordance with INCOSE standards
Introduces a formal convention for logical conditions, ensuring clarity and reducing ambiguity
Covers essential topics such as avoiding unbounded statements, cross-references, and the use of "not" for negative requirements, promoting best practices in requirement writing
Emphasizes the use of units, ranges, and tolerances, ensuring accuracy and precision in requirement statements
Addresses the importance of removing ambiguity, establishing a clear and concise foundation for understanding requirements
Suitable for individuals with various backgrounds and levels of experience in requirement writing, making it accessible to a wider audience

Save this course

Save Requirements Writing to your list so you can find it easily later:
Save

Reviews summary

Requirements writing guide

learners say this course features clear, easy to follow, and well-structured presentations that improve comprehension via repeatable quizzes. Students recommend this course as a great way to structure requirements and avoid ambiguity. Learners with no experience or beginners will find this course beneficial as it provides a basic but comprehensive foundation of core concepts.
Easy to understand.
"very easy to comprehend. "
"The basic concepts are shown in a clear manner, easy to understand and "digest"."
"The course has been delivered very nicely. Very easy to comprehend."
Covers core concepts.
"This course is good content-wise, but, and that is a big mistake, it is not self-paced!"
"Really appreciated this course. I've been writing software requirements for some time (5 years) but this was helpful to give structure and avoid ambiguity. Recommended for beginners as well as people with more experience."
"Make sure you take notes, a lot of this material is so handy to refer to and explained a lot easier than in the INCOSE Guide."
Quizzes are helpful for understanding core concepts.
"Great explanations and progression through the course materials. Challenging, which kept me engaged."
"The repeatable quizzes improves considerably the comprehension and the experience"
"The overall course is really good, but the problems with requirements statement are kind of too subjective."
Recommended for beginners.
"This course provides a great introduction to requirements writing. I would recommend this to anyone who is new to writing requirements and needs to quickly understand how to write good requirements. "
"good starter for those who are involved in System Requirement writing. Provides basic structure and most common errors in requirement writing. "

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 Requirements Writing with these activities:
Organize Your Course Materials
Getting your course materials organized will help you stay on top of the course and find what you need quickly and easily.
Show steps
  • Create a system for organizing your notes, assignments, and other course materials
  • File your materials in a way that makes sense to you
  • Keep your materials organized throughout the duration of the course
Review the INCOSE Guide for Writing Requirements
Review the INCOSE Guide for Writing Requirements to refresh your knowledge regarding requirements writing best practices, which will be essential for this course.
Show steps
  • Locate a copy of the INCOSE Guide for Writing Requirements.
  • Read through the guide, paying particular attention to the sections on requirements structure, clarity, and completeness.
  • Take notes on any key concepts or principles that you find particularly helpful.
Read "INCOSE Guide for Writing Requirements"
Reading the INCOSE Guide for Writing Requirements will provide you with a comprehensive understanding of the best practices in requirements writing.
Show steps
  • Purchase a copy of the INCOSE Guide for Writing Requirements
  • Read the guide thoroughly, paying attention to the principles and guidelines for writing clear and unambiguous requirements
  • Apply what you've learned to your own requirements writing projects
11 other activities
Expand to see all activities and additional details
Show all 14 activities
Join a Study Group on Requirements Writing
Joining a study group will allow you to collaborate with other students and learn from their perspectives.
Show steps
  • Find a study group that meets your needs
  • Attend study group meetings regularly
  • Participate in discussions and share your own knowledge
  • Work together on practice problems and assignments
Participate in online discussion forums or study groups
Engaging in discussions with peers will provide you with diverse perspectives, challenge your understanding, and promote deeper comprehension of requirements writing concepts.
Show steps
  • Identify online forums, study groups, or communities dedicated to requirements writing or system engineering.
  • Actively participate in discussions, asking questions, sharing insights, and providing feedback to others.
  • Collaborate on projects or case studies to apply your learning in a group setting.
Watch Tutorial Videos on Requirements Engineering
Watching tutorial videos will enhance your understanding of the concepts covered in the course.
Browse courses on Requirements Engineering
Show steps
  • Search for tutorial videos on requirements engineering
  • Watch the videos and take notes on key concepts
  • Apply what you've learned to your own requirements writing projects
Follow online tutorials on requirements writing
Following online tutorials on requirements writing will provide you with practical guidance and examples, solidifying your understanding of the concepts covered in this course.
Show steps
  • Search for reputable online resources or platforms that offer tutorials on requirements writing.
  • Select tutorials that cover the topics and concepts relevant to your needs and interests.
  • Follow the tutorials carefully, taking notes and practicing the techniques demonstrated.
  • Complete any exercises or assignments associated with the tutorials to reinforce your learning.
Complete Module Quizzes
Filling out module quizzes will help you quickly improve your grasp on the rules for writing requirements.
Show steps
  • Ensure you have taken detailed notes on each module
  • Open the module quiz
  • Answer the questions to the best of your ability
  • Review your answers to identify areas where you are uncertain
Practice writing requirements statements
Regularly practicing writing requirements statements will enhance your ability to apply the principles and techniques learned in this course, leading to improved quality of your requirements documentation.
Show steps
  • Gather real-world or hypothetical scenarios that require requirements definition.
  • Identify the stakeholders and their needs for the system.
  • Draft requirements statements based on the identified needs, applying the principles of clarity, completeness, and verifiability.
  • Review and refine your requirements statements, seeking feedback from peers or experts.
Create a Requirements Document
Writing a requirements document will help you apply the rules you've learned and gain practical experience in writing clear and concise requirements.
Show steps
  • Identify the scope and purpose of your requirements document
  • Gather information from stakeholders and subject matter experts
  • Organize and structure the requirements
  • Write the requirements using clear and concise language
  • Review and iterate on the requirements document until it is complete and accurate
Create a Requirements Traceability Matrix
Creating a requirements traceability matrix will help you track the relationships between requirements and other project artifacts.
Browse courses on Requirements Traceability
Show steps
  • Gather all requirements from all sources
  • Create a matrix with columns for each requirement and rows for each project artifact
  • Trace each requirement to the corresponding project artifacts
  • Use the matrix to track the status of each requirement and to identify any gaps or inconsistencies
Develop a requirements specification document
Creating a comprehensive requirements specification document will allow you to apply all the knowledge and skills gained in this course, resulting in a valuable deliverable that demonstrates your proficiency in requirements writing.
Show steps
  • Define the scope and purpose of the requirements specification.
  • Gather and analyze stakeholder requirements.
  • Write clear, concise, and verifiable requirements statements.
  • Organize and structure the requirements specification document.
  • Review and validate the requirements specification with stakeholders.
Contribute to an Open Source Requirements Management Tool
Contributing to an open source requirements management tool will give you hands-on experience with real-world requirements engineering projects.
Browse courses on Requirements Management
Show steps
  • Find an open source requirements management tool that interests you
  • Identify ways that you can contribute to the project
  • Submit your contributions to the project
  • Review code and provide feedback to other contributors
Contribute to open-source software or documentation related to requirements engineering
Contributing to open-source projects related to requirements engineering will not only enhance your technical skills but also provide valuable hands-on experience in collaborative software development and documentation.
Browse courses on Requirements Engineering
Show steps
  • Identify open-source projects or initiatives focused on requirements engineering.
  • Review the project documentation and identify areas where you can contribute.
  • Make contributions to code, documentation, or testing, adhering to the project's guidelines.
  • Collaborate with other contributors and seek feedback on your work.

Career center

Learners who complete Requirements Writing will develop knowledge and skills that may be useful to these careers:
Requirements Engineer
Requirements Engineers are responsible for gathering, analyzing, and documenting requirements. They work with stakeholders to identify the needs of the system, and then develop requirements that meet those needs. This course can help you become a more effective Requirements Engineer by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your requirements documents, and ensure that the final system meets the needs of the stakeholders.
Technical Writer
Technical Writers are responsible for creating documentation for software systems. They work with stakeholders to gather information, develop documentation plans, and write and edit documentation. This course can help you become a more effective Technical Writer by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your documentation, and ensure that your documentation is easy to understand and use.
Systems Engineer
Systems Engineers are responsible for designing, developing, and integrating complex systems. They work with stakeholders to define system requirements, develop system architectures, and test and verify systems. This course can help you become a more effective Systems Engineer by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your system requirements, and ensure that the final system meets the needs of the stakeholders.
User Experience Designer
User Experience Designers are responsible for designing the user interface for software systems. They work with stakeholders to understand the needs of the users, and then design interfaces that are easy to use and understand. This course can help you become a more effective User Experience Designer by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your design requirements, and ensure that the final user interface is easy to use and understand.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for testing and verifying software systems. They work with stakeholders to define test plans, execute tests, and report on test results. This course can help you become a more effective Quality Assurance Analyst by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your test plans, and ensure that your tests are effective in identifying defects.
Test Manager
Test Managers are responsible for planning, executing, and closing testing projects. They work with stakeholders to define test plans, develop test cases, and track test progress. This course can help you become a more effective Test Manager by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your test plans, and ensure that your tests are effective in identifying defects.
Business Analyst
Business Analysts define and document business requirements, and ensure that those requirements are met by the final solution. This course can help you become a more effective Business Analyst by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your requirements, and ensure that the final solution meets the needs of the business.
Software Engineer
Software Engineers are responsible for designing, developing, and testing software systems. They work with stakeholders to define software requirements, develop software architectures, and implement and test software code. This course can help you become a more effective Software Engineer by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your software requirements, and ensure that the final software system meets the needs of the stakeholders.
Product Manager
Product Managers are responsible for the planning, development, and launch of new products. They work with engineers, designers, and marketers to create products that meet the needs of the market. This course can help you become a more effective Product Manager by teaching you the rules for writing clear and concise requirements statements. This will help you communicate your product vision to your team and ensure that the final product meets the needs of your customers.
Project Manager
Project Managers are responsible for planning, executing, and closing projects. They work with stakeholders to define project requirements, develop project plans, and track project progress. This course can help you become a more effective Project Manager by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your project plans, and ensure that the project is completed on time and within budget.
Systems Analyst
Systems Analysts are responsible for gathering, analyzing, and documenting the requirements for software systems. They work with stakeholders to understand the needs of the system, and then develop a set of requirements that meet those needs. This course can help you become a more effective Systems Analyst by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your requirements documents, and ensure that the final system meets the needs of the stakeholders.
Machine Learning Engineer
Machine Learning Engineers are responsible for designing, developing, and deploying machine learning models. They work with stakeholders to identify the problems that need to be solved, develop machine learning models, and deploy those models into production. This course may be helpful to you as a Machine Learning Engineer by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your machine learning models, and ensure that your models are effective in solving the problems that you are facing.
Data Scientist
Data Scientists are responsible for developing and applying statistical and machine learning models to data. They work with stakeholders to identify the problems that need to be solved, develop data science models, and interpret the results. This course may be helpful to you as a Data Scientist by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your data science models, and ensure that your results are easy to understand and use.
Software Architect
Software Architects are responsible for designing the architecture of software systems. They work with stakeholders to understand the needs of the system, and then design an architecture that meets those needs. This course may be helpful to you as a Software Architect by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your software architecture design, and ensure that your design meets the needs of the stakeholders.
Data Analyst
Data Analysts are responsible for collecting, analyzing, and interpreting data. They work with stakeholders to identify the data that is needed, develop data analysis plans, and create reports and visualizations. This course may be helpful to you as a Data Analyst by teaching you the rules for writing clear and concise requirements statements. This will help you avoid ambiguity and confusion in your data analysis plans, and ensure that your reports and visualizations are easy to understand and use.

Reading list

We've selected 13 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 Requirements Writing.
Provides a comprehensive overview of requirements engineering. It covers topics such as requirements elicitation, analysis, and validation, and it shows how to use requirements engineering to develop high-quality software systems.
Classic in the field of software engineering. It provides a catalog of design patterns that can be used to solve common software design problems. It valuable resource for anyone who wants to improve the quality and efficiency of their software designs.
Provides a comprehensive overview of object-oriented analysis and design. It covers topics such as object-oriented modeling, design patterns, and refactoring, and it shows how to use these techniques to develop high-quality software systems.
Provides an introduction to test-driven development (TDD). TDD software development practice that involves writing tests before writing code. It can help to improve the quality and maintainability of code.
More accessible introduction to design patterns than the previous one. It uses a conversational style and lots of examples to explain how design patterns can be used to solve software design problems.
Provides a comprehensive overview of systems analysis and design. It covers topics such as systems thinking, data modeling, and process modeling, and it shows how to use these techniques to develop effective information systems.
Classic in the field of software engineering. It provides insights into the challenges of software development, and it offers advice on how to manage software projects successfully.
Provides an overview of agile software development methodologies. It covers topics such as Scrum, Kanban, and Test-Driven Development, and it shows how to use these methodologies to improve the quality and efficiency of software development.
Provides a framework for designing software systems that are based on the domain model. It shows how to identify and model the key concepts in a domain, and how to use that model to design a system that is both effective and maintainable.
Provides a comprehensive overview of software testing, including topics such as test planning, test design, and test execution. It valuable resource for anyone who wants to learn more about testing.

Share

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

Similar courses

Here are nine courses similar to Requirements Writing.
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 - 2024 OpenCourser