Software Management

Software Management

Software Development Life Cycle (SDLC) Process

The Software Development Life Cycle (SDLC) Process is the structured approach to developing software for a system or project, sometimes called the Software Development Life Cycle (SDLC). There are several approaches (see Software Development Approaches) that can be used, including waterfall, spiral, and incremental development. These different approaches will focus the testing effort at different […]

Software Management

Software Development Life Cycle (SDLC) Process Read More »

Software Management

Software System Best Practices

The Software Development Process is the structured approach to developing software for a system or project. There are a number of approaches (see Software Development Approaches) that can be used to include waterfall, spiral and incremental development. These different approaches will focus the testing effort at different points in the development process. However, each is

Software Management

Software System Best Practices Read More »

Software Management

Software Specification Review

A Software Specification Review (SSR) is conducted for each Computer Software Configuration Item (CSCI) after the System Functional Review (SFR), but prior to the initiation of preliminary design for the individual CSCI. The SSR is part of the overall systems engineering process of allocating and formally defining requirements and must occur after the system/subsystem level

Software Management

Software Specification Review Read More »

Software Management

Software Source Selection Considerations

  Software Source Selection Consideration for Computer Systems & Software (CS&S) tasks includes: Creating CS&S Request for Proposal (RFP) content Accomplishing Software Proposal Evaluation   It’s should be the objective to select developers with sound approaches; applicable domain experience in the development of software-intensive systems; proven program management, systems engineering, and software engineering processes; and

Software Management

Software Source Selection Considerations Read More »

Software Management

Software Size Estimate

Software Size Estimating is an important activity in software engineering that is used to estimate the size of an application or component in order to be able to implement other program management activities such as cost estimation or schedule progress.  The software engineer is responsible for generating independent estimates of the software size throughout the

Software Management

Software Size Estimate Read More »

Software Management

Software Risk Estimation

Software Risk Estimation is one of the most significant risks faced by any weapon system program.  The ability to properly estimate software size, effort, and schedule is crucial and must be addressed by every Program Manager (PM). Visit: Software Estimation Process Consideration Visit: Estimating Reuse Feasibility The following factors contribute to software estimation risk: Ability

Software Management

Software Risk Estimation Read More »

Software Management

Software Size Control

  The software development process often results in software size growth due to additional decomposed and derived requirements at the lower system tiers. A typical challenge for embedded systems is that software size often grows under the radar, unconstrained, unmanaged, and unattended.  In order to combat this situation, consider establishing a software size control program.

Software Management

Software Size Control Read More »

Software Management

Software Resources Data Report

The Software Resources Data Report (SRDR) collects software metrics data to supplement actual Contractor Cost Data Reporting (CCDR) cost data to provide a better understanding and improved estimating of software-intensive programs. Cost and Software Data Reporting (CSDR) System The Cost and Software Data Reporting (CSDR) system is the primary means that DoD uses to collect

Software Management

Software Resources Data Report Read More »

Software Management

Software RFP Content

Software is addressed in the Request for Proposal (RFP) in order to solicit proposals that provide the information to support an effective Government evaluation and identification of strengths, deficiencies, uncertainties, weaknesses, and risks related to software. The sections is an RFP that should address software include: [1] Statement of Objectives (SOO) Statement of Work (SOW)

Software Management

Software RFP Content Read More »

Software Management

Software Proposal Evaluation

  The Source Selection Evaluation Team (SSET) evaluates each offeror‘s proposal and any subsequently submitted information or proposal revisions against the solicitation requirements and evaluation criteria. The SSET evaluates the offeror‘s understanding of the software task, the viability of the proposed approach, and the offeror‘s capability and capacity to perform. In addition, the SSET identifies

Software Management

Software Proposal Evaluation Read More »

Software Management

Software Metrics

Software Metrics are a measure of some property of a piece of software or its specifications. The goal is obtaining objective, reproducible and quantifiable measurements, which may have numerous valuable applications in schedule and budget planning, cost estimation, quality assurance testing, software debugging, software performance optimization, and optimal personnel task assignments. [2] Software metrics should

Software Management

Software Metrics Read More »

