Air Force Jumps on Agile Software Development Train

When the creators of agile software development got together in 2001 to put together their official manifesto, they knew they were onto something big. Some 16 years later, the concept of agile development remains strong. Software development firms from coast-to-coast, and even around the world, rely heavily on the agile model to deliver high-quality products to customers. Now it appears as though the U.S. Air Force is on board as well.

Late to the party, top Air Force brass now believe that agile software development will be a prominent contributor to the next generation of military software acquisition. The Air Force commander of Material Command made the intentions of her branch of the U.S. military very clear in a July 14 gathering at the Mitchell Institute for Aerospace Studies.

Gen. Ellen M. Pawlikowski referenced agile software development as the quick and flexible solution the Air Force needs. She described it as a model in which “you [constantly] plan it, you build it, you launch it, and you get feedback.” Though her definition is somewhat lacking, it does serve the purposes of the Air Force well enough.

Aeronautical engineering / 3D render image representing aeronautical engineering

What Agile Is All About

The software development teams at Austin-based iTexico employ agile development wherever appropriate. They see agile development as a way of adaptively planning, developing, and delivering software while still offering the necessary flexibility that software development so often requires. It is also important to note that one of the fundamentals of agile development is the concept of multiple teams working simultaneously rather than in waterfall progression.

With that in mind, let us look at Pawlikowski’s explanation of agile software development, point-by-point:

1. Planning It

Planning software development in the agile environment means starting with the 12 basic points of the original Agile Manifesto. It means focusing heavily on customer satisfaction along with early and continuous delivery. If the 12 points of the Agile Manifesto are not addressed in the planning stages, the entire project will fall flat on its face before it ever gets started.

2. Building It

Building software in an agile environment is all about close, daily cooperation between individual developers, their teams, and the customer. Dealing with the U.S. Air Force means keeping lines of communication open within a hierarchy that does not necessarily look anything the typical structure of the private sector. It also requires consulting with the Air Force whenever a new milestone is achieved. Developers and teams have to be prepared for plenty of scrutiny at every stage.

3. Launching It

If nothing else, the military is known for vigorous testing before any new technology launches. They expect nothing less from software development. That is not a problem for agile development, as pre-launch testing is an important part of the model. An agile project involves continuous testing at multiple stages throughout the development process so as to lead to timely delivery with as few bugs as possible.

4. Getting Feedback

Finally, feedback is another very important component of agile software development. However, the impetus for feedback is on the customer. In the case of the Air Force, they must be very specific about what they expect from the very start of the design process to the delivery of the final product. Feedback must be specific, in-depth, and targeted at ways to improve the product throughout its life cycle.

It would appear as though the Air Force is now on board with agile software development. It should lead to good things as long as the Air Force remains flexible enough to make the model work. That remains to be seen.