Software Requirements Specification

[Project Name]

Prepared for: [Client Organisation]
Prepared by: [Development Partner]
Version: 1.0
Date: [Date]

Version Date Author Changes
0.1 [Date] [Name] Initial draft
1.0 [Date] [Name] Final approved version

Table of Contents

1. Project Overview and Objectives

2. Stakeholders and Users

3. Functional Requirements

4. Non-Functional Requirements

5. Integrations and Data

6. Constraints and Assumptions

7. Acceptance Criteria

8. Timeline and Commercial Terms

Appendix A: Glossary

Appendix B: Sign-Off

1. Project Overview and Objectives

1.1 Purpose

Guidance: Explain why this software is being built. What business problem does it solve? What pain points are you addressing?

[Describe the business problem this software will solve. Be specific about current pain points and their impact on the business.]

Example: "The current order processing system requires staff to manually enter customer details from emails into our CRM, then separately into our accounting system. This takes approximately 2 hours per day and results in an estimated 5% error rate. The new system will automatically capture order details from incoming emails, create CRM records, and generate invoices."

1.2 Objectives

Guidance: List 3-5 specific, measurable objectives for the project. These should be outcomes, not features.
ID Objective Success Metric
OBJ-1 [Objective description] [How will you measure success?]
OBJ-2 [Objective description] [How will you measure success?]
OBJ-3 [Objective description] [How will you measure success?]

1.3 Scope

1.3.1 In Scope

Guidance: List what IS included in this project. Be specific.

1.3.2 Out of Scope

Guidance: Explicitly list what is NOT included. This prevents scope creep and manages expectations.

2. Stakeholders and Users

2.1 Project Stakeholders

Name Role Responsibilities Contact
[Name] Project Sponsor Final approval, budget authority [Email]
[Name] Business Owner Requirements sign-off, acceptance testing [Email]
[Name] Project Manager Day-to-day coordination [Email]

2.2 User Types

Guidance: Identify all types of people who will use the system. Different users often have different needs.

User Type 1: [e.g., Administrator]

AttributeDescription
Description[Who are they? What is their role?]
Technical Ability[High / Medium / Low]
Frequency of Use[Daily / Weekly / Monthly]
Primary Goals[What do they need to accomplish?]

User Type 2: [e.g., Standard User]

AttributeDescription
Description[Who are they? What is their role?]
Technical Ability[High / Medium / Low]
Frequency of Use[Daily / Weekly / Monthly]
Primary Goals[What do they need to accomplish?]

3. Functional Requirements

Guidance: Functional requirements describe what the software does. Each requirement should be specific, testable, and include acceptance criteria. Use the priority levels: Must Have, Should Have, Could Have, Won't Have (MoSCoW method).

3.1 Feature Group: [e.g., User Management]

ID Priority Requirement Acceptance Criteria
FR-1.1 Must Have [The system shall...] [Given... When... Then...]
FR-1.2 Should Have [The system shall...] [Given... When... Then...]
FR-1.3 Could Have [The system shall...] [Given... When... Then...]

3.2 Feature Group: [e.g., Order Processing]

ID Priority Requirement Acceptance Criteria
FR-2.1 Must Have [The system shall...] [Given... When... Then...]
FR-2.2 Must Have [The system shall...] [Given... When... Then...]
Example requirement:
ID: FR-2.1
Priority: Must Have
Requirement: The system shall allow authorised users to create new customer records with company name (required), contact name, email, phone number, and billing address.
Acceptance Criteria: Given an authorised user is on the customers page, when they click "Add Customer" and complete the required fields, then a new customer record is created and a confirmation message is displayed.

4. Non-Functional Requirements

Guidance: Non-functional requirements describe how the system should perform - its qualities rather than its features. Be specific with measurable criteria.

4.1 Performance

ID Requirement Measurement
NFR-P1 Page load time [e.g., All pages shall load within 3 seconds on standard broadband]
NFR-P2 Concurrent users [e.g., System shall support 50 concurrent users without degradation]
NFR-P3 Search response time [e.g., Search results shall return within 2 seconds]

