Recent modernization throughout the Army has spawned several fast-moving initiatives designed to accelerate the timeline for developing and fielding tactical network and associated software-provided capabilities. Among these buzzword-driven efforts is Agile software development. Unlike traditional software development methods, in which several months or years can be spent on a product that is hopefully still relevant by the time it’s fielded to Soldiers, Agile focuses on rapid, iterative releases while frequently engaging with users to determine real-world needs.
Long an industry practice, Agile continues to gain popularity within the DOD community. Agile breaks down the development process into small, easily managed, time-boxed iterations with set goals called “sprints.” Sprints are typically conducted every two to three weeks, depending on level of complexity. They include sprint planning, held at the beginning of each sprint cycle; sprint execution, which includes short daily meetings to identify accomplishments, plans and known obstacles; and a sprint retrospective at the end of each sprint cycle.
More than ever, the Army is putting a strong emphasis on the user collaboration function of Agile sometimes referred to as development and operations, or DevOps. By placing developers side by side with Soldiers and commanders in operational units, technology concepts and solutions can be evaluated earlier and more frequently, with feedback collected in real time to refine or generate new requirements as needed.
Collaborative developmental efforts are also providing Soldiers with a sense of empowerment, knowing they are directly influencing the direction of future capabilities.
Over the past four years, the Army’s Program Executive Office for Command, Control and Communications – Tactical (PEO C3T) has adopted Agile software development best practices, values and principles within several of its programs to deliver next-generation capabilities. The Agile development process enables program offices to incrementally provide commanders and staff functions with capabilities that are continuously improved from current baselines, and allows for programs to receive real-time feedback.
MAKING IT WORK
PEO C3T’s Project Manager for Mission Command (PM MC) uses Agile software practices for its Command Post Computing Environment (CPCE), which is the primary computing environment under the Army’s Common Operating Environment (COE). The COE provides an easy-to-use common operational picture through a single mission command suite and server hardware operated and maintained by Soldiers.
PM MC enacted Agile software development practices for CPCE early on when it struck a government-to-government agreement with the U.S. Army Combat Capabilities Development Command Armaments Center Weapons and Software Engineering Center to act as its lead systems integrator. In doing so, the agreement set the conditions for maintaining Agile practices throughout the software development life cycle to ensure delivery of Soldier-informed capabilities in a timely and cost-effective manner. To do this, PM MC enlisted the Scaled Agile Framework (SAFe) based on the complexity of the CPCE program.
The task was to develop modernized and more intuitive versions of capabilities provided by legacy mission command systems, while integrating warfighter feedback via Agile software development methods. The first step of the SAFe implementation road map was workforce education.
Back in 2015, one of the major challenges encountered with DOD acquisition was that acquisition processes were specifically tailored to a waterfall software development cycle. Software programs of record were expected to have very detailed requirement and design documents established well before software development could begin. This waterfall methodology did not align with the changing environment and times, in which asymmetric warfare and enemies who rapidly adjust their tactics are more commonplace.
The Army’s technology and mission command software needed to adapt to the evolving threats, and Agile processes would allow for a more continuous software release when compared with traditional software development processes, which could take up to six years as developers aimed to define what they hoped were perfect requirements.
While SAFe training for the workforce was underway, the team conducted analyses to determine where and how best to apply these newly learned Agile practices. Certain acquisition processes, such as requirements definition by the Army capability manager and accreditation at Army interoperability certification events, were outside the jurisdiction of the Project Manager for Mission Command. The team subsequently developed a strategy to blend Agile software development life cycle methodologies with the existing acquisition process.
Through this hybrid strategy, PM MC has been able to release cost-effective, robust mission command software more frequently to meet the threat, while maintaining the approved acquisition processes. While requirement definition packages and capability drop documents would serve as the basis for the design and development of a given software release, warfighter feedback from DevOps exercises would also be prioritized by the PM. Developers and integrators quickly realized that DevOps exercises themselves would serve as an opportunity to familiarize the Soldier with the software, while identifying any potential issues before major events such as the Army interoperability certification.
In addition to receiving direct Soldier feedback, PM MC’s Agile scrum teams have an operational subject matter expert, usually a retired officer, warrant officer or noncommissioned officer, integrated into the team to assist developers in designing capabilities with the end user in mind. The team also conducts sprint demonstrations every three weeks, which are then shared with the trainers, schoolhouses and representative users to obtain feedback.
MODERNIZING FIRE SUPPORT
Another program leveraging Agile software development best practices within PM MC is the Advanced Field Artillery Tactical Data System fire support system.
The system provides fully automated support for planning, coordinating, controlling and executing fires and effects. It is the primary command and control system for Long-Range Precision Fires Cross-Functional Team initiatives.
The most recent version under development involves a complete rewrite of the software from a stand-alone application to a web-based solution as part of the software modernization effort. Working with industry, developers are mixing Agile best practices with traditional software development practices. This drives functionality through requirements analysis, architecture and design, and implementation and testing for systems in which uninterrupted functionality, such as fire support, is critical to warfighter safety.
However, based on the architecture team’s interpretation of the requirements, the team has been able to tailor the Agile process to fit its needs; specifically to develop software that provides a technical fire-direction capability for battery-sized fire support units.
Developers incorporated a usability test with Soldiers during an early engineering release to pinpoint what was working well and what was not, and thus identify enhancements that would make using the system more effective. The one area over which fire support personnel have expressed concern was the user interface design. Because of the ongoing DevOps with incremental experimentation, developers are able to continue to refine the design, often within the next sprint depending on the scope of changes.
The process is also providing the team with a framework to bake in safety, cyber and performance requirements throughout development by assessing vulnerabilities and code issues and correcting them before they become problematic Automation tooling and code generation have also contributed significantly to the Agile process.
SOFTWARE-DEFINED RADIOS EPITOMIZE AGILE
The Army’s tactical network modernization effort includes new software-defined radios, which are radios that can be configured to any frequency by way of software versus having set hardware components. PEO C3T’s Project Manager for Tactical Radios team is using a modified Agile Scrum framework to develop a critical capability called Black Sails, which simplifies and speeds up the ability for separate units or coalition forces to join one network to complete a common mission.
Traditionally, the process to connect all of the radios onto a common network would take anywhere from four to six hours because the units’ signal officers would have to manually configure each radio. Black Sails has shortened the time to 30-40 minutes by connecting software-defined radios to end-user devices via a network broadcast similar to Wi-Fi.
Like CPCE and the Advanced Field Artillery Tactical Data System, the Black Sails project incorporates Agile with sprints to help manage the development process. However, because Black Sails includes several applications managed across many programs—applications that must, in turn, be integrated into multiple hardware platforms—the Black Sails development team added a parallel process called the integration chain.
Using this process, the team is able to conduct two-week sprints while also performing integration testing, which provides them the opportunity to continuously identify and correct issues with integration as part of the entire development cycle.
As part of its modernization effort, the Army continues to use Agile software development processes to design and deliver cutting-edge capabilities. Iterative, collaborative software development—with a quick cadence of small releases—ensures that the system will be relevant when fielding. With the exponential pace of technology, modernization can occur only if developers have the flexibility to insert the latest software into Soldier solutions. Agile development provides that flexibility.
COL. SHAWN CHU-QUINN is the Product Manager for PM Mission Command’s Tactical Mission Command. She holds an M.P.A. in national security affairs from Troy University, an M.S. in modeling and simulation from the University of Central Florida and a B.S. in environmental science from Creighton University. She is Level III certified in program management and Level II certified in engineering.
RICHARD BOODHOO is the AFATDS 7.0 chief engineer under PM MC. He holds an M.S. in software engineering from Stevens Institute of Technology and a B.S. in computer science from Florida Polytechnic University. He is Level III certified in production, quality and manufacturing and Level II certified in engineering.
GEORGE SENGER is a computer scientist serving as the software and services assistant product manager for PEO C3T’s Product Manager for Waveforms and is the lead engineer for Project Black Sails. He holds an M.S. in computer science from Montclair State University and a B.A. in communications from William Patterson College. He is Level III certified in engineering.
JEFFREY KUDERNA is the CPCE project lead for the Tactical Effects, Protection and Interactive Technologies Directorate, Weapons and Software Engineering Center of the U.S. Army Combat Capabilities Development Command Armaments Center, and lead systems integrator to the Product Manager for Tactical Mission Command. He holds an M.S. in information systems and technology management from the University of Delaware and a B.S. in biomedical engineering from the University of Miami. He is Level III certified in engineering.
Read the full article in the Summer 2020 issue of Army AL&T magazine.
Subscribe to Army AL&T – the premier source of Army acquisition news and information.