Software Engineering Institute Carnegie Mellon

COTS-Based Systems
EPIC Home
EPIC Overview
EPIC phases
EPIC Activities
EPIC Artifacts
EPIC Executable Representations
Integration of Software-Intensive Systems
Performance-Critical Systems

Overview of EPIC

return to CBS main page

Why

The escalating use of commercial off-the-shelf (COTS) products has had its pitfalls. Too often, managers have tried and failed with traditional engineering processes wherein requirements are fully defined, an architecture is formulated, and only then is the search for COTS products begun. Instead, COTS requires new
processes--and also new skills, roles, and responsibilities.
All these are described in EPIC, the Evolutionary Process for Integrating COTS-Based Systems.

What

EPIC identifies four life-cycle phases, separated by anchor points. A phase is executed as a series of spiral iterations driving toward convergence on a Solution. In each iteration, sub-teams perform these tasks:

Information is shared among all stakeholders. The executable is explored for the insight it can give to the ultimate solution. Both these steps help the team assess the present state and negotiate plans for the next iteration.

See the EPIC Overview Report for a further introduction.

What else

EPIC is much more than simply a scheme for selecting the "right" COTS product. It allows projects to build, field, and support a solution that provides measurable, operational improvements. An EPIC solution integrates one or more COTS products with legacy software, reusable components, and any required custom code, including wrappers and "glue." The solution also, almost inevitably, requires changes to end-user business processes to reconcile them with the assumptions of the COTS product. Over time an organization using EPIC achieves ever greater comprehension of the solution and needed changes. Widespread information sharing then builds pervasive stakeholder buy-in, thus easing eventual adoption.

EPIC is...a negotiation-driven process for identifying, managing, and spanning the gap between user needs and product capabilities.

When

In contrast to a requirements-driven development model, EPIC, fluidly balances four spheres of influence while driving from a strategic vision to an implemented and sustained solution. As the diagram shows, the spheres are - stakeholder needs and business processes, - architecture and design, - programmatics and risk, and - marketplace capabilities. As mismatches are resolved over time, the organization comes to increased comprehension of the system and pervasive stakeholder buy-in to the solution. Throughout the system lifecycle, EPIC:

EPIC and its use are fully described in the EPIC methodology, a technical report. For each lifecycle phase the report carefully delineates the goals, objectives, and exit criteria. It also presents guidelines for key activities and artifacts.