Recommendation 9

Establish Software Development Teams at Each Major Command

Proposal: Establish embedded software development teams of government employees -- “human clouds” of computer programmers and software developers responsive to local commanders -- who are available on-demand to swiftly solve software problems by working directly with the owner of the requirement. Small teams of these developers should be assigned to commanders to provide an organic, on-demand resource that is immediately responsive to warfighter needs without necessitating writing a requirement, selecting a vendor, reaching back to a distant resource, or going through lengthy and onerous approval and contracting processes.

Comment:  Throughout the DoD enterprise, our warfighters are often confronted with computer programming obstacles that are compounded by the lack of speed and agility to address even the simplest system software development problems. Moreover, there are numerous opportunities to gain a tactical advantage, increase efficiency upgrade, or improve data analysis, visualization, and sharing that are currently missed due to a lack of awareness and lack of capability to do rapid software development. The absence of dedicated computer science resources “in the field” that are capable of addressing emerging requirements and the drawn-out approval processes mandated by current acquisition regulations are inadequate to address the increasingly complex and high-tempo demands our troops face across all domains. This has a negative impact to mission readiness and effectiveness that is simply accepted as the cost of doing business in the DoD.

In keeping with the industry best practices, the DoD should embrace a localized approach that pairs users and software developers sitting side by side with the ability to do rapid deployment of new code that is responsive to rapidly evolving requirements. In this scenario, the Board envisions that commanders would have at their disposal a small cadre of talented specialists that can easily be deployed to provide fast and innovative solutions the most pressing programming and software needs. This “human cloud” rapid reaction force should be empowered to work side by side with operators on the ground and apply their expertise to the front line of the DoD’s software challenges.

In addition, these teams of developers would not be restricted to fixing broken programs, but could also develop new capabilities and speed them to warfighters and commanders. The solutions may have broader applications elsewhere in the Department; for example, developers might be able to create customized solutions for automating the processing, exploitation, and dissemination of data. The natural evolution of this project is to create a secure “GitHub-like” platform for DoD developers.

Background: Modern software companies take advantage of the ability of small teams of programmers to develop and deploy new capabilities into their products in a rapid fashion. SAP is one such example. Equipped with the right capabilities, access to computing, and network-centric infrastructure, these teams can implement a new product feature, continuously check it against a set of unit and system tests, deploy it to a test group for feedback, and eventually deploy the new feature in a matter of days, weeks, or months, depending on the complexity of the change. In the DoD, this type of change can take years.

Most companies do not typically deploy on-demand teams of programmers or developers to swiftly solve software problems in the field – the rough equivalent of the Pentagon sending these teams to different theaters or Areas of Responsibility (AOR). If this dynamic played out in the private sector, it is likely that the company that built the code or sold the resulting product would send teams to the user that would experience software problems with the product. While this may occur when large enterprises with complex systems experience problems, individual users generally do not have access to this type of non-virtual support directly from the software developer.

However, the nature of the unique environment faced by Combatant Commands, and the need to be able to rapidly respond to changing conditions, motivates a different approach in the DoD.  And despite the ability for rapid “reach back” support, the ability to have software developers “in the field,” working directly with the warfighters whose lives they are helping protect, would significantly enhance the value that this “human cloud” would bring.

In addition to the deployment of software development assets, it will also be necessary to provide the modern computing and communications capability to allow this group to share their results with others in the DoD enterprise and build off of the work that others have done in similar situations. GitHub provides one model for this, where thousands of programmers share their code with others in a manner that allows creative contributions to be rapidly disseminated, tested and critiqued, in addition to providing continuous integration (e.g., unit testing code revisions as they are committed) and sophisticated revision tracking. Creating a secure “GitHub-like” platform can be modeled after the way different companies use GitHub, including MailChimp, Hootsuite, PayPal, Etsy, Vimeo, and SAP.