237
13.2
Design resolution
may be available from other companies or exist within the enterprise’s
proprietary
software repository. To determine if an existing software package is beneficial to
be incorporated into the software product configuration, an engineering cost-ben-
efit analysis must be conducted. This is sometimes referred to as a “make-or-buy”
analysis to support design decision making. The make-or-buy
analysis assesses the
viability of utilizing a software nondevelopmental item (NDI) in lieu of incurring
the expense of developing a new software package (structural component or unit).
A make-or-buy analysis is a form of trade-off analysis that will be discussed in
Chapter 14.
A software make-or-buy analysis evaluates the advantages of incorporating an
existing software package into the design structure. The
following factors should be
addressed by this analytical deliberation:
1.
Availability of a suitable NDI solution
. Software packages may bear many
superficial characteristics in common with the structural element definition.
However, there are several industrial practices that may negate an existing soft-
ware
package from consideration, including:
●
What is the maturity of the NDI software package? How dependable is the
software package based on its operational experience? How stable is the
NDI software package in terms of problem reports and fixes?
●
Is the provider or supplier of the software package able to continue to
support the package if it were incorporated
into the software product
configuration?
●
Can the source code and documentation be purchased to enable continued
sustainment should the provider/supplier go out of business?
●
Are there licensing or proprietary right issues with distributing the NDI soft-
ware package as an element of the software product configuration?
2.
NDI package technical characteristics
. While
an NDI software package may
appear suitable at first glance at the specifications, there are performance-related
details that must be addressed:
●
Will the NDI package execute properly within the specified computing
environment?
●
What are the performance benchmarks for the
package on a computing envi-
ronment that is similarly configured to the target computing environment?
●
How efficiently does the package utilize computing resources?
●
What is the precision of the data value resulting from the data processing
calculation?
●
What language was the NDI software implemented? Can an alternate lan-
guage be assimilated and integrated into the overall software product config-
uration? Can the NDI package be assembled and
complied with the software
product configuration or does it need to be linked at build time?
●
Are the NDI package external interface and associated software interfaces
adequately documented to facilitate integrating the package into the software
product structural configuration?