Software Development Lifecycle Phases Description
Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.
The SDLC includes ten phases during which defined IT work products are created or modified. The tenth phase occurs when the system is disposed of and the task performed is either eliminated or transferred to other systems. The tasks and work products for each phase are described below. Not every project will require that the phases be sequentially executed. However, the phases are interdependent.
1 Initiation Phase
The Initiation Phase begins when management determines that it is necessary to enhance a business process through the application of information technology. The purposes of the Initiation Phase are to:
- Identify and validate an opportunity to improve business accomplishments of the organization or a deficiency related to a business need,
- Identify significant assumptions and constraints on solutions to that need, and
- Recommend the exploration of alternative concepts and methods to satisfy the need.
IT projects may be initiated as a result of business process improvement activities, changes in business functions, advances in information technology, or may arise from external sources, such as public law, the general public or state/local agencies. The Project Sponsor articulates this need within the organization to initiate the project life cycle. During this phase, a Project Manager is appointed who prepares a Statement of Need or Concept Proposal. When an opportunity to improve business/mission accomplishments or to address a deficiency is identified, the Project Manager documents these opportunities in the Concept Proposal.
1.1 ROLES AND RESPONSIBILITIES
- Sponsor. The Sponsor is the senior spokesperson for the project, and is responsible for ensuring that the needs and accomplishments within the business area are widely known and understood. The Sponsor is also responsible for ensuring that adequate resources to address their business area needs are made available in a timely manner.
- Project Manager. The appointed project manager is charged with leading the efforts to ensure that all business aspects of the process improvement effort are identified in the Concept Proposal. This includes establishing detailed project plans and schedules.
1.2 DELIVERABLES
- Concept Proposal - This is the need or opportunity to improve business functions. It identifies where strategic goals are not being met or mission performance needs to be improved.
2 System Concept Development
System Concept Development begins when the Concept Proposal has been formally approved and requires study and analysis that may lead to system development activities.
The review and approval of the Concept Proposal begins the formal studies and analysis of the need in the System Concept Development Phase and begins the life cycle of an identifiable project.
2.1 ROLES AND RESPONSIBILITIES
- Sponsor. The sponsor should provide direction and sufficient study resources to commence the System Concept Development Phase.
- Project Manager. The appointed project manager is charged with leading the efforts to accomplish the System Concept Development Phase tasks discussed above. The Project Manager is also responsible for reviewing the deliverables for accuracy, approving deliverables and providing status reports to management.
- Component Chief Information Officer (CIO) and Executive Review Board (ERB). The CIO/ERB approve the Systems Boundary Document. Approval allows the project to enter the Planning Phase.
2.2 DELIVERABLES
- System Boundary Document - Identifies the scope of a system (or capability). It should contain the high level requirements, benefits, business assumptions, and program costs and schedules. It records management decisions on the envisioned system early in its development and provides guidance on its achievement.
- Cost-Benefit Analysis - Provides cost or benefit information for analyzing and evaluating alternative solutions to a problem and for making decisions about initiating, as well as continuing, the development of information technology systems. The analysis should clearly indicate the cost to conform to the architectural standards in the Technical Reference Model (TRM).
- Feasibility Study - Provides an overview of a business requirement or opportunity and determines if feasible solutions exist before full life-cycle resources are committed.
- Risk Management Plan - Identifies project risks and specifies the plans to reduce or mitigate the risks.
3 Planing
Many of the plans essential to the success of the entire project are created in this phase; the created plans are then reviewed and updated throughout the remaining SDLC phases. In the Planning Phase, the concept is further developed to describe how the business will operate once the approved system is implemented and to assess how the system will impact employee and customer privacy. To ensure the products and/or services provide the required capability on-time and within budget, project resources, activities, schedules, tools, and reviews are defined. Additionally, security certification and accreditation activities begin with identification of system security requirements and the completion of a high-level vulnerability assessment.
3.1 ROLES AND RESPONSIBILITIES
- Project Manager. The project manager is responsible and accountable for the successful execution of the Planning Phase. The project manager is responsible for leading the team that accomplishes the tasks shown above. The project manager is also responsible for reviewing deliverables for accuracy, approving deliverables, and providing status reports to management.
- Project Team. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager.
- Contracting Officer. The contracting officer is responsible and accountable for the procurement activities and signs contract awards.
- Oversight Activities. Agency oversight activities, including the IRM office, provide advice and counsel to the project manager on the conduct and requirements of the planning effort. Additionally, oversight activities provide information, judgements, and recommendations to the agency decision makers during project reviews and in support of project decision milestones.
- Chief Information Officer/Executive Review Board. At an appropriate level within the agency or DOJ, an individual should be designated as the project decision authority (may or may not be the same individual designated as the sponsor in the previous phase). This individual should be charged with assessing: (1) the completeness of the planning phase activities, (2) the robustness of the plans for the next life-cycle phase, (3) the availability of resources to execute the next phase, and (4) the acceptability of the acquisition risk of entering the next phase. For applicable projects, this assessment also includes the readiness to award any major contracting efforts needed to execute the next phase. During the end of phase review process, the decision maker may (1) direct the project to move forward into the next life-cycle phase (including awarding contracts), (2) direct the project to remain in the Planning Phase pending completion of delayed activities or additional risk reduction efforts, or (3) terminate the project.
3.2 DELIVERABLES
- Acquisition Plan. This document shows how all government human resources, contractor support services, hardware, software and telecommunications capabilities are acquired during the life of the project. The plan is developed to help insure that needed resources can be obtained and are available when needed.
4 Requirements Analysis
The Requirements Analysis Phase will begin when the previous phase documentation has been approved or by management direction. Documentation related to user requirements from the Planning Phase shall be used as the basis for further user needs analysis and the development of detailed user requirements. The analysis may reveal new insights into the overall information systems requirements, and, in such instances, all deliverables should be revised to reflect this analysis.
During the Requirements Analysis Phase, the system shall be defined in more detail with regard to system inputs, processes, outputs, and interfaces. This definition process occurs at the functional level. The system shall be described in terms of the functions to be performed, not in terms of computer programs, files, and data streams. The emphasis in this phase is on determining what functions must be performed rather than how to perform those functions.
4.1 ROLES AND RESPONSIBILITIES
- Project Manager. The project manager is responsible and accountable for the successful execution of the Requirements Analysis Phase. The project manager is responsible for leading the team that accomplishes the tasks shown above. The Project Manager is also responsible for reviewing deliverables for accuracy, approving deliverables and providing status reports to managers.
- Technical Review Board. Formally established board that examines the functional requirements documented in the FRD for accuracy, completeness, clarity, attainability, and traceability to the high-level requirements identified in the Concept of Operations.
- Project Team. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager.
- Contracting Officer. The contracting officer is responsible and accountable for the procurement activities and signs contract awards.
- CIO/ERB. Agency oversight activities, including the Executive Review Board office, provide advice and counsel to the project manager on the conduct and requirements of the Requirements Analysis Phase effort. Additionally, oversight activities provide information, judgements, and recommendations to the agency decision makers during project reviews and in support of project decision milestones.
4.2 DELIVERABLES
-
Functional Requirements Document. Serves as the foundation for system design and development; captures user requirements to be implemented in a new or enhanced system; the systems subject matter experts document these requirements into the requirements traceability matrix, which shows mapping of each detailed functional requirement to its source. This is a complete, user oriented functional and data requirements for the system which must be defined, analyzed, and documented to ensure that user and system requirements have been collected and documented.
-
Test and Evaluation Master Plan. Ensures that all aspects of the system are adequately tested and can be implemented; documents the scope, content, methodology, sequence, management of, and responsibilities for test activities. Unit, integration, and independence acceptance testing activities are performed during the development phase. Unit and integration tests are performed under the direction of the project manager. Independence acceptance testing is performed independently from the developing team and is coordinated with the Quality Assurance (QA) office. Acceptance tests will be performed in a test environment that duplicates the production environment as much as possible. They will ensure that the requirements are defined in a manner that is verifiable. They will support the traceability of the requirements form the source documentation to the design documentation to the test documentation. They will also verify the proper implementation of the functional requirements. The types of test activities discussed in the subsequent sections are identified more specifically in the Integration and Test Phase of the life cycle and are included in the test plan and test analysis report.
- Unit/Module Testing
- Subsystem Integration Testing
- Independent Security Testing
- Functional Qualification Testing
- User Acceptance Testing
- Beta Testing
-
Interface Control Document The Interface Control Document (ICD) provides an outline for use in the specification of requirements imposed on one or more systems, subsystems configuration items or other system components to achieve one or more interfaces among these entities. Overall, an ICD can cover requirements for any number of interfaces between any number of systems.
5 Design
The objective of the Design Phase is to transform the detailed, defined requirements into complete, detailed specifications for the system to guide the work of the Development Phase. The decisions made in this phase address, in detail, how the system will meet the defined functional, physical, interface, and data requirements. Design Phase activities may be conducted in an iterative fashion, producing first a general system design that emphasizes the functional features of the system, then a more detailed system design that expands the general design by providing all the technical detail.
5.1 ROLES AND RESPONSIBILITIES
- Project Manager. The project manager is responsible and accountable for the successful execution of the Design Phase. The project manager is responsible for leading the team that accomplishes the tasks shown above. The Project Manager is also responsible for reviewing deliverables for accuracy, approving deliverables and providing status reports to management.
- Project Team. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager.
- Contracting Officer. The contracting officer is responsible and accountable for procurement activities and signs contract awards.
- Oversight Activities. Agency oversight activities, including the IRM office, provide advice and counsel to the project manager on the conduct and requirements of the Design Phase. Additionally, oversight activities provide information, judgements, and recommendations to the agency decision makers during project reviews and in support of project decision milestones.
5.2 DELIVERABLES
- Security Risk Assessment. The purpose of the risk assessment is to analyze threats to and vulnerabilities of a system to determine the risks (potential for losses), and using the analysis as a basis for identifying appropriate and cost-effective measures.
- Conversion Plan. The Conversion Plan describes the strategies involved in converting data from an existing system to another hardware or software environment. It is appropriate to re-examine the original system’s functional requirements for the condition of the system before conversion to determine if the original requirements are still valid.
- System Design Document. Describes the system requirements, operating environment, system and subsystem architecture, files and database design, input formats, output layouts, human-machine interface, detailed design, processing logic, and external interfaces. It is used in conjunction with the Functional Requirements Document (FRD), which is finalized in this phase, to provide a complete system specification of all user requirements for the system and reflects the user’s perspective of the system design. Includes all information required for the review and approval of the project development. The sections and subsections of the design document may be organized, rearranged, or repeated as necessary to reflect the best organization for a particular project.
- Implementation Plan. The Implementation Plan describes how the information system will be deployed and installed into an operational system. The plan contains an overview of the system, a brief description of the major tasks involved in the implementation, the overall resources needed to support the implementation effort (such as hardware, software, facilities, materials, and personnel), and any site-specific implementation requirements. This plan is updated during the Development Phase; the final version is provided in the Integration and Test Phase and used for guidance during the Implementation Phase.
- Maintenance Manual. The Maintenance Manual provides maintenance personnel with the information necessary to maintain the system effectively. The manual provides the definition of the software support environment, the roles and responsibilities of maintenance personnel, and the regular activities essential to the support and maintenance of program modules, job streams, and database structures. In addition to the items identified for inclusion in the Maintenance Manual, additional information may be provided to facilitate the maintenance and modification of the system. Appendices to document various maintenance procedures, standards, or other essential information may be added to this document as needed.
6 Development
The objective of the Development Phase will be to convert the deliverables of the Design Phase into a complete information system. Although much of the activity in the Development Phase addresses the computer programs that make up the system, this phase also puts in place the hardware, software, and communications environment for the system and other important elements of the overall system.
The activities of this phase translate the system design produced in the Design Phase into a working information system capable of addressing the information system requirements. The development phase contains activities for building the system, testing the system, and conducting functional qualification testing, to ensure the system functional processes satisfy the functional process requirements in the Functional Requirements Document (FRD). At the end of this phase, the system will be ready for the activities of the Integration and Test Phase.
6.1 ROLES AND RESPONSIBILITIES
- Project Manager. The project Manager is responsible and accountable for the successful execution of the Development Phase. The project Manager is responsible for leading the team that accomplishes the tasks shown above. The Project Manager is also responsible for reviewing deliverables for accuracy, approving deliverables and providing status reports to management.
- Project Team. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager.
- Contracting Officer. The contracting officer is responsible and accountable for the procurement activities and signs contract awards.
- Oversight Activities. Agency oversight activities, including the IRM office, provide advice and counsel to the project manager on the conduct and requirements of the Development Phase. Additionally, oversight activities provide information, judgements, and recommendations to the agency decision makers during project reviews and in support of project decision milestones.
- Developer. The developer is responsible for the development activities to include coding, testing, documenting and delivering the completed system.
6.2 DELIVERABLES
- Contingency Plan. The Contingency Plan contains emergency response procedures; backup arrangements, procedures, and responsibilities; and post-disaster recovery procedures and responsibilities. Contingency planning is essential to ensure that DOJ systems are able to recover from processing disruptions in the event of localized emergencies or large-scale disasters. It is an emergency response plan, developed in conjunction with application owners and maintained at the primary and backup computer installation to ensure that a reasonable continuity of support is provided if events occur that could prevent normal operations. Contingency plans shall be routinely reviewed, updated, and tested to enable vital operations and resources to be restored as quickly as possible and to keep system downtime to an absolute minimum. A Contingency Plan is synonymous with a disaster plan and an emergency plan. If the system/subsystem is to be located within a facility with an acceptable contingency plan, system-unique contingency requirements should be added as an annex to the existing facility contingency plan.
- Software Development Document. Contains documentation pertaining to the development of each unit or module, including the test cases, software, test results, approvals, and any other items that will help explain the functionality of the software
- System (Application) Software. This is the actual software developed. It is used for the Test and Integration Phase and finalized before implementation of the system. Include all the disks (or other medium) used to store the information.
- Test Files/Data. All the information used for system testing should be provided at the end of this phase. Provide the actual test data and files used.
- Integration Document. The Integration Document explains how the software components, hardware components, or both are combined and the interaction between them.
7 Integration and Test
The objective of this phase is to prove that the developed system satisfies the requirements defined in the FRD. Several types of tests will be conducted in this phase. First, subsystem integration tests shall be executed and evaluated by the development team to prove that the program components integrate properly into the subsystems and that the subsystems integrate properly into an application. Next, the testing team conducts and evaluates system tests to ensure the developed system meets all technical requirements, including performance requirements. Next, the testing team and the Security Program Manager conduct security tests to validate that the access and data security requirements are met. Finally, users participate in acceptance testing to confirm that the developed system meets all user requirements as stated in the FRD. Acceptance testing shall be done in a simulated “real” user environment with the users using simulated or real target platforms and infrastructures.
7.1 ROLES AND RESPONSIBILITIES
- Project Manager. The project manager is responsible and accountable for the successful execution of the Integration and Test Phase. The project manager is responsible for leading the team that accomplishes the tasks shown above. The Project Manager is also responsible for reviewing deliverables for accuracy, approving deliverables and providing status reports to management.
- Project Team. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager. This includes establishing the test environment.
- Contracting Officer. The contracting officer is responsible and accountable for the procurement activities and signs contract awards.
- Security Program Manager. The Security Program Manager is responsible for conducting security tests according to the Systems Security Plan.
- Oversight Activities. Agency oversight activities, including the IRM office, provide advice and counsel for the project manager on the conduct and requirements of the Integration and Test Phase. Additionally, oversight activities provide information, judgements, and recommendations to the agency decision makers during project reviews and in support of project decision milestones.
- User. Users participate in acceptance testing to ensure systems perform as expected.
7.2 DELIVERABLES
- Test Analysis Report. This report documents each test - unit/module, subsystem integration, system, user acceptance and security.
- Test Analysis Approval Determination. Attached to the test analysis report as a final result of the test reviews and testing levels above the integration test; briefly summarizes the perceived readiness for migration of the software.
- Test Problem Report. Document problems encountered during testing; the form is attached to the test analysis reports.
8 Implementation
In this phase, the system or system modifications are installed and made operational in a production environment. The phase is initiated after the system has been tested and accepted by the user and Project Manager. Activities in this phase include notification of implementation to end users, execution of the previously defined training plan, data entry or conversion, and post implementation review. This phase continues until the system is operating in production in accordance with the defined user requirements.
The new system can fall into three categories, replacement of a manual process, replacement of a legacy system, or upgrade to an existing system. Regardless of the type of system, all aspects of the implementation phase should be followed. This will ensure the smoothest possible transition to the organization’s desired goal.
8.1 ROLES AND RESPONSIBILITIES
- Project Manager. The project manager is responsible and accountable for the successful execution of the Implementation Phase. The project manager is responsible for leading the team that accomplishes the tasks shown above. The project manager is also responsible for reviewing deliverables for accuracy, approving deliverables and providing status reports to management.
- Project Team. The project team members (regardless of the organization of permanent assignment) are responsible for accomplishing assigned tasks as directed by the project manager.
- Contracting Officer. The contracting officer is responsible and accountable for the procurement activities and signs contract awards.
- Oversight Activities. Agency oversight activities, including the IRM office, provide advice and counsel for the project manager on the conduct and requirements of the Implementation Phase. Additionally, oversight activities provide information, judgements, and recommendations to the agency decision makers during project reviews and in support of project decision milestones.
8.2 DELIVERABLES
- Delivered System. After the Implementation Phase Review and Approval Certification is signed by the Project Manager and the System Proponent representative, the system - including the production version of the data repository - is delivered to the customer for the Operations and Maintenance Phase.
- Change Implementation Notice. A formal request and approval document for changes made during the Implementation Phase.
- Version Description Document. The primary configuration control document used to track and control versions of software released to the operational environment. It is a summary of the features and contents for the software build and identifies and describes the version of the software being delivered.
9 Operations and Meintenance
More than half of the life cycle costs are attributed to the operations and maintenance of systems. In this phase, it is essential that all facets of operations and maintenance are performed. The system is being used and scrutinized to ensure that it meets the needs initially stated in the planning phase. Problems are detected and new needs arise. This may require modification to existing code, new code to be developed and/or hardware configuration changes. Providing user support is an ongoing activity. New users will require training and others will require training as well. The emphasis of this phase will be to ensure that the users needs are met and the system continues to perform as specified in the operational environment. Additionally, as operations and maintenance personnel monitor the current system they may become aware of better ways to improve the system and therefore make recommendations. Changes will be required to fix problems, possibly add features and make improvements to the system. This phase will continue as long as the system is in use.
9.1 ROLES AND RESPONSIBILITIES
- Systems Manager. The Systems Manager develops, documents and execute plans and procedures for conducting activities and tasks of the Maintenance Process. To provide for an avenue of problem reporting and customer satisfaction, the Systems Manager should create and discuss communications instructions with the systems customers.
- Technical Support . Personnel which proved technical support to the program. This support may involve granting access rights to the program. Setup of workstations or terminals to access the system. Maintaining the operating system for both server and workstation. Technical support personnel may be involved with issuing user ids or login names and passwords. In a Client server environment technical support may perform systems scheduled backups and operating system maintenance during downtime.
- Operations or Operators (turn on/off systems, start tasks, backup etc). For many mainframe systems, technical support for a program is provided by an operator. The operator performs scheduled backup, performs maintenance during downtime and is responsible to ensure the system is online and available for users. Operators may be involved with issuing user ids or login names and passwords for the system.
- Customers. The customer needs to be able to share with the systems manager the need for improvements or the existence of problems. Some users live with a situation or problem because they feel they must. Customers may feel that change will be slow or disruptive. Some feel the need to create work-arounds. A customer has the responsibility to report problems or make recommendations for changes to a system.
- Program Analysts or Programmer. Interprets user requirements, designs and writes the code for specialized programs. User changes, improvements, enhancements may be discussed in Joint Application Design sessions. Analysts programs for errors, debugs the program and tests program design.
- Process Improvement Review Board. A board of individuals may be convened to approve recommendations for changes and improvements to the system. This group may be chartered. The charter should outline what should be brought before the group for consideration and approval. The board may issue a Change Directive.
- Users Group or Team. A group of computer users who share knowledge they have gained concerning a program or system. They usually meet to exchange information, share programs and can provide expert knowledge for a system under consideration for change.
- Contracting Officer. The contracting officer is responsible and accountable for the procurement activities and signs contract award.
- Data Administrator. Performs tasks which ensure that accurate and valid data are entered into the system. Sometimes this person creates the information systems database, maintains the databases security and develops plans for disaster recovery. The data administrator may be called upon to create queries and reports for a variety of user requests. The data administrator responsibilities include maintaining the databases data dictionary. The data dictionary provides a description of each field in the database, the field characteristics and what data is maintained with the field.
- Telecommunications Analyst and Network System Analyst. Plans, installs, configures, upgrades and maintains networks as needed. If the system requires it, they ensures that external communications and connectivity are available.
- Computer Systems Security Officer (CSSO). The CSSO has a requirement to review system change requests, review and in some cases coordinate the Change Impact Assessments, participate in the Configuration Control Board process, and conduct and report changes that may be made that effect the security posture of the system.
9.2 DELIVERABLES
- In-Process Review Report. The In-Process Review (IPR) occurs at predetermined milestones usually quarterly, but at least once a year. The performance measures should be reviewed along with the health of the system. Performance measures should be measured against the baseline measures. Ad hoc reviews should be called when deemed necessary by either party. Document the results of this review in the IPR Report.
- User Satisfaction Review Report. User Satisfaction Reviews can be used as a tool to determine the current user satisfaction with the performance capabilities of an existing application or initiate a proposal for a new system. This review can be used as input to the IPR Report.
10 Disposition
The Disposition Phase will be implemented to either eliminate a large part of a system or as in most cases, close down a system and end the life cycle process. The system in this phase has been declared surplus and/or obsolete and will be scheduled for shut-down. A Disposition Plan shall be prepared to address all facets of archiving, transferring, and disposing of the system and data. Particular emphasis shall be given to proper preservation of the data processed by the system so that it is effectively migrated to another system or archived in accordance with applicable records management regulations and policies for potential future access. The system disposition activities preserve information not only about the current production system but also about the evolution of the system through its life cycle.
10.1 ROLES AND RESPONSIBILITIES
- Project Manager. The Project Manager is responsible and accountable for the successful execution of the Disposition Phase activities.
- Data Administrator. The Disposition Plan may direct that only certain systems data be archived. The Data Administrator would identify the data and assist technical personnel with the actual archive process. The Data Administrator may be involved with identifying data which due to its sensitive nature must be destroyed. They would also be involved with identifying and migrating data to a new or replacement system.
- Security Managers. The security managers will need to make sure that all access authority has been eliminated for the users. Any users that only use the application should be removed from the system while others that use other applications as well as this one may still need access to the overall system, but not the application being shut-down. If there is another application that is taking the place of this application, the security managers should coordinate with the new security managers.
10.2 DELIVERABLES
- Disposition Plan. The objectives of the plan are to end the operation of the system in a planned, orderly manner and to ensure that system components and data are properly archived or incorporated into other systems. This will include removing the active support by the operations and maintenance organizations. The users will need to play an active role in the transition. All concerned groups will need to be kept informed of the progress and target dates.
- Post-Termination Review Report. A report at the end of the process that details the findings of the Disposition Phase review. It includes details of where to find all products and documentation that has been archived.
- Archived System. The packaged set of data and documentation containing the archived application.
Credits
1 The Department of Justice. Systems Development Life Cycle Guidance Document
2 Tutorial Point. SDLC - Overview
3 Wikipedia. Systems development life cycle