Post-Production Software Support (PPSS)
DAU GLOSSARY DEFINITION
Those software support activities that occur after the production of the system has been completed.
PPSS is a key software support concept that includes the activities necessary to ensure that Systems Engineering (SE) and sustainment principles, processes and practices are applied to software. While the title indicates a focus on deployed software, the nature of software support is that critical activities occur throughout the acquisition process, in terms of planning, development of a support capability, and the effective deployment and maintenance of software resources.
Software support begins early in the life cycle with the identification of software support requirements within the Life Cycle Sustainment Plan (LCSP). Rights in technical data and software data rights are significant components of the Intellectual Property (IP) Strategy as required by DoD Instruction (DoDI) 5000.02, Operation of the Defense Acquisition System, DoDI 5000.91, Product Support Management for the Adaptive Acquisition Framework, and DoDI 5010.44, Intellectual Property (IP) Acquisition and Licensing. The SE process includes the development of software as a configured item equal to hardware in all programs, therefore addressed in program reviews, systems requirements reviews, testing, sustainment planning, and maintained as part of Operations and Support (O&S) phase activities.
Software Development Process
The management of the software development and the implementation of a process that ensures software supportability are among the most difficult challenges facing the Program Manager (PM) in management of software-intensive systems. The PM should effectively address the issues of software supportability, the software test environment, and other equipment, material, and documentation, including data rights that are required to provide PDSS for those end users identified in the LCSP or other software-specific development plans. While no longer required, a Software Developmen Plan (SDP) or Computer Resources Life Cycle Management Plan (CRLCMP) are both best practices addressed in the Information Technology (IT) Systems Continuous Support section of the Integrated Products Support (IPS) Element Guidebook. Capturing this level of detailed software support planning documentation can greatly assist the PM in controlling software life cycle costs.
Software support considerations are uniquely different than those of hardware support. Hardware support activities are typically dominated by preventive and corrective maintenance, which involves replacement or repair of a failed part. The failed part is replaced with an identical, functioning part. When software fails, the software engineer does not replace the offending code with an identical piece of code, but rather must modify the code to provide the needed functionality. Software modification is undertaken to defect corrections, address policy or doctrine, ensure safety, enable interoperability, reflect hardware changes, accommodate technology insertion, and incorporate functional changes.
Typically, software support costs include the labor, material, and overhead costs incurred after deployment in supporting the update, maintenance and modification, integration, and configuration management of software. These costs include operational, maintenance, support and diagnostic software programs for the primary system, support equipment, and training equipment. The respective costs of operating and maintaining the software support environment (the associated computer/peripheral equipment and associated software dedicated to performing software maintenance) and the cost to conduct all testing of the software should also be included. Other costs may include licensing fees for commercial software and accreditation of processes and facilities.
Software Support Activity (SSA)
The SSA assumes the role of providing post-deployment life cycle support for modifications or upgrades made to a system's software following initial fielding. System modifications and upgrades include multi-system changes, block changes, preplanned product improvements, repair of deficiencies reported by the user, and other types of system change packages. The SSA organization typically compiles these needed updates into formal software releases to avoid disrupting the fielded system. Software development activities performed by a SSA in providing life cycle support are the same as those carried out during the development effort that led to the first fielding. They are tailored, as appropriate, to reflect the effort required to implement each change package, update pertinent documentation, verify the changes, and distribute the changes to users.
Software and Performance-Based Logistics (PBL)
Non-organic software support may be achieved through either traditional contracting methods or by adopting a PBL approach. If commercial software support is required, the steps in obtaining software support contracts parallel those of the original procurement, to include preparation of requirements, development of a procurement package, to include a statement of work/objectives, Contract Data Requirements Listings (CDRL) and appropriate Data Item Descriptions (DID), deliverables, contract pricing and evaluation and award criteria. Under the PBL construct, performance-based Product Support Arrangements (PSA) may be structured to provide software support. In either case, a clear statement of outcomes to be achieved and the metrics needed to evaluate success are required.