EPRI: Electric Power Research Institute

Software Development

Step 1: Concept Phase

Key Decisions

  • Basic Requirements
    • What is the problem you are trying to solve?
    • What does the user need?
    • Why EPRI? What is being developed that's unique?
  • Software Type
    • What is the technical readiness level (TRL) of the technology?
    • Which type(s) could fill the need?
    • Does EPRI have existing software that is a close analogue to what you what to do?
  • Budgetary Cost and Schedule
    • Establish general funding limits
    • Compare different costs
    • Communicate with stakeholders
  • Software Development Life Cycle (SDLC)

Key Considerations

  • Software Architecture Drivers
    • Who will use the software? (skill, frequency, motivation)
    • Quantity of data? Is it real-time?
  • Funding
    • Get general estimates on different approaches
    • What's the appetite for the stakeholders for—not just development—but security, administration, and maintenance
  • Software licensing of the final product
    • Often overlooked, but it's better to think about it early
    • 3rd-party content? Interface to 3rd-party products?
    • Several models and all deserve consideration (EPRI deliverable only, licensed for commercialization)
  • Policies
    • Each Software Type falls in different ranges of testing and deployment requirements
    • Other policies could apply: Mobile Apps, Web Delivery, 3rd Party & Open Source Software, etc.