Epics sind eine Methode für Entwicklungsteams, die bei der Konzeption mobiler Apps zum Einsatz kommen kann. Die Methodik stammt aus dem Kontext des Anforderungsmanagements im Rahmen der agilen Softwareentwicklung und dient dem Zweck, herauszufinden, welche Anforderungen an die neue Software gestellt werden müssen, um den späteren User zufriedenzustellen. Epics funktionieren auf einer hohen Abstraktionsebene und werden ähnlich wie die klassischen User Stories in Alltagssprache verfasst, wobei präzise Visualisierungen unterstützend zum Einsatz kommen.
Das Ziel eines jeden Epics ist es, einen Überblick an Anforderungen an die neue App zu generieren. Aus diesem Grund wird ein Epic zu einem späteren Zeitpunkt in mehrere, bewusst kurz gehaltene User Stories zerlegt, sodass die Übersichtsbeschreibungen zu Detailbeschreibungen werden. Dies hilft dabei, die Anwendungsfälle besser zu verstehen und die spätere Realisierung der App durch das Entwicklungsteam vom Design bis zur technischen Umsetzung zu vereinfachen. Neben der Alltagssprache kommen dabei auch raffinierte Visualisierungen, beispielsweise in Form von UML Diagrammen, zum Einsatz, die die einzelnen Anwendungsfälle möglichst präzise zu beschreiben.
Epics sind ein elementarer Bestandteil des Scrum-Modells, einer speziellen Methodik zur Vorgehensweise im Projekt- und Produktmanagement. Dieses Vorgehensmodell, welches sich vor allem in der agilen Softwareentwicklung etabliert hat, sieht einen festgelegten Ablauf zur Entwicklung von Apps und anderen Softwarelösungen vor. Epics werden dabei in der Entwicklung von Product Backlogs verwendet. Sie geben dem Product Owner die Möglichkeit, eine umfassende, aber dennoch übersichtlich aufbereitete Darstellung aller Produktanforderungen zu entwickeln, die zunächst auf Details verzichtet.
Die Detaillierung findet anschließend im Rahmen von Scrum im Sprint-Planungsmeeting statt. Durch die detaillierte Ausarbeitung wird der Epic zu vielen kleinen User Stories, die die Anforderungen an die zu entwickelnde App deutlich feiner und präziser beschreiben und somit direkt in den Code der Software integrierbar sind. In der Fachsprache wird dieser Prozess auch Granulierung genannt, schließlich wird die Darstellung der Anforderungen durch das Definieren von Details immer feiner und feiner.