Technology Today

2013 Issue 1

SWIFT: Challenging Software Productivity Limits

SWIFT: Challenging Software Productivity Limits

Continuous improvement to drive efficiency and higher development productivity is Raytheon’s priority and our customer’s directive. In a September 2010 memo, Under Secretary of Defense for Acquisition, Technology and Logistics, Dr. Ashton Carter, calls out the need to:

  • “Mandate affordability as a requirement.”
  • “Set shorter program timelines and manage to them.”
  • “Incentivize productivity and innovation in industry.”1

Software development methods and tools such as Agile and Lean development are used to minimize software cost and reduce software delivery time. The emerging trend to use these methods in the commercial industry is beginning to penetrate the defense industry. Recognizing the opportunities that these methods and tools present, Raytheon’s software community has been challenged to think beyond incremental software development methodology improvements and look for ways to dramatically increase productivity and our competitiveness.

Pillars of Success

Raytheon’s Software Innovation for Tomorrow (SWIFT) initiative is helping us meet the challenge of delivering mission solutions faster and more efficiently while meeting or exceeding the software quality levels our customers expect.

Figure 1. SWIFT pillars — customer alignment forms the foundation for the methods employed within the other SWIFT Pillars.

Realizing this goal requires a comprehensive approach. SWIFT is organized around four primary focus areas whose foundational objective is customer alignment (Figure 1). This approach is designed to improve productivity, reduce schedule and mitigate risk. Some major SWIFT pillar components are summarized below.

People and Environment

Raytheon-selected methods provide the education, collaboration, workspaces and development tools needed to change the traditional software development culture.

Agile software development — characterized by open communications, iterative requirements and development, and customer collaboration — allows for rapid delivery of incremental working (integrated/tested) software components. Application lifecycle management (ALM)2 tools go beyond the well known integrated development environment (IDE), providing automation and managed workflow through requirements, design, architecture, release and deployment phases. Virtualization (running multiple operating systems on a single computer) makes efficient use of hardware while introducing agility in supporting multiple development environments. When combined with lean methods, which eliminate waste and increase efficiency, this approach enables Raytheon to develop effective solutions while providing the customer with high-priority capabilities first.

“Scrum is an iterative and incremental agile software development method for managing software projects and the product or application development.”3 A key element of this is a sprint, which is a fixed unit of development generally of a one-to-four-week duration with team-defined tasks and goal(s). Figure 2 depicts a typical Raytheon implementation of the Scrum management framework. The Scrum team, comprised of Raytheon and customer teammates, (A) holds daily time-boxed standup meetings to facilitate communication and (B) utilizes a job list to organize, plan and delegate tasks and subtasks. The Scrum Master captures the sprint progress in electronic form and tracks progress of the work products daily, leading to an incremental release.

Figure 2. Implementing a Scrum management framework at Raytheon

As noted in the November 5th, 2012 issue of Aviation Week, the Scrum management framework adopted by IDS’ Zumwalt program had a positive direct impact to the program’s schedule and milestones:

“Few ships are more dependent on proper software development than the thinly crewed DDG 1000 Zumwalt-class destroyers, which rely on computer networks to run more automated systems for their operation. Thus far Raytheon Integrated Defense Systems, one of the Zumwalt’s prime contractors developing a major portion of that software, has been able to meet program deadlines and milestones for those systems. One of the keys for that success, says Bill Marcley, Raytheon DDG 1000 program manager and vice president of Total Ship Mission Systems, has been a, ‘new agile software development approach,’ for software development and production.”

Automation

Model Driven Software Development (MDSD) is a method of creating models in a high-level, domain-specific language, and these models can subsequently be converted to executable software components through an associated automatic code generation function. These automation techniques decrease the time required to generate deliverable artifacts and raise the quality of the software by minimizing defects throughout software development stages. Task automation focuses on eliminating or reducing repetitive tasks and thereby streamlining development activities, allowing engineers to focus on technical tasks. Finally, the consistent use of parametric cost modeling automates the generation of project estimates, refines the accuracy of each estimate and reduces the cost of capturing estimates.

