Introduction
Does your team know the difference between functional and non-functional requirements?
In a Scrum environment, we often focus on functional requirements – what the system should do. But ignoring non-functional requirements can lead to serious issues with performance, scalability, and security.
So how can we make sure both types of requirements are properly addressed?
The key lies in integrating them through the Definition of Done (DoD).
Understanding Functional and Non-Functional Requirements
What are Functional Requirements?
Functional requirements describe specific behaviors or functions of a system. These are the features users interact with. For example:
- A user can log in with a username and password.
- A user can view their transaction history.
In Scrum, these are often written as user stories and represent the core of the product’s capabilities.
What about Non-Functional Requirements?
Non-functional requirements describe how the system performs those functions. They focus on qualities like performance, security, usability, and reliability. For example:
- The system should respond to user actions within 2 seconds.
- All user data must be encrypted using industry-standard methods.
These requirements don’t define new features but ensure that existing features are robust and user-friendly.

Case Study: Including Non-Functional Requirements in the Definition of Done
The Scenario
A Scrum team was building a mobile banking app. Functionality was in place – users could check their balances and transfer money. But problems emerged: slow load times, and concerns from users about data security.
The Problem
The team had not clearly defined or prioritized non-functional requirements. These “invisible” qualities were missing from user stories and not part of the Definition of Done. The result? A functional but frustrating product.
The Solution
Here’s how the team turned things around:
- Identified critical non-functional requirements – performance (2-second response time), security (encrypted data), and usability (clean interface).
- Updated the Definition of Done – they included non-functional standards like performance benchmarks and security testing.
- Introduced automated testing – performance tests and security checks became part of the CI/CD pipeline.
- Reviewed and refined DoD regularly – the Definition of Done became a living document, adapting as the product grew.
The Outcome
With non-functional requirements clearly defined and integrated, the app became faster, more secure, and easier to use. Customer satisfaction improved, and the team reduced technical debt early on.
Practical Tips for Scrum Teams
Want to avoid the same pitfalls? Try these:
- Add non-functional requirements to your Definition of Done: Make sure “done” means more than just feature-complete.
- Automate what you can: Performance and security tests should run as part of every sprint.
- Train the team: Developers, testers, and Product Owners should all understand the importance of non-functional requirements.
- Involve stakeholders: Talk to your users and business partners about expectations beyond just features.
- Keep evolving your DoD: Regularly revisit and refine it based on feedback and learning.
Practical Tips for Scrum Teams
Want to avoid the same pitfalls? Try these:
- Add non-functional requirements to your Definition of Done: Make sure “done” means more than just feature-complete.
- Automate what you can: Performance and security tests should run as part of every sprint.
- Train the team: Developers, testers, and Product Owners should all understand the importance of non-functional requirements.
- Involve stakeholders: Talk to your users and business partners about expectations beyond just features.
- Keep evolving your DoD: Regularly revisit and refine it based on feedback and learning.
Final Thoughts
Balancing functional and non-functional requirements isn’t just a technical task – it’s about delivering a product that truly works for users. When non-functional aspects are built into your Definition of Done, you raise the quality bar across the board.