I have a pretty irregular pattern of software, but given the way PDQ deploys 8 sessions concurrently, and the fact I bundle a "start" and "stop" message -- it's generally best to group the packages together (e.g. chrome+firefox+etc)
But not all computers have all the same programs, e.g. some may have Firefox and/or Chrome and/or Flash and/or Shockwave.
It doesn't seem that PDQ Deploy has something akin to "only install if $programinstalled".
And while the pre-fab Collections in Inventory help a lot, it seems somewhat cumbersome or difficult to dynamically create packages to reflect EVERYTHING.
If I deploy "one package at a time" based on the proper collections for a single program, it stretches out the 'patch window' rather than Doing Computer A, Computer B, Computer C, etc.