• EPIC Project Methodology

    Successful projects need to be designed, developed, and delivered on time, on budget, and on scope. A project methodology needs to be followed to avoid failure. A project methodology is a critical success factor to any significant project and is a core competency of Essent.

    To ensure success Essent has developed a coherent project management methodology and software development lifecycle (SDLC) protocol called EPIC: The Essent Project Implementation Cycle. EPIC™ is a proven, disciplined approach to software development that controls the process to assure success for current technologies and business goals. All Essent projects are guided by EPIC, a mature protocol for developing and implementing projects in well-defined stages. The purpose of developing in stages is to achieve a high degree of control throughout the project's developmental period, prevent potential project mismanagement to which any project can fall prey, and gain the trust of the project participants. The Essent developmental techniques, used to create successful solutions, are based upon over twenty years of experience gained from working with organizations.

    Traditional approaches to software development are based on the popular Waterfall and Spiral models, which fail to meet the needs of modern business. EPIC combines the strengths of these two models -- providing the benefits of milestone-based planning (Waterfall) and the flexibility of the iterative software development process (Spiral) – and extends it with prototyping and frequent project team meetings.

    EPIC defines the:
    • Decision Making Process
    • Performance Metrics
    • Project Management Tools
    • Delivery Process
    • Acceptance Process
    • Testing Process
    • Release Process

    Essent Project Implementation Cycle
    EPIC consists of project phases. Each phase corresponds to a set of tasks, development time, delivery date, instructions, and assignments. EPIC is organized into 6 major phases:

    • Analysis
    • Agreement
    • Design
    • Development
    • Delivery
    • Support

     

    Project Phase Essent Tasks Customer Tasks
    1. Analysis
    1.1
    Identify Goals
    1.2
    Perform a Needs Analysis
    1.3
    Map the Business Process Workflow
    1.4
    Generate Project Proposal
    1.1
    Define Goals
    1.2
    Participate in Needs Analysis
    1.3
    Approve the Business Process Workflow
    1.4
    Review Project Proposal
    2. Agreement
    2.1
    Produce Agreement
    2.2
    Sign Agreement
    2.3
    Meet for Project Kickoff
    2.1
    Accept Agreement
    2.2
    Sign Agreement
    2.3
    Meet for Project Kickoff
    3. Design
    3.1
    Form Project Team
    3.2
    Document Business Process Definitions
    3.3
    Perform Gap/Fit Analysis
    3.4
    Design System based on Functional Specifications
    3.5
    Define Project Timeline
    3.6
    Schedule Project
    3.7
    Generate Work Statement
    3.8
    Sign Work Statement
    3.1
    Form Project Team
    3.2
    Participate in Business Process Definition Interviews
    3.3
    Perform Gap/Fit Analysis
    3.4
    Approve Functional Specifications
    3.5
    Approve Project Timeline
    3.6
    Sign Work Statement
    4. Development
    4.1
    Complete the Work Statement
    4.2
    Perform Development Review
    4.3
    Meet with Team for Project Review
    4.4
    Perform Quality Assurance Alpha Testing
    4.1
    Complete the Work Statement
    4.2
    Meet with Team for Project Review
    4.3
    Perform Usability Testing
    4.4
    Perform Quality Assurance Beta Testing
    5. Delivery
    5.1
    Deliver Release Candidate of Project
    5.2
    Perform Delivery Services
    5.3
    Move Release Candidate to Production
    5.1
    Receive Beta Version of Project
    5.2
    Perform Release Candidate Testing
    5.3
    Validate Functionality and Automation Results
    5.4
    Accept Release Candidate
    5.5
    Sign-Off on Release Candidate
    6. Support
    6.1
    Resolve Issues
    6.2
    Deliver Updates
    6.1
    Document Issues
    6.2
    Communicate Issues

    Note: Depending upon the distinctive features of the project, elements of the phases may change.

    Analysis
    From the customer’s perspective, the Analysis phase consists of meetings, interviews, and questionnaires. During this phase Essent identifies the goals of the organization, performs a Needs Analysis to understand the requirements of the organization, maps the business process workflow, identifies business areas that are affected, and crafts a proposed solution to the needs.

    An Essent consultant will facilitate the analysis. Essent will work with the customer to define the project and ultimately reach agreement on the time, budget, and scope required to successfully complete the project.

    Agreement
    The Agreement phase is the formal process of accepting the proposal, signing the project agreement, and meeting for the Project Kickoff. By this time all participants in the project will understand the process and their role and responsibilities within it. The team will be established and will have an understanding of the complexities and dynamics of modern software development.

    Design
    During the Design phase of the project, 5 major documents are created:

    • Project Team
    • Functional Specifications
    • Project Timeline
    • Project Schedule
    • Work Statement

    The major responsibilities of the customer are to define the project team, then approve and signoff on the design documents.

    Project Team
    Proper organization and staffing is critical to the success of any project, especially large-scale engineering projects. Large projects will be implemented in stages that have specific activities that must be performed at specific times. Procedures must be developed for each stage, which must be communicated throughout the organization. The project implementation may happen over multiple months of the project year. The activities must be orchestrated so users can anticipate the changes, plan for the additional short-term workload, and implement their procedural changes, and verify the results.

    Organizationally, the customer needs to select a project team that is responsible for the project design, development, testing, implementation, and verification. These activities will not happen automatically and it cannot be expected that the vendors will necessarily perform or even know to communicate them.

    The project team needs individuals capable of understanding, following, and tolerating the project methodology. During every step of the process, the team will be required to make extremely detailed decisions regarding scope. Some people relish the process; others abhor it. Ultimately the customer will be required to execute on the plan and run the system. It is critical to select a team with the talent and temperament for the process.

    The project team should be staffed by:

    • Technical Lead - a senior-level person knowledgeable in information technology that will be comfortable in being guided by the software development team and Subject Matter Experts to defining the project and resolving technical issues as they arise.
    • Project Administrator - an administrative-level person that will perform the daily project activities including: accepting software deliveries, managing the beta test process, collecting user requests, and coordinating issues among the team.
    • Subject Matter Experts - one or more person knowledgeable in the intricate processes and information requirements of the organization. The Subject Matter Experts will be called-upon to make decisions regarding business processes and how they should be automated. They are also expected to work with Beta Testers to verify the software products before they are released to the user community.
    • Beta Testers - savvy computer users, often called power users, that are comfortable with information management systems, enjoy working with software, are disciplined to methodically perform quality assurance tests, and can articulate bugs.

    The team, and the project as a whole, should be lead by the Project Champion. The champion is the most senior staff member available with the vision, desire, and authority to see the complicated progression to fruition.

    Functional Specifications
    The Functional Specifications defines in detail every feature that makes up the project scope. Every major element for every feature is listed and described. Through the Functional Specifications accurate development time can be calculated and the remaining design documents can be produced.

    Project Timeline
    The Project Timeline defines features and dependencies, when they need to be completed, developed, released, and tested. The Project Timeline does not define whom will develop nor when features will be started.

    Project Schedule
    Based on the Project Timeline, the Project Schedule defines to whom features are assigned, when the features will be started and when they are expected to be completed.

    Work Statement
    The Work Statement is the formal definition of the project that – based on the Functional Specifications, Project Timeline, Project Schedule – defines the elements of the project, formally called Work Products. For each Work Product, a description of the element, a start date, duration, end date, and delivery date will be defined. It is the master list of deliverables the definitively defines the scope of the project and is the single most important document necessary to begin the Development phase of the project.

    Development
    EPIC has three primary traits. It is phased, milestone driven, and iterative. Coupled with the Essent Development Framework and an industry standard computing platform based on Essent-approved technologies, Essent projects embrace proven technologies, comply to coding standards, and facilitate resilient, modular systems that can be efficiently maintained, scaled, and enhanced over time.

    The customer will work with systems architects to create a quality information system, software engineers to design the system components, programmers to build the system, and a project coordinator to manage the process. Throughout the entire process, on a regular basis, the customer will be called upon to make myriad decisions that affect how users will work with the information system for years to come.

    During the Development phase, the majority of the project activity will be performed by Essent. Essent will create the Work Products defined on the Work Statement, perform internal Development Reviews to assure the Work Statement is being followed, meet with the team for Project Reviews that direct development, and perform Quality Assurance Testing on successive Alpha versions of incomplete features.

    The customer is often responsible for a small segment of the Work Statement; these Work Products typically include Beta Testing, Usability Testing, and any company- or industry-specific content or formulas that are necessary for the project.

    Delivery
    The Delivery phase is the formal process of handing over project elements defined in the Work Statement on or before their due date. Delivery includes the delivery of Beta software, feature-complete software that has been tested in the lab, but not in the business environment. The customer formally receives the software and acknowledges delivery by signing a Delivery Conformation. During the Delivery phase, Essent will perform any Delivery Services, like training, that are defined in the Work Statement. The customer performs beta testing, as defined in the Work Statement, validates the functionality, including the results of any calculations, and ultimately signs-off on the software as a Release Candidate. After the Release Candidate Signoff, the software will be placed into production.

powered by Essent® • SiteBuilder Pro