Creating new appdev capabilities
I like this point from a recent write-up of the US Army’s software development transformation:
He added that the technology being developed is often secondary. "A lot of times, people get really caught up on what type of software you're developing, and we look at it as the software that we're developing is the intermediate step," he said. Instead, the desired result is having a slew of technology-savvy professionals or "autonomous product teams that we can send out across the Army and hand to a commander without them knowing what they'll be potentially working on."
There are, indeed, some interesting apps they’ve been working on. And I obsess over apps because I want to hear the stories of how they were created. But, the bigger task going on is just building up software development skills, a new capability that’s ready to use when needed for whatever. Just like regular military training, I suppose.
The idea of a battlefield programmer has come up a lot recently. That’s a new capability they’re trying to create.
This group at the US Army is a great source for learning how large (like really large!) organizations get better at software. What they do - the practices - are good, but how they’re getting there (and how they’re changing their minds/culture) is always more interesting.
Here’s some more notes from the article:
- Started in January 2021. "In the past year, 55 soldiers and civilians from those two cohorts went to work on agile software teams that focus on different modernization priorities. The software factory has produced eight applications and averages 99 days from development to production for soldier use."
- “Then participants swap uniforms and last names for civilian clothes and calling one another by their first names as they embark on a six-month technology accelerator”
- “participants are assigned to tracks that include product management, user interface/user experience design, application engineering and platform engineering.”
- ‘the cohort starts practicing extreme programming and paired programming, an intensive learning model in which individuals sit "shoulder to shoulder all day for 40 hours a week" to learn from industry professionals’
If you really want to dive into this software factory stuff, check out this talk from them from last Fall.