The Defense Department is leveraging cloud computing to help it overcome the high infrastructure costs presented by agile development, says a DoD official.
"When we combine infrastructure as a services, continuous delivery automation and the agile development approach, this is a game changer," said Robert Vietmeyer, lead for cloud computing and agile development within the enterprise services and integration directorate at the DoD office of chief information officer. Vietmeyer spoke Oct. 14 at a panel discussion hosted by AFFIRM in Washington, D.C.
A key component of agile development is the use of shorter timelines and frequent testing or analysis, but this can stress servers. The DoD has 81 servers across its development labs that support agile projects, and each one has software licenses and test tools associated with it.
"Now we take the cloud infrastructure approach, and what we're able to do is provision these machines on demand, provision accredited platforms for those. We can provision the [security technical information guides] the [virtual private network] connections, the whole bit as sort of a push button," said Vietmeyer.
For example, project teams can leverage a handful of large servers for eight hours of performance testing and then free up the space after testing. This added flexibility means testing can take hours rather than weeks, said Vietmeyer. This on-demand cloud testing environment is not perfect yet, but Vietmeyer hopes it will soon become a regular part of agile project workflow.
"That will drive tremendous efficiencies in our delivery and this hidden development infrastructure cost," he added.
Overall, cost is a major consideration with agile development. The overhead and up-front costs of agile development are often greater than a waterfall approach, panelists said. It's also difficult to know what the final deliverable will look like or when the end-point of a project will be reached.
"Two weeks is a popular iteration length. It's not one I've ever used," said Robert White, supervisory computer engineer at the FBI. "I pushed more toward eight weeks specifically because there's the start up and shutdown cost. So, that's a decision I made, in the projects I was on, to reduce those costs."
However, if a project needs to be terminated because it becomes too expensive or takes too long, some value had been delivered throughout the process, said Vietmeyer.
"You never get to the point where you're 12, 18 months down the road and you kill a project that's never delivered anything," he said.