Software Factories: The Successful Path of Failure
"Failure is part of the process,” said Rick Jack, distinguished C4ISR software engineer at Naval Information Warfare Center Pacific.
Jack was part of a panel discussing “Software Factories Across the DoD Ecosystem—Delivering Value at the Speed of Relevance” hosted virtually by the AFCEA Northern Virginia Chapter on Tuesday. The Navy’s new Program Executive Officer for Manpower Logistics and Business Solutions, David Spencer, was the event’s moderator.
“The people who excel are those with the grit to continue through failure,” Jack added, when queried about which type of profiles were most appreciated in his division creating software for the Navy.
There are over two dozen such factories under the Department of Defense (DoD) and each seeks to create warfighting software that will address current needs in a highly dynamic environment.
“People succeed when they have a growth mindset,” said Capt. Rachele Szall, branch design lead at Kobayashi Maru, an Air Force software factory; she is also an active officer with the service.
After talking about those who have the best chances to succeed in these organizations, the panelists addressed the key element in their mission.
“Building and delivering capabilities that will build the future force design,” is how Hannah Hunt, chief product and innovation officer at the Army Software Factory, explained their goal.
These factories have to deliver effective and timely tools. This means that what they produce will actually help the Armed Forces achieve their mission.
“I think about user-centric design, the whole customer experience,” Capt. Szall told the audience. And understanding that experience entails a number of attributes common to all commercial and, now, military applications.
“Trust your users, they’ll tell you if something's bad,” Jack said. And one key element they learned from continuing to listen to end users is “getting developers to tool their apps in a way that we can exfiltrate the [application] data, it’s very important to do this, especially in our domain,” he added.
And when lessons are well learned, they are shared. “We’ve been able to take bits and pieces from other software factories and we have collaborated with the community,” Hunt explained.
Among the positive outcomes is optimization: “We’re working together all the time,” [even though] “we‘re different organizations working towards different goals,” said Capt. Szall. And where there is overlapping, code is shared, the panelists said. For the Army factory present at the event, this has made the learning curve steeper. “We’re a newer software factory, it’s awesome to see some of the lessons learned,” Hunt added.
This new approach, closer to how developers in the private sector operate, could potentially receive objections in terms of inefficiencies due to decentralization and other constraints related to the Armed Forces’ organizational culture. Nevertheless, the audience was reminded of the importance of the work these developers do.
“If you think that good design is expensive, look at the cost of bad design,” Capt. Szall said.