Keep pace with a standardized development process
Standardization has been an objective in test organizations for decades. In 1961, D.B. Dobson and L.L. Wolff of Radio Corporation of America (RCA) published a paper, “Standardization of Electronic Test Equipment.” The paper presented the principles, criteria, and techniques used in the investigation and prototyping of multipurpose missile system test equipment.
The goal of most early technology standardization efforts was to limit the variety of equipment used in test solutions across the organization. The key objective RCA achieved was the design and deployment of a modular hardware set. Modular hardware leads to higher equipment reuse, more integrated test solutions, fewer obsolete components, and an easier process for technology replacement.
The RCA paper described the process of identifying shared inputs and outputs across multiple functional components and missile programs to define the requirements of its modular hardware system. It was this process of identifying and separating common elements that can be addressed together that became the basis of abstraction. Larger instrumentation standardization efforts and a move toward commercial off-the-shelf (COTS) technology have led to modular hardware standards like VXI, PXI, PXIe, and AXIe that are used in test organizations across many industries. Standard modular hardware platforms abstract redundant elements like power supplies, cooling, and user interfaces to single points within the system.
Software as the backbone of standardization
Security requirements and fast-paced changes are compelling modern test organizations to go far beyond just hardware standardization; they’re now also focusing on software layers and the practices used to develop them. Test engineering teams must begin the process of adopting and standardizing on iterative software development to keep pace with product development teams and maintain project schedules in an industry that is quickly modernizing.
In the report Design and Acquisition of Software for Defense Systems, the Defense Science Board (DSB) states, “many of the capabilities provided by our weapons systems are derived from the software of the system, not the hardware. This shift from hardware-enabled capabilities to software-enabled capabilities is increasing quickly.”
The best test software engineering teams are building abstracted test software that delivers even more benefits than abstracted hardware provides. An abstracted software platform comprises layers that perform specific functions, which enables teams to repair and upgrade each module individually while isolating other layers by maintaining the same inputs and outputs. “With dozens of legacy business lines, software standardization has to address the history of each group,” said Mark Keith, chief engineer at Honeywell Aerospace. “The purpose [of abstraction] is to minimize or eliminate the need for software modifications when that obsolete hardware is replaced.”
Modern software development for test
The test organization must also implement practices that drive faster and more flexible delivery to manufacturing and the customer. To deliver all the demanded features, modern software engineering teams are moving to continuous iterative software development practices like Agile.
As stated in the DSB report, “The main benefit of iterative development is the ability to catch errors quickly and continuously, integrate new code with ease, and obtain user feedback throughout the development of the application.” Iterative software development is now an industry-standard practice, and the report says that it “will help the [Department of Defense (DoD)] to operate in today’s dynamic security environment, where threats are changing faster than Waterfall development can handle.”
Standardizing on iterative development
Iterative software development requires a well-orchestrated team that works cooperatively and – much like the abstraction of hardware platforms and software architectures – includes shared and repeated concepts and tasks.
Teams that collaborate on code bases must agree and standardize on tools for source code control, unit test frameworks, code analysis, work management, and deployment. A growing additional concern is cybersecurity. The DSB states: “Checking a software system’s code base daily keeps manageable the number of changes required to comply with a large base of cyber rules.”
In the report Contracting Strategy for F-22 Modernization, the Inspector General of the DoD states, “According to a Program Office official, the DoD is at risk of losing its technological edge against U.S. adversaries and it needs to find innovative ways to bring capabilities to the warfighters faster.” Iterative development is a proven method for accelerating technology development across multiple industries, not only defense and aerospace.
While test engineering teams have been focusing on hardware standardization and tiered software architectures, research and development organizations have moved toward iterative product development. All aspects of standardization are important and valuable to test organizations, but standardization must be refined to work with the engineering practices under development today. Test organizations that adopt Agile software development practices are poised to capitalize on this approaching opportunity.