An epic in agile Scrum terminology is a group of related user stories or may appear as a “big” story. Epics generally cover an entire use case or work flow for a feature related to user interaction with a system in software development. Epics are completed when all the associated stories implementing the epic are done-done. While stories may be completed and delivered independently, epics are only complete when all stories are verified done.
There is also an agile scrum concept of a “theme” that is similar to an epic but does not encapsulate a specific workflow and does not need to have all of the associated stories completed to be considered delivered.
User stories (or stories) implement features of a product or are portions of engineering activity associated with a particular engineering project epic and/or theme. User stories should be used to document the feature(s) that will satisfy the requirements described in the story as derived from the Product Owner (and requirements gathered). Generally, the writer of the story should include acceptance criteria motivated by the product owner.
In some cases, user stories will benefit from additional detailed information about the work flow / use case being described from a user perspective. Lists of steps, visual/document/other artifacts, business rules, use cases, et cetera if available should be documented in the story.
Any Epic may have one or more stories that implement the total scope of work of the epic. That is to say that in agile an “epic” is a group of related user stories. It is important to understand the communication structure of agile projects in order to effectively use the framework. While sizing and use of terminology/jargon in the industry is not settled there are general guidelines that can be derived from common sense interpretation of the Scrum framework. The key is to establish a consistent organizational communication using common terms and language.