THE GRID

THE GRID

PRINT PAGE Add This

Forge.mil: A DoD Innovation for the Enterprise

Rob Vietmeyer, Dale Partridge, Tom Morton Forge.mil Program Office

Forge.mil is one of the strategic initiatives of the vice chairman of the Joint Chiefs of Staff to meet his vision of enterprise services and capabilities that will greatly enhance support to the warfighter. In April 2009, Forge.mil went operational with a key goal to transform the way DoD innovates information technology (IT).

No doubt this was an ambitious undertaking with few expecting this to happen overnight. In fact, many wanted a simple question answered: what is holding DoD back from being more effective in the way it acquires, develops, and delivers IT? In a speech, Deputy Defense Secretary William Lynn said, "On average, it takes the department 81 months from when an IT program is first funded to when it becomes operational. … By comparison, the iPhone was developed in 24 months. That is less time than it would take us to prepare and defend a budget and receive congressional approval for it. Steve Jobs gets an iPhone. We get a budget. It's not an acceptable trade."

As Forge.mil completes its first 24 months of operation, it's appropriate to look back and ask: what have we done, what have we learned, and what's next on the horizon?

What is Forge.mil?

Forge.mil is a DISA-led activity designed to improve the ability of DoD to facilitate agile software development to rapidly deliver dependable software, services, and systems in support of net-centric operations and warfare. Forge.mil consists of two offerings — SoftwareForge and ProjectForge. Both are offered in a "software-as-a-service" model, with full accreditation, operating in DoD floor-space and networks. Each provides the same application life-cycle management (ALM) software-development tools, such as version control, bug tracking, requirements management, and release packaging, along with collaboration tools such as wikis, discussion forums, and document repositories to enable collaborative development among geographically distributed teams.

SoftwareForge promotes cross-team/cross-service collaboration and is available at no charge to open-source and community-source development projects within DoD. All projects are operated as a DoD-internal/public environment and are accessible by authorized users (e.g., DoD common access card (CAC) and External Certificate Authority (ECA) certificate holders). The time from project-request approval to project availability occurs at a rapid pace. Requests for project space are reviewed and, if approved, made available to the customer within one business day. SoftwareForge operates and supports customers on the unclassified (NIPRNet) and classified (SIPRNet) networks.

ProjectForge provides customers, for a fee, the same application life-cycle management tools as SoftwareForge for projects not developing DoD communitysource or open-source software and for projects that need to restrict access to specific project members. As such, read and write access to each project is more tightly controlled by the customer through a fine-grained management of permissions. Once the customer agrees to the standard support agreement and provides the required funding for this service, project space can be made available within hours. Benefits to the program include: (a) lower total cost of ownership; (b) faster start-up time (hours versus months) and reduced cost; (c) delivery and storage of software assets within reliable government-owned software repository; and (d) support for collaboration among geographically dispersed teams. ProjectForge currently operates only on the unclassified network. In the event a customer requires a classified network version of ProjectForge, one could easily and quickly be stood up to accommodate the request.

Forge.mil: Agile ALM in Action

Since the Forge.mil project received funding in September 2008, the project has been very active, using agile application/software development methodologies, It began with the selection of a commercial-off-the-shelf product (CollabNet TeamForge), adapting the product for DoD use, PKI-enabling the application, performing a complete certification and accreditation (C&A) review, and receiving type accreditation. The team deployed all instances of the applications on fully virtualized platforms, reaching initial operating capability for SoftwareForge on NIPRNet and SIPRNet in a Space and Naval Warfare Systems (SPAWAR) facility in less than six months. We later migrated service operations on NIPRNet from the SPAWAR facility to a DISA defense enterprise computing center (DECC) with minimal operational down-time and user interruption. Using a modified SoftwareForge instantiation, the team stood-up ProjectForge in a DISA DECC concurrently with operational migration and subsequently upgraded the infrastructure and application from 32-bit architecture to support 64-bit by migrating 64-bit, fully intact, virtual operating environments (VOEs) from our offsite, pre-production facility to the DISA DECC with minimal down-time and no loss of operational data.

