- Table of contents
- Needs and Requirements Management
- User Stories
- Use Cases
- Tips
Needs and Requirements Management¶
The course uses an Excel file to organize project needs & requirements. It is an enhanced version of the one used for IED.
Required version:- Needs and Requirements - export:template documents/Needs and Requirements workbook.xlsx - improved from the IED version
An enhancement is that all needs are individually numbered, and all requirements are individually numbered. This allows complete traceability of needs and requirements in your documentation as long as you do not change any of the numbering! Instead, simply add new items after the existing ones. Do not insert needs or requirements into the middle of the list. Just add them at the end of the list to keep the numbering intact.
- Use this rubric for self assessment and improvement of your Needs and Requirements workbook ( export:Rubrics/Needs and Requirements rubric.docx )
- Useful books and references - the requirements spreadsheet provided in IED can be found on this page.
Gathering Needs¶
Customer interviews, benchmarking research, and product reviews will generally produce a large list of user comments and complaints. Often this does not uncover 'obvious' unspoken needs or other aspects that are not customer-focused.
The following list of Requirement Types may inspire team to generate additional needs for the design:
- Functionality
- Performance
- Quality
- Usability
- Accessibility
- Reliability
- Durability
- Availability
- Manufacturability
- Maintainability
- Environmental impact
- Interfaces
Some types are closely related. For examples:
- Reliability is related to performance (quality).
- Repairability is also related to environmental impact. If not repairable, it will be disposed of.
- Material selection is related to environmental impact because of recyclability.
Defining Requirements¶
Remember that gathering Customer Needs and then converting those into Project Requirements was covered in IED!
The attached file atlee-chapter4.pdf is an excerpt from a book on software development. This chapter broadly covers requirements gathering and definitions for software projects.
Requirements for software packages can be managed using other techniques - Software Requirements Specifications
Requirements vs. Constraints¶
A constraint is a non-functional need that "must be". These are sometimes not measurable items. Examples of these are:- The Design Lab currently uses ESP32 microprocessors, so your project will. Unless there is a specific reason to use another
- If you work for Company-A, you are probably constrained to use the company's products - and not to use Competitor-B's products
- For Capstone Design course, students are constrained to using the EDN for all technical material
User Stories¶
Another powerful tool for gathering requirements is the "user story". There are many resources on this to be found online. Although developed and widely used in the software development area, it can also be applied to other areas.
In the simplest form, it consists of documenting who the user is, what they need to be able to do, and what the benefit / reason is.
Templates:- As a [type of user], I want to [perform some tasks] so that I can [achieve some goals].
- As a [type of user], I want a [feature] so that I can [satisfy a need].
Title | Type of User | Tasks to Perform | Desired Goal/Outcome |
production worker | adjust the motor speed | to avoid damaging the part | |
production worker | adjust the motor speed | to set part size |
For example:
- As a student, I must regularly post technical contributions to the Electronic Design Notebook so that I can collaborate effectively with my team.
- The car's transmission must transfer the energy from the engine to the wheels so that the vehicle can move.
- As a driver, I must be able to control the car's energy transfer so that I can go forward and backward.
- As a driver, I must be able to control the car's energy transfer so that I drive slowly and fast both with a boat/trailer attached and without it.
It is often desirable to be able to sort these by the user type/role, so it is recommended that these be kept in a simple spreadsheet like this one - export:template documents/User Stories.xlsx
Use Cases¶
Along with User Stories, it is sometimes helpful to define the use cases for a project or process. According to the website Wrike.com:
Use cases are generally constructed as a narrative that includes:A use case is a concept used in software development, product design, and other fields to describe how a system can be used to achieve specific goals or tasks. It outlines the interactions between users or actors and the system to achieve a specific outcome. https://www.wrike.com/blog/what-is-a-use-case/
- system
- actors
- scenario
- the use case
To facilitate documenting these, please use the provided template: export:template documents/Use Cases.xlsx. The goal is to identify as many use cases as needed to help define your project - there is no specific number. As the project progresses and more is learned, the use case document should be updated to capture the new information.
Acceptance Criteria¶
Use cases describe functional needs. We can also write acceptance criteria to add details to user stories to make them more specific and measurable (testable). A use case gets one or more acceptance criteria. This is simply different terminology for "requirements with metrics" or "specifications." They are all the same.
For example:- As a user, I want a reliable system so that I can use it to complete assigned tasks.
- Acceptance Criterion: The downtime of the system is less than 15 minutes/day.
- As a user, I want a secure system so that my data is protected.
- Only authorized users can access the system.
- When a user fails to be authenticated three times, the user account is locked. (And) The user must contact the system admin to unlock the account.
If the acceptance criteria are all met, the use cases have been satisfied.
Tips¶
Team SHOULD leverage many sources when developing Needs, Requirements, and User Stories:- initial Project Description document
- all team discussions
- notes and discussion from Client Meeting # 1 Project Kickoff
- any life experience team members have with similar equipment, processes, and products
- industry standards
ATTACHMENTS BELOW