Stakeholder Requirements
It is common to ask a variety of stakeholders with vastly different perspectives to provide requirements. These are initially collected in a raw format such that they may conflict or be offered based on assumptions and constraints that aren't necessarily valid.We need a new sales system.
We need data to be consistent.
We need a screen for entering customer contacts.
We need to be able to reassign an account executive's opportunities.
We need an accurate monthly sales forecast.
The sales forecast needs to be secured such that only authorized individuals can access it.
We need a notification to account executives when a customer opens a problem ticket.
We need a screen to view historical trouble tickets for a customer.
When customers cancel their account we need to ask them why (optional survey).
We need to generate a monthly report that indicates why lost customers closed their accounts.
We need data to be consistent.
We need a screen for entering customer contacts.
We need to be able to reassign an account executive's opportunities.
We need an accurate monthly sales forecast.
The sales forecast needs to be secured such that only authorized individuals can access it.
We need a notification to account executives when a customer opens a problem ticket.
We need a screen to view historical trouble tickets for a customer.
When customers cancel their account we need to ask them why (optional survey).
We need to generate a monthly report that indicates why lost customers closed their accounts.
User Stories
User stories are a structured way to capture requirements from the perspective of users using the pattern:As a type-of-user, I want function so that goal.This only applies to applications as opposed to automation, construction and other types of requirements that aren't based on a user interface. The following are illustrative examples.As a CFO, I want to see an up-to-date forecast of monthly sales, so that I can manage resources.
As a sales director, I want a tool to quickly review and approve proposals, so that I can manage deal margins.
As a sales manager, I want to be able to reassign all of an account executive's opportunities, so that I can change plans and handle turnover.
As an account executive, I want to be able to enter contacts using my phone, so that I can work from the road.
As a sales operation manager, I want a monthly breakdown of sales by account executive, so that I can calculate commissions.
As an network operations manager, I need a system to automatically determine the root cause of multiple simultaneous alarms.
As a customer support representative, I need to see the customer's recent purchases.
As a merchant, I need to see cancellation requests.
As a customer, I need to see my cancelled orders.
As a sales director, I want a tool to quickly review and approve proposals, so that I can manage deal margins.
As a sales manager, I want to be able to reassign all of an account executive's opportunities, so that I can change plans and handle turnover.
As an account executive, I want to be able to enter contacts using my phone, so that I can work from the road.
As a sales operation manager, I want a monthly breakdown of sales by account executive, so that I can calculate commissions.
As an network operations manager, I need a system to automatically determine the root cause of multiple simultaneous alarms.
As a customer support representative, I need to see the customer's recent purchases.
As a merchant, I need to see cancellation requests.
As a customer, I need to see my cancelled orders.
Business Rules
Systems and automation are commonly specified using business rules that resemble pseudocode such as if-then-else statements.If a module reports an error 53 then restart it.
If a module continues to report an error 53 after restart then shut it down.
If a module reports error 91 then create a maintenance request.
If efficiency falls below 11% for more than 10 minutes then clean the system.
If the grid requests shutdown of the system then put the system into standby mode.
If the system detects a power surge then report it to operations.
If a message to operations fails to send then queue the message and resend it every 3 minutes until it is delivered.
If a module continues to report an error 53 after restart then shut it down.
If a module reports error 91 then create a maintenance request.
If efficiency falls below 11% for more than 10 minutes then clean the system.
If the grid requests shutdown of the system then put the system into standby mode.
If the system detects a power surge then report it to operations.
If a message to operations fails to send then queue the message and resend it every 3 minutes until it is delivered.
Functional Requirements
Functional requirements are well formed requirements that describe functions such that they are consistent, cohesive, complete, consistent, atomic and verifiable. These are typically developed by a business analyst who works to resolve inconsistencies, gaps and issues working with stakeholders.The system will create a daily sales report.
The daily sales report will be mailed to a disruption list named "sales-report-subscribers."
The daily sales report will include a current monthly sales forecast as calculated by the getCurrentForecast service.
The view orders screen will include a cancellation button beside each order that leads to the cancellation page for that order.
The customer must enter a reason that they are canceling the order.
If the order is less than a 4 hours old, it is automatically canceled.
If the order is more than an 4 hours old, the cancellation request is forwarded to the merchant for review and approval.
A merchant has 12 hours to review a cancellation request, failure to review a request results in automatic cancellation.
If the merchant rejects the cancellation request, they must provide a reason.
Customers are informed by email when an order is canceled or a cancellation request is denied.
The daily sales report will be mailed to a disruption list named "sales-report-subscribers."
The daily sales report will include a current monthly sales forecast as calculated by the getCurrentForecast service.
The view orders screen will include a cancellation button beside each order that leads to the cancellation page for that order.
The customer must enter a reason that they are canceling the order.
If the order is less than a 4 hours old, it is automatically canceled.
If the order is more than an 4 hours old, the cancellation request is forwarded to the merchant for review and approval.
A merchant has 12 hours to review a cancellation request, failure to review a request results in automatic cancellation.
If the merchant rejects the cancellation request, they must provide a reason.
Customers are informed by email when an order is canceled or a cancellation request is denied.
Non-Functional Requirements
Non-functional requirements capture qualities and characteristics that go beyond functions. These commonly include requirements related to branding, customer experience, risk management, information security, operations, maintenance, compliance and usability. It is common for non-functional requirements to reference external documents such as standards, policies and procedures.Ingredients will be certified organic.
Ingredients will be sourced according to procurement standards for organic products 33b.
Product packaging will be biodegradable according to sustainability standard 3c.
Screens will be designed according to usability standards 13a.
Corporate colors will be used for screen elements according to the corporate style guide.
Training materials will be developed for the product.
All customer service representatives will participate in product knowledge training for the new product.
The database will be backed up on an hourly basis.
Database backups will be encrypted according to information security standard 167-a.
Encryption keys for backups will be managed according to information security standard 268-c and 566-a.
The application will be monitored using the current standards and tools provided by the technology operations group.
An incident escalation tree will be developed and provided to the technology operations group.
An application runbook will be developed and provided to the technology operations group based on the current standard template.
Technology operations group will be trained in the maintenance and support of the application.
Ingredients will be sourced according to procurement standards for organic products 33b.
Product packaging will be biodegradable according to sustainability standard 3c.
Screens will be designed according to usability standards 13a.
Corporate colors will be used for screen elements according to the corporate style guide.
Training materials will be developed for the product.
All customer service representatives will participate in product knowledge training for the new product.
The database will be backed up on an hourly basis.
Database backups will be encrypted according to information security standard 167-a.
Encryption keys for backups will be managed according to information security standard 268-c and 566-a.
The application will be monitored using the current standards and tools provided by the technology operations group.
An incident escalation tree will be developed and provided to the technology operations group.
An application runbook will be developed and provided to the technology operations group based on the current standard template.
Technology operations group will be trained in the maintenance and support of the application.