Programs and projects are often complex and large. We need to break the project down into something more manageable and deliverable. Prince2 uses Work Breakdown Structures (WBS) and Product Breakdown Structures (PBS) to achieve this. But in Agile we break requirements down from Themes, into Epics, User Stories or Features and then into Acceptance Criteria, to represent a product or project backlog of needs.
Themes – are overall concepts and collections of related Epics that deliver a meaningful capability the end user.
Epics – are objectives of a Theme that can be delivered within 2-4 Sprints.
User Stories or features – are requirements broken down from Epics. These are what you need to achieve the objective that can be delivered within a single Sprint, typically within 1-4 days.
Looking at the diagram above, requirement elaboration works from the top down, while delivery works bottom up. For example, if you deliver all user stories from one Epic, you have delivered the Epic; deliver the user stories under all Epics affiliated with one Theme, you have delivered the theme.
Acceptance Criteria – are characteristics of User Stories – the granular detail that defines what a feature will do and how it will behave, according to what parameters (Functional and Non-Functional).
Themes and Epics can also have acceptance criteria: they are high level descriptions of what you need in order to achieve an objective. A good technique to identify Epics from Themes and User Stories from Epics is to list them as acceptance criteria to demonstrate the breakdown.