For example, we were working on radios that could self-organize into networks on frequencies they picked dynamically and keep on the same frequencies while facing a changing RF environment because they were in a convoy driving through the desert with a high powered jammer randomly stomping on everything.
And these aren't fanciful requirements. You're in a country whose government you just toppled--you can't count on the civilian frequency allocations. The military really doesn't want to keep track of every squad's frequency assignment manually. The radios are always on the move, in often challenging terrain (mountains, etc.). The enemy has jammers and countermeasures. Even if not every radio needs every one of these capabilities, the military needs an overall communications architecture that accommodates all of these functions.
There is no encryption and no frequency hopping not because it's difficult to do, but because the goal is to be heard and understood by anyone who listens.
Encryption is by no means the only additional feature, at least frequency hopping is crucial to avoiding jamming. I can imagine there are other requirements I can't immediately think of.
You will need to spend some effort on getting synchronization right, but it's a lot less complicated than, say, building a CRUD app.
If you want the radio to let you watch video feed from a drone above, show a map with locations of other soldiers, or update Facebook status via satellite link, that may be a bit more work.
Now make a radio that works in sub-zero and 100+ degree temperatures, survives water, dust, and firearm exposure, being dropped dozens of feet, is resistant to broad-spectrum jamming, can handle secure encrypted communications with a large set of ever-changing participants, has a range of dozens of miles and days of battery life, is of a size and weight portable enough to be carried by a soldier for hours or days alongside their normal gear, and which can be field-repaired by a soldier with a few days of training.
And those are just the high-level requirements. It's a lot more complicated than a CRUD app, which even a non-programmer can do in an hour.
Any cell phone seems to do the former just fine, and I don't know of any radio, military or not, that can do the latter.
The application portion has a nice explanation on the effects of gun fire on systems. Keep in mind that "gunfire" covers everything from a 9mm handgun to a 30mm Gatling gun.