Electric Power Research Institute (EPRI) Home Page
 my.epri.com > Software Development Requirements Homepage > Software Development Requirements Process

 Software
  Development
   Requirements
     Homepage

 Find A Topic

 Software
  Requirements:

 FAQ

 SET Newsletter

Software Development Requirements Process

Software Development Requirements Process Table

Process Table Key: X = Responsibility; R = Review; A = Approval required

Software Development Process EPRI Project Manager EPRI Corporate Software Quality Software Developer User Schedule
(fill in your dates)
Step 1: Concept Development          
Determine User Requirements X     R  
Software Request for Proposal (RFP) X A      
Software Contract Package X A      
Step 2: Defining Requirements          
Software Planning Documents A A X R  
Step 3: Design          
Software Prototype & Review A   X R  
Design Document (DD) A   X    
Step 4: Implementation          
Project Plan Status Review A   X    
Code Software     X    
Draft Documentation A   X    
Verification & Validation (V&V) A   X    
Step 5: Alpha & Beta Test          
Alpha Test (Developer)     X    
Alpha Test (Required if Alpha version going to customers) A A X    
Software Distribution Requirements X        
Beta Test (Required for all software going to customers) A A X    
Step 6: Final Acceptance Test          
Prescreen (Optional) & Begin EPRI Acceptance Testing R R X    
Final Acceptance Test R A X    
Step 7: Support & Maintenance          
Software Support A   X    
Software Enhancements & Bug Fixes (Patches not allowed) R A X    
Process Table Key: X = Responsibility; R = Review; A = Approval required

Click here to open a Printer-friendly version of Process Table.
Click here to download a Microsoft Word version of Process Table.

Return to top of the page Go to Top of the Page

Roles

The EPRI project manager is responsible for driving the software development process, following the general timeline as filled in by the project manager, and ensuring software quality. Project steps are completed in the order shown, starting at the top of the Process Table, and ending at the bottom. Assign dates for your project to each process step and task.

The software developer, who may be either within EPRI or an outside contractor to EPRI, is responsible for creating the software application and is responsible for software quality. All developers need to complete the steps shown in the Process Table above.

EPRI Corporate Software Quality is responsible for the development process quality checkpoints and for software acceptance testing. The required EPRI Corporate Software Quality reviews and documents for your project are listed on your Software Deliverables Requirements Form.

The users are defined as anyone (e.g., end-users such as clients, approvers such as the CEO or CFO, and system administrators such as IT Departments) who will use the completed software. Involving users as shown in the Process Table above helps to make sure the software will meet their needs when it is released.

Process Variations

The Process Table steps above apply both to new software and to upgrades of existing software. All EPRI software development, including web applications, is expected to follow these steps.

Topics To Consider To Improve Your Software Design & Maintenance

The items in this section may be required at the discretion of the EPRI project manager or EPRI management. These items represent software development best practices. EPRI strongly recommends that developers implement these in support of EPRI's commitment to deliver commercial quality software.
  • Online help: Context-sensitive online help is recommended for both new software and upgrades. A user accessing this type of help reads a brief, focused message providing assistance for the screen being used. Context-sensitive online help is therefore different from simply displaying a relevant section of the User Manual.

  • Additional examples showing more of the software's capabilities are recommended for both new software and upgrades. These examples expand upon the three required solved example problems or tutorial described above.

  • Program code allows efficient modification.

  • Software scales well to larger data files and networks.

  • All displayed text is placed in one file: Placing all error messages and other displayed text in one file facilitates software maintenance for developers, and also eases future translation to local languages. Such a text file is used with a message program that manages variables from the application program and text from the file. This approach enables selected text file contents to be tailored as needed, and to display a variety of situation-specific messages to the user.

Background Material

The links below provide added background on the software development process.

Return to top of the page Go to Top of the Page


EPRI 3420 Hillview Avenue, Palo Alto, California 94304 USA
800.313.3774 or 650.855.2121
© Electric Power Research Institute, Inc. 2001-2007. All rights reserved.    Privacy   Terms & Conditions