EPRI: Electric Power Research Institute

Software Development


Step 2: Planning Phase


Life Cycle Types

EPRI develops three software life cycle types, which are: Prototype, Proof-of-Concept, and Production.

Life Cycle Type
TRL Level
Prototype 1-2: Concepts to be proven. Any external release to a limited audience and for a period less than one year. Any subsequent release would be Proof-of-Concept or Production.
Proof-of-Concept 3-5: Concepts proven, software solution to be proven. Any external release for a period of less than 2 years. Any subsequent release would be Production.
Production 6-9: Proven software solution being developed. External release follows lifecycle plan.

Refer to the Technology Readiness Levels (TRLs) table for complete list of TRLs as used at EPRI.



Software Types

  • Special software types:
    • Computer-Based Training (CBT)
    • E-Media: Desktop (includes simple spreadsheets)
    • E-Media: Web
  • Common software types:
    • Complicated spreadsheets
    • Desktop
    • Server/Enterprise
    • Software Implemented via a Commercial Software Platform
    • Software Extension
    • Web Application/Service
    • Mobile Application
  • Exception:
    • Billable Service Agreeement (BSA) — requirements are contract-driven

Refer to the Software Type Matrix for information and requirements on the EPRI software types developed at EPRI.

For more information on each software type, review the Software Type Definitions.


Software Type: CBT

  • Basic characteristics:
    • Delivered as a desktop product
    • Implemented in any commercially available product that creates CBTs (see list of pre-approved software tools)
    • Does not require a preproduction (i.e. "beta") review/test

Software Type: E-Media

  • Basic characteristics:
    • Contain only content, content with hyperlinks to local or external sources, or other basic interactions with the user
    • Delivered as a desktop product (e.g., CD) or a content-only website
    • Might be used within a commercially available product
      • be aware of licensing costs and product compatibility within member environments
    • Content-only websites:
      • Include (but are not limited to):
        • Traditional HTML sites with no input capability
        • Sites created within commercially available products such as SharePoint (without custom/programmed extensions)
      • Require support from Web & Mobile Solutions (formerly Digital Solutions) and/or IT
    • E-Media Testing

Software Type: E-Media vs. Spreadsheets

  • Simple Spreadsheets:
    • Treated like E-Media: Desktop software type
      • Functionality must be verified by someone other than the author prior to submission to Tech Pubs or it can be submitted to the SQA team to be verified
    • No macros, hidden cells, rows, or columns
    • All calculations can be easily viewed and verified on no more than three worksheets
  • Complicated Spreadsheets:
    • Treated like Desktop software type
      • Functionality must be reviewed and tested by SQA Team

Planning Budget Cost and Schedule

  • Estimating Costs:
    • Developers should be able to provide estimates for each phase of the software development life cycle
    • Include documentation costs
  • Testing
  • The budget must account for all testing that might apply
  • Include the SQA Team's review
  • Schedule
    • Be sure to allow adequate time for pre-production internal reviews and customer reviews
    • SQA review may take longer near the end of the year
  • Assume something will go wrong

Development Team

  • Team Composition
    • Implementation personnel: internal developers, contracted developers, or both
    • Use internal staff to verify adherence to EPRI's objectives
    • If software includes server, web, or mobile components, include plenty of time in schedule for EPRI Server Ops, Web & Mobile Solutions and/or Database Administrators
    • Consider how the software will be tested. In some cases using a third party for testing is appropriate
  • Seek assistance for selecting contracted developers
    • SQA Team, who have insight to experience of existing contractors
    • Peers who have delivered the same software type
    • Software Excellence Network representative in your sector