4.2 Security

ID Requirement Measurement
NFR-S1 Authentication [e.g., Users shall authenticate via username/password with MFA option]
NFR-S2 Data encryption [e.g., All data shall be encrypted at rest and in transit using TLS 1.3]
NFR-S3 GDPR compliance [e.g., System shall support data export and deletion requests]

4.3 Reliability

ID Requirement Measurement
NFR-R1 Uptime [e.g., 99.5% availability during business hours (Mon-Fri, 8am-6pm)]
NFR-R2 Backup [e.g., Daily automated backups with 30-day retention]
NFR-R3 Recovery [e.g., Full system restore achievable within 4 hours]

4.4 Usability

ID Requirement Measurement
NFR-U1 Accessibility [e.g., WCAG 2.1 Level AA compliance]
NFR-U2 Mobile responsiveness [e.g., Fully functional on tablets; read-only on mobile phones]
NFR-U3 Browser support [e.g., Latest versions of Chrome, Firefox, Edge, Safari]

5. Integrations and Data

5.1 External Integrations

Guidance: Document every system the software needs to connect to. Be specific about what data flows where.
System Integration Type Data Exchanged Frequency Owner
[e.g., Xero] [API / File / Manual] [e.g., Invoices, customers] [Real-time / Hourly / Daily] [Who provides access?]
[e.g., Salesforce] [API / File / Manual] [e.g., Contacts, opportunities] [Real-time / Hourly / Daily] [Who provides access?]

5.2 Data Migration

Guidance: Document any existing data that needs to be imported into the new system.
Data Type Source Volume Format Notes
[e.g., Customer records] [e.g., Excel spreadsheet] [e.g., ~5,000 records] [e.g., CSV] [Any data quality issues?]

6. Constraints and Assumptions

6.1 Constraints

Guidance: List any fixed boundaries the project must work within.
Type Constraint Impact
Budget [e.g., Fixed budget of £X] [How does this affect scope?]
Timeline [e.g., Must launch before March 2026] [Why is this date important?]
Technology [e.g., Must integrate with existing Azure infrastructure] [Any technical implications?]

6.2 Assumptions

Guidance: Document assumptions that, if proven wrong, would affect the project scope or timeline.
ID Assumption Risk if Wrong
A1 [e.g., Xero API will remain stable during development] [Integration rework required]
A2 [e.g., Client will provide test data by Week 4] [Testing delayed]
A3 [e.g., Existing customer data is clean and complete] [Data cleansing effort required]

7. Acceptance Criteria

7.1 Definition of Done

Guidance: Define what "complete" means for this project.

The software will be considered complete when:

7.2 User Acceptance Testing

Test Scenario Description Expected Outcome Tester
UAT-1 [e.g., Create new customer and order] [e.g., Customer and order appear in system and sync to Xero] [Name]
UAT-2 [Test scenario description] [Expected outcome] [Name]

8. Timeline and Commercial Terms

8.1 Project Milestones

Milestone Deliverables Target Date Payment
Discovery Complete Approved SRS document [Date] [Amount or %]
Development Complete Working software in test environment [Date] [Amount or %]
UAT Complete Signed-off user acceptance testing [Date] [Amount or %]
Go-Live Production deployment and training [Date] [Amount or %]

8.2 Change Control

Changes to requirements after sign-off will be managed as follows:

  1. Change requests must be submitted in writing
  2. Development partner will assess impact on timeline and cost within [X] business days
  3. Changes require written approval from [stakeholder name]
  4. Approved changes will be documented as an addendum to this SRS

Appendix A: Glossary

Term Definition
[Term 1] [Definition - explain any business-specific or technical terms]
[Term 2] [Definition]
[Term 3] [Definition]

Appendix B: Sign-Off

By signing below, the parties confirm that they have reviewed this Software Requirements Specification and agree that it accurately represents the software to be developed.

Client Sign-Off

Name:
Role:
Signature:
Date:

Development Partner Sign-Off

Name:
Role:
Signature:
Date: