it doesn't take long to break their shields with D.Va's spread being a non factor
This is technically true due to the size of the shield, but spread is only half the equation. Each individual pellet also does less damage as distance increases, starting at 3 damage at up to 10 meters, falling off to 0.5 damage at 30 meters.
At >30 meters, a shot from D. Va,
if all pellets hit, does a whopping 4 damage.
The best heroes to break shields are imo Bastion or Junkrat. Or just grab a flanker (
such as D. Va) and get behind the shield.