Following agile scrum methodology, we continuously release incremental functionality on a monthly basis for all systems. Recent efforts integrated a Web content management system with SoftwareForge by adopting an open-source product, adapting it for DoD use to include PKIenabling, conducting C&A, obtaining an interim approval to operate (IATO), and using DISA's new emergent technology cloud computing, platform-as-a-service Rapid Access Computing Environment (RACE) as part of that process. Today, SoftwareForge has grown to more than 8,000 users and 400 projects while ProjectForge supports six paying customers with several more in the pipeline.

Customer Success on Forge.mil

Customer successes on Forge.mil demonstrate, in a compelling fashion, that using the services/facilities of Forge.mil benefits the DoD community in many ways. These ways include the key factors of saving money and time. This tool suite supports program offices' efforts to change from legacy waterfall methodology to agile software development, forging a way to achieve DoD's vision of reduced turnaround time from requirements to putting capability in the hands of the warfighter.

Organizations and programs using Forge.mil include the Distributed Common Ground/Surface System (DCGS) Integration Backbone (DIB) as well as DCGS-Army and DCGS Marine Corps; the Tank and Automotive Research, Development and Engineering Center (TARDEC); Installation Management Command; Joint Command and Control (JC2); Global Command and Control System – Joint (GCCS-J); and Marine Air-Ground Task Force (MAGTF) Command. Programs such as the National Senior Leaders Decision Support Service (NSLDSS) and Naval Enterprise Portal – Oceanography (NEP-O) successfully exploit the power of Forge.mil's ability to support agile software development. They rapidly moved from traditional software development to a more agile approach. Other programs such as Ozone Widget Framework and the Army's System-Of-Systems Common Operating Environment (SOSCOE) use Forge. mil's file release capability to efficiently distribute software, eliminating the expense and logistics required to produce and ship CDs or DVDs out to their customers. These are just a few examples of the many projects using Forge.mil to improve their processes, to gain efficiencies, and to put capability in the hands of the warfighter faster than ever before.

In the summer of 2010, the Applications for the Army (A4A) Program used Forge.mil as a means to manage more than 80 software projects participating in the firstever A4A challenge. Participants established their project and posted software and associated documentation for review and evaluation by the A4A Program Office. The Army strongly embraced Forge.mil and agile software development methodologies with the A4A challenge demonstrating their commitment, desire, and ability to rapidly provide useful applications to the warfighter.

What Have We Learned?

The Defense Authorization Act of 2010, Section 804, directed that DoD was to develop and implement a new acquisition process for information technology systems that to the extent possible shall be designed to include:

  • Early and continual involvement of the user.
  • Multiple, rapidly executed increments or releases of capability.
  • Early, successive prototyping to support an evolutionary approach.
  • Modular, open-systems approach.

Without question, we understand that a tool, in and of itself, is not the answer or silver bullet to a given problem. Rapid delivery of usable software requires a change in processes. We have seen "on the ground" a marked difference between what is traditionally known as waterfall development versus agile development. It's not our purpose to argue the merits of one development methodology over another; the underlying tool we use supports a variety of methodologies. However, as it states in the Agile Manifesto, one key principle is to "deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale." A program office's adoption of the agile software development methodology provides the dramatic change from annual or longer software releases to monthly or shorter release schedules. One of the core strengths of Agile is the ability to identify, develop, and target for release the highest value application features and to allow users and project stakeholders to use and evaluate application features early in the development process in order to validate the usefulness/value of the delivered feature. This approach assumes that the product's users and stakeholders have delivered an in-order highest value feature set in the initial product road map and understand that the road map is inherently flexible and expected to course correct as product users, stakeholders, and the delivery team discover less obvious high-value features or high-risk technical challenges as the product is tested within a real-world context and associated set of business domain challenges.

In the Forge.mil office, we successfully use SoftwareForge to support our agile software development to provide capability to the warfighter. The Community feature is one of the latest Forge.mil new development services. The Community project was implemented in accordance with the Forge agile process. Just like other projects, it started with the first product-envision planning in late September 2010.

The product planning includes, but is not limited to, the identification of the business cases, goals and objectives, technology road map, release-iteration strategy, and certification and accreditation plan. Once the project studies and plans were approved and kicked-off, the Forge.mil agile team members, consisting of a project manager, developers, information assurance engineers, testers, certifiers, operators, and users, worked side-by-side daily throughout each iteration of release. The Community feature development effort used RACE; continuous integration, development, and deployment (Forge.mil and Hudson); and open-source technologies. The Drupal open-source technology is the core software for the Forge Community feature. In just a short 10 to12 weeks, Forge Community received an IATO in December 2010. The team fielded this new capability on April 18.

Connecting with Communities of Interest

Forge.mil Community is a social network site for Forge.mil users to connect and share information. While the project teams on SoftwareForge and ProjectForge are focused on their individual project or projects, the Forge. mil Office recognized a need to improve the communication between like-minded teams and like-minded individuals – between teams/individuals working to solve similar problems and/or discuss similar issues that transcend a single project or set of projects. Group associations with a project or a set of projects provides a broader view of software development activity and allows project teams and individuals to better connect, collaborate, share information, and expand the discussions within a wider audience. The Forge.mil Community site provides a "social" networking layer to augment and integrate with the current capabilities in Forge.mil to provide a more holistic view of Forge.mil activities.

Forge.mil Community also provides a forum for teams, and individuals who are not necessarily working on the development of software but who have knowledge and experience to contribute and share with a wider community. Forge.mil Community allows for the formation of groups built around communities of interest, organizations, mission areas, or specific technologies as well as groups created around topics of interest to the information technology acquisition community, such as Section 804 compliance, general CAC/PKI information, software development best practices to include Agile, and contract strategies for the use of Forge.mil and Agile. There are obvious DoD-wide advantages to creating like-minded, loosely aligned "communities of interest" or "subject matter expert" groups, not the least of which is a coalescing of institutional knowledge into a searchable format. However, from an individual perspective, connecting and sharing within Forge.mil provides opportunities for professional networking and cross-pollination of ideas, raising an individual's reputation and standing within their area of expertise. Forge.mil provides a focused set of tools to help you gain information to do your job, as well as give you the opportunity to pass on your expertise to the larger DoD community.

What's Next?

We established a working group among DISA organizations to define and develop a continuous delivery platform (CDP). This capability encompasses major touch points along the application development life cycle and is born from the need to collapse the chasm that exists between development and operations. It also uses — to a much higher degree and integrated fashion — the maturing capabilities supporting automation in virtualization/cloud, continuous integration, build automation, testing, accreditation, and application deployment.

The team envisioned CDP to be a series of integrated tools and services that enable our developers to rapidly deploy high quality software by using our build, test, and deploy management services. A partial list of capabilities needed to drive the CDP includes:

Cloud infrastructure resources — Rapid provisioning and management of the hosted virtual machines and network configurations, from within a centralized and secure-hosted environment, necessary to support the development and inspection and update and/or deployment of software applications.

Hosted software development and quality assurance resources — Licensed and accredited instances of open-source and commercial tools so they can be used in an on-demand fashion supporting a tailored and highly automated configurable development, test, and deployment process.

On-demand access to real or virtualized systems and services — Services to define, create, inventory, manage, deploy, and use in an on-demand fashion virtualized generational representations of systems or services (existing or under development). Continuous monitoring and status update of all C&A related activities — Services to collect, monitor, and inform evaluators and decision makers.

Though the CDP is still in the formative stages, it represents a quantum leap in efficient and rapid software development that leads to enhanced capabilities for our warfighters.

 

Return to The Grid Homepage