Integration automation techniques have been deployed widely within Raytheon’s businesses. Automated overnight builds result in savings in configuration management labor, while automated unit tests reduce overall engineering hours. This increased automation and pace of integration helps developers identify defects earlier and quickly implement fixes, leading to reduced manpower requirements. As a result, programs have reduced estimates at completion and have lowered estimates on future efforts.

Structured Reuse

Structured Reuse is the framework, resources and mechanisms for developing reusable software, and it provides governance on how to reuse such software correctly and efficiently. The methods within the Structured Reuse pillar pull together the strategic use of external software sources such as commercial off-the-shelf (COTS) and government off-the-shelf (GOTS) products to leverage mature industry technologies. Software product lines are sets of software-intensive systems sharing a common, managed set of features developed from a common set of core assets, e.g., from a toolkit (see Toolkits Enable Efficient Software Development). Satisfying specific needs within a market segment, software product lines help ensure that Raytheon’s delivered systems contain seasoned, well-tested components. Similarly, at a smaller scale, niche reuse solutions are strategically targeted software assets reused across a mission domain as a means to quick and reliable solutions.

A key to Raytheon meeting its DDG 1000 software development milestones has been a new agile software development approach.

Raytheon has focused on broadly deploying structured reuse methods and has received a noticeable benefit from the adoption of software product lines and niche reuse. Usage of Raytheon genSoft (an integrated toolkit of simulation models that supports a common product development methodology) has increased over 100 percent since 2010 and is now standard on all new missile programs. Employing genSoft has saved thousands of labor hours per use.

Advanced Test

Advanced test techniques play a major role in both software development and function verification. Test driven development is an iterative process by which both test software and the functionality are continually advanced in short, repeating cycles until the functional software component and associated test harness are completed. Test optimization is a parametric-based approach to statistically determine an optimized test suite that meets all testing requirements. These methods are combined to focus and streamline the component-level software development and test effort. As the software is developed, code analysis tools are employed to identify defects prior to beginning unit test. The continuous integration (CI) infrastructure provides a cycle of automated product software builds, automated unit test execution, and continuous automated testing of the software; and these collectively lead to continuous automated formal qualification testing (FQT). With this integrated solution set, the software is always in a fully tested configuration. System/ software test optimization leverages tests prepared during software unit-level testing for use in validation and verification during system-level testing. The resulting collaboration among system and software engineers increases the quality of system testing while reducing the test time and effort required.

These advanced test methods have been implemented on several programs with measurable results. For example, one program used the continuous integration method, which resulted in most defects being detected very early in the development cycle, and far fewer than expected found in the field.

Customer Alignment

Raytheon’s SWIFT ensures that customer needs are a foundational focus by making the customer a key stakeholder in each step of the software development process. The goal of Customer Alignment is to reduce, through close customer partnerships, the cost, schedule and effort required to achieve technical and management milestones. This pillar is the foundation for maturing the methods associated with the other pillars.

The Rewards

The SWIFT Agile project management framework provides a method to incrementally develop and field customer solutions quickly and reliably. The methods adopted by SWIFT reduce development and life-cycle costs by providing predictable, stable processes based on the latest technology. Raytheon programs that have adopted agile management frameworks have realized substantial cost and schedule productivity improvements over programs developing software using a traditional management structure.

References:
1. “Better Buying Power: Guidance for Obtaining Greater Effi ciency and Productivity in Defense Spending,” Dr. Ashton Carter, September 2010. See http://www.acq.osd.mil/docs/USD_ATL_Guidance_ Memo_September_14_2010_FINAL.PDF?transcriptid=4648. In November of that year an implementation directive memo was issued on the same subject to the secretaries of the military departments and the directors of the defense agencies. See http://www.acq.osd.mil/docs/USD(AT&L)_Implementation_Directive_Better_Buying_Power_110310.pdf?transcriptid=4648.
2. Application Lifecycle Management is “a continuous process of managing the life of an application through governance, development and maintenance.” Wikipedia Foundation, Inc., 2010.
3. Scrum (development), Wikipedia Foundation, Inc., 2010.

Jennifer Walker, Robert Boardman and Shirley Hendrick

Share This Story



Top of Page