Keep Pace With a Standardized Development Process
▪ Early standardizations focused on hardware abstraction, but modern technology is built on software.
▪ Iterative software development processes are getting better products to customers faster.
▪Test organizations must move to standardized methods of iterative software development to remain competitive.
Standardization has been an aspirational objective in test organizations for decades. In 1961, D.B. Dobson and L.L. Wolff of Radio Corporation of America (RCA) published Standardization of Electronic Test Equipment. The paper presents 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 test 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. With a large mix of products and assets that can stay in service up to 50 years, test groups in the aerospace and defense industry stand to benefit most from test systems that are more maintainable and reusable.
Security requirements and fast-paced changes are compelling modern test organizations to go far beyond just hardware standardization. They’re now focusing on both 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.
Software as the Backbone of Standardization
The RCA paper describes the process of identifying shared inputs and outputs across multiple functional components and missile programs to define the requirements of its modular hardware system. That process of identifying and separating common elements that can be addressed together is the basis of abstraction. Larger instrumentation standardization efforts and a move toward commercial off-the-shelf 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.
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.” Modern instrumentation increasingly includes processors and software-defined components like FPGAs. To get the most out of these modern test solutions, defining measurement systems in software is not only beneficial but necessary.
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. This allows 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.”
“With the rate of change in technology today, 30 years can feel like an eternity. Sometimes the best-in-class approaches of today just aren’t compatible with the best-in-class approaches of the past.”
Mark Keith, Chief Engineer, Honeywell Aerospace
Modern Software Development for Test
At the pace new products and features are released in today’s market, just organizing a test software architecture properly is no longer enough. The test software organization must 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 it “will help the [Department of Defense (DoD)] 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 US adversaries and it needs to find innovative ways to bring capabilities to the warfighters faster.” Aerospace and defense is not the only industry in which test teams are struggling to deliver better technology to market faster. Iterative development is a proven method for accelerating technology development across multiple industries.
While test engineering teams have been focusing on hardware standardization and tiered software architectures, R&D 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.
Increased Value of Standardization
Discover how to use NI TestStand test executive software with the Jenkins open source automation server.
NI Head of Aerospace and Defense Marketing