Software Management

Software Hardware Change Process

  Changes to the software and hardware are inevitable throughout the life cycle to fix discrepancy reports and improve system testing and maturity. As these changes occur it is imperative that a process is documented for incorporating necessary changes for hardware and software into the computer system architecture with minimal impact to the safe operation.

Software Management

Software Hardware Change Process Read More »

Software Management

Software Functional Configuration Audit

Software Functional Configuration Audit (FCA) should be conducted for each Computer Software Configuration Item (CSCI) in the system. Software audits may be conducted on a single CSCI or a group of CSCIs. This audit is intended to confirm the CSCI is verified/tested relative to the allocated requirements and relevant higher-level specifications. Software FCAs also verify

Software Management

Software Functional Configuration Audit Read More »

Software Management

Software Estimation Process Considerations

The software estimating process consists of a series of activities that include estimating the size of the software to be developed, modified, or reused; applying estimating models and techniques; and analyzing, crosschecking, and reporting the results. The following steps should be considered as part of any Software Size Estimating process: [1] Develop a notional architecture

Software Management

Software Estimation Process Considerations Read More »

Software Management

Software Contract Considerations

There are a number of pitfalls to be avoided when contracting for software-intensive systems. For example, the failure of Government Furnished Software (GFS) could render the Government responsible for subsequent failures on the part of the contractor. Another example is applying an improper type of contract for software development. Yet another is the establishment of

Software Management

Software Contract Considerations Read More »

Software Management

Software Critical Design Review

Software Critical Design Review (CDR) should be performed at the Computer Software Configuration Item (CSCI) level for software-intensive systems. The primary purpose of the software CSCI CDR is to determine if the completed detailed design meets the specified requirements established in the pertinent developmental baseline (functional/performance) specification, and the design is complete and ready to

Software Management

Software Critical Design Review Read More »

Software Management

Software Assurance

Software Assurance (SwA) is the justified confidence that the software functions as intended and is free of exploitable vulnerabilities, either intentionally or unintentionally designed or inserted as part of the system at any time during the lifecycle. Definition: Software Assurance is the level of confidence that software is free from vulnerabilities, either intentionally designed into

Software Management

Software Assurance Read More »

Software Management

Software Commercial off-the-Shelf

Modifying the core code of a Commercial off-the-Shelf (COTS) product should be avoided. It is possible to add code to the existing product to make it operate in a way it was not intended to do “out-of-the-box.” This, however, significantly increases program and total life-cycle costs and turns a commercial product into a DoD-unique product.

Software Management

Software Commercial off-the-Shelf Read More »

Software Management

Software Anti-Tamper

Anti-Tamper (AT) is are measures that are intended to prevent and/or delay the exploitation of critical technologies in systems, training devices, and maintenance support equipment. AT measures are developed and implemented to protect Critical Program Information (CPI) in U.S. defense systems developed using co-development agreements; sold to foreign governments; or no longer within U.S. control.

Software Management

Software Anti-Tamper Read More »

Software Management

Realistic Program Baselines for Software

  Software baseline instability has done more to undermine acquisition credibility and complicate effective management of the acquisition of software-intensive systems than the inability to establish realistic software development cost and schedule baselines (Acquisition Program Baseline, Performance Measurement Baseline (PMB), and Technical Baseline). Without a realistic estimate of the required effort and schedule, tied to

Software Management

Realistic Program Baselines for Software Read More »

Software Management

Programming Language Selection

When a programming language decision must be made, programs should conduct a trade study to determine the best computer programming language, or mix of programming languages, to be used to satisfy system life cycle requirements. This includes the necessary criteria for Post Development Software Support (PDSS). Suggested areas to be addressed include: [1] Language supports

Software Management

Programming Language Selection Read More »

Software Management

Non-Developmental Software

Non-Developmental Software (NDS) is any software that is not legacy software for the program, or is not developed as part of the effort being accomplished by the developer team. NDS includes: [1] Commercial off the Self (COTS) software Government Furnished Software (GFS) Open Source Software (OSS) Software being reused from another program NDS can provide

Software Management

Non-Developmental Software Read More »