DOE G 200.1-1 Ch 3, Planning Stage
Functional areas: Information Technology, Software Engineering
This is the first stage in the lifecycle of a software engineering project.
Superseded By:
DOE O 415.1, Information Technology Project Management on Dec 03, 2012
Version history and related documents
Superseded by
A newer version replaces this document.
- DOE O 415.1Information Technology Project Management (Dec 03, 2012)
Document text
Text extracted from the attached file. Refer to the original document for the authoritative version.
Section 1
Software Engineering Methodology
Chapter 3.0
Planning Stage
Table of Contents
Chapter Page
3.0 Planning Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.0-1
3.1 Analyze User Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-1
3.2 Define Project Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-1
3.3 Define Project Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-1
3.4 Develop High-Level Project Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-1
3.5 Establish Communication With Functional Areas . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-1
3.6 Determine Project Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-1
3.6.1 Investigate Software Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-3
3.6.2 Investigate Hardware Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-7
3.6.3 Formulate Platform Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-8
3.6.4 Conduct Feasibility Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-9
3.6.5 Conduct Analysis of Benefits and Costs . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-11
3.6.6 Conduct Feasibility Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-12
3.6.6.1 Analyze the alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-14
3.6.6.2 Determine feasibility recommendations . . . . . . . . . . . . . . . . . 3.6-15
3.6.6.3 Develop feasibility study document . . . . . . . . . . . . . . . . . . . . 3.6-16
3.7 Develop Project Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-1
3.8 Develop Software Quality Assurance Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-1
3.9 Conduct In-Stage Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-1
3.10 Conduct Planning Stage Exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-1
DOE G 200.1-1 Planning Stage
5-21-97 Chapter 3.0
Date: March 1996 Planning Stage Page
Rev Date: 3.0-1
Chapter: 3.0
Planning Stage
Description: This is the first stage in the lifecycle of a software engineering project. In this
stage, the users' environment is analyzed, the project objectives and scope are
defined, the high-level requirements are estimated, the feasibility of the project is
determined, and the initial Project Plan is developed and approved.
This stage is initiated when a project manager/team responds to a DOE-approved
task assignment with a Management Plan and related materials. The preparation
of the Management Plan and related materials involves several critical planning
issues such as the identification of preliminary requirements; staff, schedule, and
cost estimates; and potential risks associated with the project. This information is
reviewed in the Planning Stage and forms the foundation for all subsequent
planning activities.
Section 2
During this stage, the system owner and users are interviewed to: identify their
business needs and expectations for the product; gain a common understanding of
the task assignment; and determine how the project supports the DOE and
organizational missions and long-range information resource management plans.
The system owner is the organizational unit that is funding the project, and users
are the DOE employees and contractors who will use the product.
In this stage, the project team should be focused on identifying what the project
will automate, and whether developing an automated solution makes sense from
business, cost, and technical perspectives. If the project is feasible, time, cost,
and resource estimates must be formulated for the project, and risk factors must
be assessed. It is important for the project team to work closely with
representatives from all functional areas that will be involved in providing
resources, information, or support services for the project. The information
gathered in this stage is used to plan and manage the project throughout its
lifecycle.
Input: The following items provide input to this stage.
Task Assignment (Statement of Work)
Management Plan and related materials
DOE G 200.1-1 Planning Stage
5-21-97 Chapter 3.0
Date: March 1996 Planning Stage Page
Rev Date: 3.0-2
High-Level
Activities: The remainder of this chapter is divided into sections that describe specific high-
level activities performed during this stage. These activities represent the
minimum requirements for a large software engineering effort. Notes are
provided, as applicable, to assist in customizing these lifecycle stage requirements
to accommodate different sizes of software engineering efforts. The high-level
activities are presented in the sections listed below.
3.1 Analyze User Environment
3.2 Define Project Objectives
3.3 Define Project Scope
3.4 Develop High-Level Project Requirements
3.5 Establish Communications With Functional Areas
3.6 Determine Project Feasibility
3.7 Develop Project Plan
3.8 Develop Software Quality Assurance Plan
3.9 Conduct In-Stage Assessment
3.10 Conduct Planning Stage Exit
Output: Several work products are developed during this stage. The work products listed
below are the minimum requirements for a large software project. Deviations in
the content and delivery of these work products are determined by the size and
complexity of a project. Explanations of the work products are provided under
the applicable activities described in the remainder of this chapter.
Project File
Description of user environment
Statement of project objectives
Statement of project scope
Statement of high-level project requirements
Functional area contact list and project profile
Summary of platform options
Statement of project feasibility
Analysis of Benefits and Costs Report
Feasibility Study Document
Project Plan
Software Quality Assurance Plan
A matrix showing the work products associated with each high-level activity is
provided in Exhibit 3.0-1, Planning Stage Activities and Work Products by
Project Size. The matrix also shows which work products are deliverables and
whether they are required or optional for small, medium, and large projects.
DOE G 200.1-1 Planning Stage
5-21-97 Chapter 3.0
Date: March 1996 Planning Stage Page
Rev Date: 3.0-3
Section 3
Review Process: Structured walkthroughs are necessary during this stage to validate work
products. The activities that are appropriate for structured walkthroughs are
identified throughout the chapter. The time and resources needed to conduct the
walkthroughs should be reflected in the project resources, schedule, and work
breakdown structure.
Reference: Appendix C, Conducting Structured Walkthroughs, provides a procedure and
sample forms that can be used for structured walkthroughs.
Bibliography: The following materials were used in the preparation of the Planning Stage
chapter.
1. The Institute of Electrical and Electronics Engineers, Inc., IEEE Standard for
Developing Software Life Cycle Processes, IEEE Std 1074-1991, New York, 1992.
2. U.S. Department of Energy, Analysis of Benefits and Costs (ABC's) Guideline: Volume
1, A Manager's Guide to Analysis of Benefits and Costs, DOE/MA-0342, June 1988.
3. U.S. Department of Energy, Analysis of Benefits and Costs (ABC's) Guideline: Volume
2, An Analyst's Handbook for Analysis of Benefits and Costs, DOE/MA-0343, June
1988.
4. U.S. Department of Energy, Software Management Guide, DOE/AD-0028, 1992.
5. U.S. Department of Energy, DOE/NV Software Management Plan, Nevada Operations
Office, May 1991.
DOE G 200.1-1 Planning Stage
5-21-97 Chapter 3.0
Exhibit 3.0-1. Planning Stage Activities and Work Products by Project Size
Size: L = Large Minimum Requirements: R = Required I = Input to other deliverables
M = Medium A = As Appropriate = Completed by reviewer1
S = Small N = Not Applicable
Date: March 1996 Planning Stage Page
Rev Date: 3.0-4
Work Activity Size Work Product Deliverables
Project Scheduled
L M S L M S
3.1 Analyze User Environment R R R Description of user environment I I I
Project File N N N
3.2 Define Project Objectives R R R Statement of project objectives I I I
3.3 Define Project Scope R R R Statement of project scope I I I
3.4 Develop High-Level Project Requirements R R R Statement of high-level requirements I I I
3.5 Establish Communication With Functional Areas R R A Functional area contact list and project profile N N N
3.6 Determine Project Feasibility R R R Summary of platform options I I A
Statement of feasibility R R A
Analysis of Benefits and Costs Report A A A
Feasibility Study Document A A A
3.7 Develop Project Plan R R A Project Plan R R A
3.8 Develop Software Quality Assurance Plan R R R Software Quality Assurance Plan R R R
3.9 Conduct In-Stage Assessment R R A ISA Report Form N N N1
3.1 Conduct Planning Stage Exit R R A Stage Exit Meeting Summary N N N
DOE G 200.1-1 Planning Stage
5-21-97 3.1 Analyze User Environment
Date: March 1996 Planning Stage Page
Rev Date: 3.1-1
Activity: 3.1
Analyze User Environment
Responsibility: Project Manager/Team
Description: A thorough understanding of the current users' environment is necessary to define
the objectives, scope, and high-level requirements of the project. Analyze the
users' manual procedures or automated processes to understand what users do,
how they do it, and what improvements are desired or needed. This includes
gaining an understanding of the functions performed, identifying information
flows within the processes, and listing process inputs and outputs.
Use appropriate data collection techniques such as user surveys, interviews, and
document inspections to gather data and analyze the user environment.
Section 4
Types of
Information: The following list provides samples of the type of information that should be
considered.
Mission - Describe the mission of the primary user organization(s) and
how the organizational mission fits into the Departmental mission and
strategic plans.
Work Processes - Analyze the work processes or tasks that are performed
by the users. Identify the relationships and priority of the processes.
Workload - Describe the volume of work currently being performed. For
automated processes include processing time for batch operations,
response times, peak number of simultaneous users of interactive systems,
and number of transactions.
Processing/Data Flow - Analyze the major processing/data flow for the
work processes. Include the flow of data between different user groups,
manual and automated processes, and different user sites.
Integration/Interfaces - Identify interactions and interfaces that the users'
current automated systems share with other automated systems.
Users - Identify the skill levels and number of personnel at both
Headquarters and field sites who operate, maintain, and use current
manual procedures or automated processes.
Types of
Information,
DOE G 200.1-1 Planning Stage
5-21-97 3.1 Analyze User Environment
Date: March 1996 Planning Stage Page
Rev Date: 3.1-2
continued: Costs - Itemize costs incurred in operating the users' current manual or
automated systems.
Equipment - Identify equipment used in the current manual or automated
systems and relate equipment to the function it supports in the systems.
Software - Identify software packages that are being used.
Work Products: A substantial amount of information that may be useful in later stages in the
software engineering process is gathered during the Planning Stage. Create a
centrally maintained Project File that can be used as the repository for all project
information gathered during the Planning Stage and for all work products
developed throughout the project lifecycle. The Project Manager should verify
that all pertinent project information and documentation are placed in the Project
File on a timely basis.
Develop a description of the user environment and place a copy in the Project
File. The description will be incorporated into future work products such as the
Project Plan and the Requirements Specifications.
DOE G 200.1-1 Planning Stage
5-21-97 3.2 Define Project Objectives
Date: March 1996 Planning Stage Page
Rev Date: 3.2-1
Activity: 3.2
Define Project Objectives
Responsibility: Project Manager/Team
Description: Use the information gathered during the analysis of the current user environment
to define the objectives of the project. The objectives should identify what the
project is intended to accomplish and why it is being undertaken (e.g., to resolve
problems or to satisfy statutory requirements). Include a description of any
deficiencies in the current manual and automated processes, the severity and
impact of any problems, and the solutions and benefits that will result from
implementing the project. The objectives should be identified in measurable
terms.
Sample Questions: The following list provides sample questions that can be used to help define the
project objectives. Even though the users' answers to some questions might be
tentative, partial answers will be useful at this stage of the lifecycle. These
questions can be revisited during the Requirements Definition Stage to help
develop the project requirements.
Section 5
What is the general intent of the product?
What organizational or Departmental functions will the product support?
What are the major functional components of the product?
Will the product produce any files or reports or provide data for other
Government agencies, organizations, applications?
Will the product use any data, files, or reports generated by other
Government agencies, organizations, applications?
What Departmental mission(s) will the product support?
What Departmental strategic goal(s) will the product support?
Will the product be aligned with the Departmental IRM plans?
Will the product satisfy statutory or regulatory requirements?
What are the anticipated benefits of the product?
DOE G 200.1-1 Planning Stage
5-21-97 3.2 Define Project Objectives
Date: March 1996 Planning Stage Page
Rev Date: 3.2-2
Work Product: Develop a formal statement of project objectives. This statement will be
incorporated into the Project Plan. If a feasibility study is conducted, the
statement of project objectives should be included in the Feasibility Study
Document. Place a copy of the project objectives in the Project File.
Sample Statement
of Project
Objectives: The Human Resources organization needs a reliable means for tracking
information about all of the personnel for whom it is responsible. This will be
accomplished with the development of a new automated administrative
information application called the Human Resources Information System (HRIS).
The high-level objectives of the HRIS project are to develop an application that
will:
Provide a central local area network repository for personnel data.
Ensure accuracy and timeliness of all personnel data.
Enable access to the data by the Human Resources staff as well as
Training, Salary Administration, and other organizations as required.
Generate a series of basic reports.
Provide the capability to produce ad hoc reports in the event existing
reports do not satisfy the users' reporting requirements.
DOE G 200.1-1 Planning Stage
5-21-97 3.3 Define Project Scope
Date: March 1996 Planning Stage Page
Rev Date: 3.3-1
Activity: 3.3
Define Project Scope
Responsibility: Project Manager/Team
Description: The project scope details what user processes, organizations, and functions will
be affected by the product. It also identifies the anticipated changes to current
automated and manual processes. A thorough understanding of the scope of the
project is necessary to determine whether the project is feasible. The scope may
need to be downsized to remain feasible within the constraints of resources,
budget, and time negotiated with the system owner.
Sample Questions: The following list provides sample questions that can be used to help determine
the project scope. Even though the users' answers to some questions might be
tentative, partial answers will be useful at this stage of the lifecycle.
How many Government/contractor employees will use the product?
What are the locations of the employees who will use the product?
What tasks will be performed using the product?
What will be the operating schedule for the product?
How many and what types of reports will be needed?
How and when will reports be distributed? Who receives the reports?
What query capabilities are needed?
Are major changes in requirements anticipated in the next few years?
Are major changes in level of use anticipated in the next few years?
What is the estimated life expectancy of the product?
Section 6
What are the security requirements for the product?
Will the product be mission-essential to DOE or mission-critical for the
system owner?
Will the product contain vital records?
DOE G 200.1-1 Planning Stage
5-21-97 3.3 Define Project Scope
Date: March 1996 Planning Stage Page
Rev Date: 3.3-2
Sample Questions,
continued: What are the disaster recovery requirements for the product?
Will the product require telecommunications?
Work Product: Develop a formal statement of project scope. This statement will be incorporated
into the Project Plan. If a feasibility study is conducted, the statement of project
scope should be included in the Feasibility Study Document. Place a copy of the
project scope in the Project File.
Sample Statement
of Project Scope: Once personnel information is stored on the local area network, the HRIS
application can be used as the reliable source of personnel information for all
other Human Resources administrative systems.
The use of HRIS by other systems is dependent on the implementation of a
client/server environment. This is outside the scope of the HRIS project.
It is outside the scope of HRIS to make electronic feeds to the PERSONA system.
The PERSONA and EXMIS extract programs will have to be modified to extract
historical information.
Once the HRIS data base is established, EXPATS will need to be redesigned to
utilize the HRIS personnel data. Any redesign of EXPATS is outside the scope of
the HRIS project.
Users requiring Windows installation or training will be identified; however, the
actual installation and training is outside the scope of the HRIS project.
DOE G 200.1-1 Planning Stage
5-21-97 3.4 Develop High-Level Project Requirements
Date: March 1996 Planning Stage Page
Rev Date: 3.4-1
Activity: 3.4
Develop High-Level Project Requirements
Responsibility: Project Manager/Team
Description: High-level requirements should be of sufficient detail to make a preliminary
determination about the feasibility of the project, to estimate the resources that
are needed, to assess hardware and software requirements, and to estimate the
need for equipment or software training.
The current and anticipated needs of all user groups must be identified. Users in
different organizational units or geographic locations may have diverse or unique
requirements that must be incorporated into the project requirements.
Sample
Requirements: Organize high-level project requirements into categories of related data. The
following list provides samples of the types of data that should be considered.
Inputs - Identify source documents and data that will be used as input to
the processes. Provide descriptive information about data such as the
type, volume, condition (e.g., edited or unedited), organization, and
frequency. Include inputs such as records or batch files from other
systems that will be downloaded or migrated.
Outputs - Identify outputs such as reports, display screens, documents, and
data files.
Data bases - Estimate the high-level contents, purpose, use, format,
organization, and update frequency of data bases that will be used by the
product. Identify other existing or planned data bases that would interface
with the product as a provider or recipient of information.
Processing/Data Flow - Describe the major processing/data flow for the
product. Include flow of data from the product to other systems and vice
versa.
Section 7
Data Communications - Estimate the major data communications
resources required to support the product. Include requirements for
networks, dial-up access, and other communication configurations to
support data access and retrieval requirements.
Sample
DOE G 200.1-1 Planning Stage
5-21-97 3.4 Develop High-Level Project Requirements
Date: March 1996 Planning Stage Page
Rev Date: 3.4-2
Requirements,
continued: Interfaces - Identify any systems with which the product must interface.
Describe factors that may impact the design of the product.
Security, Privacy, and Control - State requirements for ensuring the
integrity of the data, for safeguarding against unauthorized access to the
data bases, and for other user access controls.
Training - Identify the type of training required to ensure efficient
operation of the software product. Provide estimates of the number of
personnel to be trained by type and frequency of training.
Workload - Estimate the volume of work to be handled at slow, normal,
and peak periods. Identify dates associated with each period. Include
processing time for batch systems, response times, peak number of
simultaneous users of interactive systems, and number of transactions.
Costs - Estimate initial development costs and expected operating cost
savings over the expected lifetime of the software product.
Equipment - Estimate new equipment that might need to be acquired or
manufactured and current equipment that would continue to be used.
Software - Estimate software and firmware packages that might need to be
acquired and any updates needed for existing software.
Work Product: Develop a formal statement of the high-level project requirements. This
statement will be incorporated into the Project Plan. If a feasibility study is
conducted, the statement of requirements should be included in the Feasibility
Study Document. The high-level requirements will serve as the foundation for
the software requirements developed during the Requirements Definition Stage.
Place a copy of the high-level requirements in the Project File.
Reference: The system owner organization's information resource management long-range
plan provides useful planning information for consideration when developing the
requirements.
DOE G 200.1-1 Planning Stage
5-21-97 3.4 Develop High-Level Project Requirements
Date: March 1996 Planning Stage Page
Rev Date: 3.4-3
Sample Statement of
High-Level
Requirements: The following are the high-level access requirements for the HRIS project.
Allow any user to access the application and enter an access request.
Have an interface to verify and maintain user information.
Design system to verify user access levels.
Allow for electronic authorizations for request verification.
Allow for the entry, query, and maintenance of application data based on
the user access levels.
Provide for the capture and tracking of request data for the following
request types:
- requesting initial computer access
- adding access levels to an existing logon identification code
- reinstating a suspended computer access
- deleting an existing computer access
- suspending an existing computer access
Provide for the entry, query, and maintenance of the following
information:
- computer systems
- applications
- user logon identification codes
Allow users to view and maintain their own address information
Provide a means for the system owner and security officers to review and
change current user access information
Section 8
DOE G 200.1-1 Planning Stage
5-21-97 3.5 Establish Communication With Functional Areas
Date: March 1996 Planning Stage Page
Rev Date: 3.5-1
Activity: 3.5
Establish Communication With Functional Areas
Responsibility: Project Manager
Description: Early contact with the functional areas that will provide input to, or support for,
the project is necessary for developing accurate estimates of the project scope,
cost, resources, and schedule. Representatives of these functional areas should be
involved in all stages of the project lifecycle and are participants in the Stage Exit
process.
Develop a brief profile about the software project. Provide enough information
so that the points-of-contact in each functional area will be able to estimate
support requirements and resource allocations for the project. A sample project
profile form is provided at the end of this section.
Develop a list of all functional areas and points-of-contact who will provide input
to, or support the project. Send each point-of-contact the project profile and
request input from all recipients.
Note: This activity is not necessary for small software engineering projects that do not
require input from other functional areas.
Work Products: Place a copy of the project profile in the Project File. Update the project profile
as needed to maintain an accurate description of the software product.
Keep the list of functional area contacts current and maintain a copy in the Project
File. Use this list as the starting point when functional areas need to be contacted
about involvement in project activities such as Stage Exits.
Software Project Profile
Software Name/Identification: Acronym:
Contract Number: Task Number:
Project Manager: Telephone: E-mail Address:
DOE Organization: POC: Telephone:
Size of effort (as defined by Software Engineering Methodology): Large Medium Small
Purpose and scope of software product:
1. Software processing platform(s) (check all that apply)
Mainframe Minicomputer LAN Server:
Microcomputer Type: IBM compatible Macintosh Other: (specify)
2. The software will run under the following operating environments (check all that apply)
VM DOS Windows Novell
MVS OS/2 Windows N/T Unix
CICS Macintosh Windows 95 Sun
Other (specify)
3. The software will support the following printers (check all that apply)
Workstation printer LAN-shared Mainframe/minicomputer addressable
4. The following programming languages(s), data base management system, or file system are being considered.
Programming Language:
Data Base Management System:
File System:
(more)
5. The software will interface with the following software or data sources (sharing, receiving, or sending data).
6. The following mechanisms are planned for providing these interfaces (e.g., Internet, TCP/IP, LAN).
7. The users of the software are at the following locations (check all that apply)
DOE Headquarters DOE Operations Office National Lab
Other (specify):
8. Software/Data Sensitivity: Classified Unclassified Sensitive Unclassified
9. The data is critical to the mission of the organization.
Yes No
Section 9
10. The data is essential to the mission of DOE and must be available at all times.
Yes No
11. The following training support services are anticipated to develop and install the software product.
Consultation Classroom Self-Study Computer-Based
12. The following documentation support services are anticipated to complete the project.
Writing Editing Graphics Production
Additional comments:
Planning Stage DOE G 200.1-1
3.6 Determine Project Feasibility5-21-97
Date: March 1996 Planning Stage Page
Rev Date: 3.6-1
Activity: 3.6
Determine Project Feasibility
Responsibility: Project Manager/Team
Description: In this stage, the feasibility of successfully developing and implementing the
project is determined. Project feasibility leads to a "go" or "no go" decision about
the project. Determining project feasibility is an interactive process of collecting
and analyzing data and searching for cost-effective, viable technical solutions.
Use the project objectives, scope, and high-level requirements as the basis for
determining project feasibility. Work with the user organization and functional
area representatives to address technical issues and risks. Conduct research and
investigate documents and other resources.
Note: Feasibility may not be an issue for some small software development projects. A
Feasibility Review is not required when feasibility is obvious.
Sample
Questions: The following is a list of sample questions that can be used to help determine the
feasibility of a project.
Can the users needs/problems best be satisfied with a manual process,
automated process, or combination?
Is it cost-effective to develop an automated process?
Is the scope of the project feasible within time, resource, and hardware
and software constraints and limitations?
Is there at least one technically feasible automated solution for the
project?
- If a project is well defined and has no automation issues, a single
straightforward automated solution may sufficiently demonstrate
cost and technical feasibility.
- Where automation issues have been identified, technical
alternatives should be associated with each proposed solution.
Planning Stage DOE G 200.1-1
3.6 Determine Project Feasibility5-21-97
Date: March 1996 Planning Stage Page
Rev Date: 3.6-2
Tasks: The following tasks are involved in determining project feasibility.
3.6.1 Investigate Software Alternatives
3.6.2 Investigate Hardware Alternatives
3.6.3 Formulate Platform Options
3.6.4 Conduct Feasibility Review
3.6.5 Conduct Analysis of Benefits and Costs
3.6.6 Conduct Feasibility Study
Planning Stage DOE G 200.1-1
3.6 Determine Project Feasibility5-21-97
Date: March 1996 Planning Stage Page
Rev Date: 3.6-3
Task: 3.6.1
Investigate Software Alternatives
Description: When the software to be used for the project has not been predetermined by the
system owner's existing computing environment, software available within the
Department and the commercial marketplace should be investigated. In the
Planning Stage, the investigation of software alternatives is geared to determining
project feasibility.
Unless the cost effectiveness of developing custom-built software to meet mission
needs is clear and documented, all sources of reusable code, applications, and
commercial off-the-shelf software must be investigated on a site and
Departmentwide basis prior to making a decision to custom-build code for the
project. This practice ensures the most cost-effective and efficient use of
resources, and will decrease the number of duplicative and overlapping software
systems. The choice to develop a customized application should be balanced
against the availability of other solutions; and the project cost, resources, and time
constraints.
Section 10
Software
Alternatives: Information on software products or modules can be obtained by notifying field
sites, DOE Headquarters, other Government agencies, and private industry via
Internet. The following is a list of software alternatives that should be
considered.
Adapt existing software in use within the Department.
Adapt existing software in use within other Government agencies.
Adapt mainframe or minicomputer source code obtained from
Departmental Computer Center repositories.
Purchase commercial off-the-shelf software.
Reuse existing modules of code.
Adapt reusable code to fit the new application.
Develop a custom-built software product.
Exhibit 3.6-1, Checklist for Investigating Software Alternatives, provides a
checklist for investigating existing software resources.
Planning Stage DOE G 200.1-1
3.6 Determine Project Feasibility5-21-97
Date: March 1996 Planning Stage Page
Rev Date: 3.6-4
Note: Medium and small software engineering efforts are often restricted to the system
owner's existing software. This should not preclude the potential cost savings of
reengineering existing software modules rather than custom building the entire
software system.
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Date: March 1996 Planning Stage Page
Rev Date: 3.6-5
Exhibit 3.6-1. Checklist for Investigating Software Alternatives
Software Resource Contact Special Considerations
Review Headquarters software repositories If the requirements are met by reusable software obtained from
including: MASL, SRIS, or SASREPS, then adapting that software may
-Microcomputer and local area network -MASL similar to the target application, was developed to standards,
applications in the Microcomputer Application Coordinator and includes documentation, this can be a very attractive
Systems Library (MASL) alternative to a custom-built application. Reusable code may be
-Applications in the Systems Review Inventory -Administrative
System (SRIS) Computer Center
SRIS listing on HR-
01 LAN
provide the best solution. If the source application is very
customized to meet specific requirements.
Review field site software repositories Field site repository
owner/coordinator
Review the Department of Commerce MASL Coordinator
Interagency Survey of Administrative Systems at DOE
Reporting System (SASREPS) Headquarters
Contact other project teams working on similar Project managers
projects
Exhibit 3.6-1. Checklist for Investigating Software Alternatives
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Software Resource Contact Special Considerations
Date: March 1996 Planning Stage Page
Rev Date: 3.6-6
Investigate off-the-shelf commercial software Software vendors Request and evaluate vendor-supplied demonstrations of
software products that may satisfy project requirements.
Commercial software may offer a macro language or program
code that can be modified by the developer, which can
significantly decrease development time.
Some disadvantages to commercial software include
procurement lead time, developer and user learning curves, and
interfaces with existing hardware and software.
Determine software libraries available for Mainframe software Reusable code can be either modules of code that are used as
particular software languages administrators written, or units of code that are reengineered to perform a
Section 11
Microcomputer development language are numerous, this alternative may be
software more attractive than modifying an application that will need
development groups considerable customization.
similar function. If the reusable tools for the particular
Reuse modules of code or software libraries Task leaders and Some software engineering teams develop modules of reusable
developed within your functional area other programmers code that are language specific and perform functions such as
screen formats, data validation, error-handling, data access, and
other frequently used routines. Once developed, tested, and
refined, these routines become reliable building blocks for the
rapid development of other applications.
Date: March 1996 Planning Stage Page
Rev Date: 3.6-7
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Task: 3.6.2
Investigate Hardware Alternatives
Description: When the hardware to be used for the project has not been predetermined by the
system owner's existing computing environment, investigate hardware available
within the Department and through the commercial marketplace. In the Planning
Stage, the investigation of hardware is geared to determining project feasibility.
Factors to
Consider: The following is a list of factors that should be considered when identifying
hardware alternatives.
Availability and cost of hardware
- Shareable hardware
- Government excess
- New procurement
Current and future telecommunications needs
Computer security requirements of the system
Volume of data
Importance of data to the Departmental mission
Importance of data to the user organization's mission and to job
performance
Potential growth of the software to serve more users
Potential growth of the software to serve more locations
Potential for interface to other systems or organizations
Conformance to Government standards such as networking and open
systems
Note: Medium and small software engineering efforts are often restricted to the system
owner's or user sites' existing hardware.
Task: 3.6.3
Formulate Platform Options
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Date: March 1996 Planning Stage Page
Rev Date: 3.6-8
Description: Use the information collected about software and hardware alternatives to
formulate preliminary platform options. The purpose of identifying platform
options early in the project lifecycle is to assure that at least one technically
feasible and cost-effective approach exists to satisfy the project objectives. If
more than one platform option is feasible, identify the benefits, costs,
assumptions, constraints, dependencies, and risks associated with each option.
No platform decisions are made at this time. Detailed technical solutions are
premature prior to defining the product requirements. The platform alternatives
information gathered in the Planning Stage is revisited in the Functional Design
Stage, at which time a final recommendation is developed by the project team and
presented to the system owner. The system owner is responsible for making the
final platform decision.
Work Product: Develop a summary of platform options for use in the Feasibility Review or
Feasibility Study. Place a copy of the platform option information in the Project
File.
Review Process: Conduct a structured walkthrough to ensure that the most viable platform options
have been identified.
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Section 12
Date: March 1996 Planning Stage Page
Rev Date: 3.6-9
Task: 3.6.4
Conduct Feasibility Review
Description: A Feasibility Review is an informal meeting to determine whether the software
project can be accomplished with the available resources, system owner and users'
computing environment, and technological constraints. The Feasibility Review
meeting also provides an opportunity for project management to obtain feedback
from other project managers and the functional area representatives who will be
providing input to, or supporting, the project throughout the lifecycle.
The project objectives, scope, high-level requirements, and preliminary platform
options should be shared with the review meeting participants prior to the
meeting date. The participants are expected to evaluate the project information
and risks, and make a recommendation about project feasibility.
Feasibility
Factors: The following are some typical factors that should be considered when
determining the feasibility of a project.
Project scope and objectives
Users' computing environment
High-level requirements
Assumptions, constraints, and limitations
Platform options
Security and recovery objectives
Risk factors
Technological factors
Available resources and budget
Future growth needs
Expected long-term benefits
Compliance with long-range information resource management plans
Recommendations: After all of the pertinent feasibility factors have been considered, the review
meeting participants should make one of the following recommendations:
Proceed with the project without performing a Feasibility Study
Prepare an Analysis of Benefits and Costs
Conduct a Feasibility Study, which includes an Analysis of Benefits and
Costs
Stop the project
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Date: March 1996 Planning Stage Page
Rev Date: 3.6-10
Work Products: Generate a record of the Feasibility Review meeting to serve as verification that
the review occurred, to record feasibility factors that were considered and the
recommendation(s) generated during the meeting, and to provide background
information if a Feasibility Study or Analysis of Benefits and Costs is required.
The project manager uses the recommendations from the Feasibility Review
meeting to develop a formal statement of feasibility. A typical statement of
feasibility is a short declaration describing whether or not it is feasible to develop
the project within the known constraints. When major risks are involved in the
feasibility decision, it may be necessary to expand the statement of feasibility to
describe the risk factors and their consequences.
Depending on the factors that must be considered for each project, the statement
of feasibility may contain the following information.
Project objectives
Summary of issues concerning:
- development and implementation
- assumptions, constraints, and limitations
- project scope
Results of research on hardware and software alternatives
Significant risk factors
Feasibility recommendation(s)
The project manager decides on the final recommendation and reports the
findings to the system owner for review and approval.
Sample Feasibility
Statement: The following is a sample feasibility statement for a low-risk project that would
use the hardware/software platform currently available within the users'
organization.
Section 13
The client organization, Project Management Officer, and project manager agree
that the XYZ project will be written in {programming language} and use
{operating system and/or DBMS} on {hardware configuration}, all of which are
currently in place and can easily absorb the impact of XYZ. This will be a
custom-built product since a search of software repositories did not reveal any
reusable or existing software that would satisfy the project requirements.
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Date: March 1996 Planning Stage Page
Rev Date: 3.6-11
Task: 3.6.5
Conduct Analysis of Benefits and Costs (as appropriate)
Description: An Analysis of Benefits and Costs (ABC) is a useful tool in any stage of the
software lifecycle. In the Planning Stage, the results of an ABC help to
determine the feasibility of a project and the return on investment. For example,
an ABC can be conducted to determine if changing the users' current business
processes or computing environment will improve efficiency or reduce overhead
expenditures enough to justify the cost of the project, and when the system owner
can expect to recoup the costs of the project in benefits.
An ABC is used to identify and compare the benefits and costs associated with all
of the hardware or software alternatives. Any advantage to a particular
alternative is considered a benefit, and any loss or penalty is considered a cost.
Costs can also include the purchase price of supplies, equipment, software,
personnel time or charge rate, and system downtime. The results of the ABC
indicate the most cost-effective alternative.
When a totally manual process is being automated, the benefits of automating the
process may be obvious. If the system owner has restricted the platform, then an
ABC can be an appropriate way to document these decisions and the benefits and
costs associated with the limitations.
When a Feasibility Study is performed, an ABC is a mandatory requirement of
the study. When a Feasibility Study is not performed, the ABC is an optional
process.
Work Product: Develop a report that describes the results of the ABC. When a Feasibility Study
is performed, the results of the ABC will be incorporated into the Feasibility
Study Document.
Review Process: An informal peer review or a structured walkthrough is recommended to validate
the ABC process used and the results obtained.
Reference: The following Department documents provide guidance on conducting an
Analysis of Benefits and Costs.
Analysis of Benefits and Costs (ABC's) Guideline: Volume 1, A
Manager's Guide to Analysis of Benefits and Costs
Analysis of Benefits and Costs (ABC's) Guideline: Volume 2, An
Analyst's Handbook for Analysis of Benefits and Costs
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Date: March 1996 Planning Stage Page
Rev Date: 3.6-12
Task: 3.6.6
Conduct Feasibility Study (as appropriate)
Description: When a project has decisions or issues that require a more detailed investigation
than is possible with a Feasibility Review or Analysis of Benefits and Costs, a
Feasibility Study must be performed to obtain the necessary information for
making an informed decision about project feasibility. An Analysis of Benefits
and Costs (ABC) is a required process in a Feasibility Study.
In cases where the platform is limited or restricted, the Feasibility Study may be
abbreviated to evaluate only the technical solutions for the areas that have some
flexibility.
Section 14
Use the information identified in the Feasibility Review and the Analysis of
Benefits and Costs as the basis for the Feasibility Study. Consider any
preliminary solutions that were formulated and identify the alternative ways to
resolve the problems or issues. Evaluate all of the available feasibility factors to
determine if the project is technically feasible and cost effective.
Sometimes a Feasibility Study for a similar project has already been conducted.
An existing Feasibility Study can be used if the information is current, relevant to
the new project, and technically correct.
The following are examples of cases where a Feasibility Study must be
performed.
There is uncertainty or disagreement on the boundaries of the project.
There is uncertainty over the cost justification or technical feasibility of a
project.
There is a lack of agreement about the goals or approach for building the
software product.
The proposed size or complexity of the software product indicates a high
degree of risk.
The software product will automate functions that currently are not being
performed either automatically or manually.
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Date: March 1996 Planning Stage Page
Rev Date: 3.6-13
Work Product: The results of the Feasibility Study are reported in a document that describes the
process that was used to determine feasibility, the alternatives that were
considered, and the results of the Analysis of Benefits and Costs. The Feasibility
Study results determine the feasibility recommendation for the project.
Subtasks: The following subtasks are involved in conducting and documenting a Feasibility
Study.
3.6.6.1 Analyze the alternatives
3.6.6.2 Determine feasibility recommendation
3.6.6.3 Develop feasibility study document
Note: New software products can be limited to the system owner's and users' existing
hardware and software environment, and may not require a Feasibility Study.
Review Process: An informal peer review or a structured walkthrough is recommended to validate
the Feasibility Study process used and the results obtained.
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Date: March 1996 Planning Stage Page
Rev Date: 3.6-14
Subtask: 3.6.6.1
Analyze the alternatives
Description: Alternatives for developing and implementing a project are derived from the
high-level project requirements, the results of the Feasibility Review and the
Analysis of Benefits and Costs, and the preliminary platform options. The
analysis of the alternatives forms the basis for determining project feasibility.
The analysis of the alternatives should consider the following types of
information.
The ability of each alternative to achieve the project objectives.
The ability of each alternative to meet the users' requirements and
expectations.
How well each alternative accommodates the system owner's current
processes and resources.
How cost-effective and technically feasible each alternative is compared
to the existing automated or manual process.
How well each alternative fits with the hardware and software limitations
imposed by the system owner.
Analysis of the alternatives may include the following activities.
Research current computer industry periodicals to obtain articles and
reviews about software and hardware alternatives.
Interview software and hardware vendors to obtain up-to-date information
about product releases and future upgrades, capabilities, vendor support,
developer training, product demonstrations, multiuser license
arrangements, current users, and costs.
Section 15
Interview current users of the product to obtain information about user
satisfaction, ease-of-use, satisfaction of user expectations, productivity,
and product limitations.
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Date: March 1996 Planning Stage Page
Rev Date: 3.6-15
Subtask: 3.6.6.2
Determine feasibility recommendations
Description: The results of the Feasibility Study are used to determine project feasibility. The
feasibility recommendations must be substantiated by the results of the Analysis
of Benefits and Costs (ABC).
The feasibility recommendations should include the following types of
information.
The recommended alternative for each of the project automation issues.
The feasibility to develop the project.
The most technically sound alternative with the most long-range benefits
to the Department.
The most cost-effective configuration for the project based on the ABC.
The estimated total lifecycle costs based on the recommended technical
solution and the ABC.
DOE G 200.1-1 Planning Stage
5-21-97 3.6 Determine Project Feasibility
Date: March 1996 Planning Stage Page
Rev Date: 3.6-16
Subtask: 3.6.6.3
Develop feasibility study document
Description: The Feasibility Study Document provides the following types of information.
The process that was used to determine project feasibility.
The alternative approaches that were analyzed for achieving the project
objectives.
The results of the Analysis of Benefits and Costs.
The recommendations for a specific approach to meet the system owners'
and users' project objectives, automation needs, and expectations.
Work Product: The Feasibility Study Document should contain enough information to enable the
system owner to make a decision to either continue or terminate the project.
Review Process: An informal peer review or a structured walkthrough is recommended to validate
the Feasibility Study Document and feasibility recommendations.
The completion of the Feasibility Study is an appropriate time to schedule an In-
Stage Assessment (ISA). The In-Stage Assessment Process Guide provides a
description and instructions for conducting an ISA. A copy of the guide is
provided in Appendix D.
DOE G 200.1-1 Planning Stage
5-21-97 3.7 Develop Project Plan
Date: March 1996 Planning Stage Page
Rev Date: 3.7-1
Activity: 3.7
Develop Project Plan
Responsibility: Project Manager
Description: The purpose of the Project Plan is to establish reasonable plans for performing the
software engineering activities and for managing and tracking the software
project. The following project management activities must be performed before a
Project Plan document is developed.
Define the management approach for the project including project
tracking and oversight activities
Formulate the technical approach for the project
Develop the project estimates
Establish the project development team
The results of these project management activities and the lifecycle activities
described in this volume will provide input for the Project Plan.
Note: A Project Plan is an effective management tool that is recommended for all
projects regardless of size. The plan can be consolidated for small projects.
Section 16
Work Product: Develop a Project Plan that provides detail for the Planning and Requirements
Definition Stages and high-level information for the other lifecycle stages. At the
conclusion of each stage, the Project Plan will be reviewed to determine if the
project estimates for resources, cost, and schedule need to be revised for either the
current stage or subsequent stages. In addition, the Project Plan will be expanded
to provide detailed estimates of resources, costs, and hours for the next stage. A
Project Plan Example document template is accessible online to use as a guide in
developing the Project Plan. Project models containing lifecycle stages and
deliverables that can be used as is or tailored for any software development or
maintenance project are accessible online. The files can be downloaded for use
with Microsoft Project.
Review Process: Conduct a structured walkthrough to ensure that the Project Plan reflects the
project objectives and scope; identifies and mitigates project risks, and adequately
estimates the project resources, costs, and schedule.
DOE G 200.1-1 Planning Stage
5-21-97 3.8 Develop Software Quality Assurance Plan
Date: March 1996 Planning Stage Page
Rev Date: 3.8-1
Activity: 3.8
Develop Software Quality Assurance Plan
Responsibility: Project Manager and Quality Assurance Manager
Description: The purpose of quality assurance is to assure the production and operation of high
quality products on schedule, within budget, and within the constraints specified
by the system owner and user. The software quality assurance program is
initiated at the beginning of a project and is conducted throughout the software
engineering lifecycle. The software quality assurance program is the joint
responsibility of the project manager and quality assurance manager with direct
support and involvement from the quality assurance practitioners assigned to the
project.
Work Product: The quality assurance manager or designated representative assists the project
manager with the development of a plan that clearly defines the project's quality
assurance policies and procedures. The Software Quality Assurance Plan
addresses the following types of responsibilities.
Establishing the applicability of published standards and procedures and
determining the scope of the project standards and procedures.
Monitoring the software product and enforcement of compliance with all
standards and procedures to facilitate the early detection of problems that
could affect the reliability, maintainability, availability, integrity, safety,
security, or usability of the software product.
Inspecting hardware and software items and documenting for compliance
to specifications and standards before their release to the test team or the
system owner.
Certifying deliverable items before their release to the system owner as
compliant with all provisions of the project statement of work and
contract, if applicable.
Coordinating the project's technical problem reporting system and
corrective action program to assure resolution of observed discrepancies.
Measuring the quantitative and auditable progress of the project based on
cost, schedule status, and quality status.
DOE G 200.1-1 Planning Stage
5-21-97 3.8 Develop Software Quality Assurance Plan
Date: March 1996 Planning Stage Page
Rev Date: 3.8-2
Work Product,
continued: Assuring consistent management and technical practices and the integrity
of the software product.
Section 17
Provide enough information in the plan so that compliance can be monitored by
means of project records. Whenever feasible, acquire automated tools to check
compliance with project standards. For example, many CASE (computer-aided
software engineering) tools can check compliance with standards, while checking
the validity and consistency of requirements, design, and logic diagrams.
Review Process: Conduct a structured walkthrough to validate that the quality assurance policies
and procedures are appropriate and adequate for the project.
DOE G 200.1-1 Planning Stage
5-21-97 3.9 Conduct In-Stage Assessment
Date: March 1996 Planning Stage Page
Rev Date: 3.9-1
Activity: 3.9
Conduct In-Stage Assessment
Responsibility: Project Manager and Independent Reviewer
Description: An In-Stage Assessment (ISA) is an independent review of the work products and
deliverables developed or revised during each stage of the project lifecycle. The
independent reviewer is typically a member of the Quality Assurance Team who
is assigned to the software project and conducts all of the ISAs for the project.
An ISA does not require meetings with, or extra work by, the project team. All
of the work products and deliverables needed for the review should be readily
available in the Project File.
Schedule at least one ISA prior to the Planning Stage Exit process. Additional
ISAs can be performed during the stage, as appropriate. An ISA is recommended
after the completion of the Feasibility Study.
Provide the reviewer with copies of all work products developed or revised
during the Planning Stage including the Project Plan. The reviewer assesses the
work products and deliverables to verify the following:
The project is complying with the site's software engineering
standards/best practices.
Sound project management practices are being used.
The project risks are identified and mitigated.
A description of the ISA process and the ISA report form are provided in the In-
Stage Assessment Process Guide. A copy of the guide is provided in Appendix
D.
Note: An ISA is an effective project management tool that is recommended for all
projects regardless of size.
Work Product: An ISA report form is prepared by the independent reviewer and is used to
identify open issues that need to be resolved in this stage. The report is delivered
to the project manager and a copy should be placed in the Project File.
Planning StageDOE G 200.1-1
3.10 Conduct Planning Stage Exit5-21-97
Date: March 1996 Planning Stage Page
Rev Date: 3.10-1
Activity: 3.10
Conduct Planning Stage Exit
Responsibility: Project Manager
Description: The Stage Exit is a process for ensuring that projects are on target, within budget,
on schedule, and meet the DOE and project standards identified in the Project
Plan. The goal of a Stage Exit is to secure the approval of designated key
individuals to continue with the project and to move forward into the next
lifecycle stage.
Schedule the Stage Exit as the last activity of the Planning Stage. It is the
responsibility of the project manager to notify the appropriate participants when a
project is ready for the Stage Exit process and to schedule the Stage Exit meeting.
All functional areas and the Quality Assurance representative involved with the
project should receive copies of the work products and deliverables produced in
this stage.
Section 18
During the Stage Exit meeting, participants discuss open issues that will impact
the Project Plan. The project manager should ensure that an acceptable action
plan is developed for handling all open issues. At the conclusion of the meeting,
concurrence is needed from the designated approvers to begin the next stage.
A description of the Stage Exit process is provided in the Stage Exit Process
Guide. A copy of the guide is provided in Appendix E.
Note: A Stage Exit is an effective project management tool that is recommended for all
software projects regardless of size. For small software projects, stages can be
combined and addressed during one Stage Exit.
Work Product: A summary of the Stage Exit meeting is prepared by the project manager or a
designee and distributed to the meeting attendees. The summary identifies any
issues and action items needed to obtain concurrence prior to proceeding to the
Requirements Definition Stage.