Duplicate object in different sizes
You can use:

1) Hair Particle system

Just set random size to 1 as in the picture below



2) 2D Arrays &amp; Randomize transform

Duplicate the object 10x10 times



Than apply modifers, enter edit mode, spilt by loose parts.

Now you'll have 100 different objects. Run the command Randomize Transform and set the XYZ Pos, Rot, Scale variance factors and the seed.



Obiuvsly the first method gives you the opportunity to change the base object at anytime, so it usually preferred.

3) Random Object Array add-on

It's an add you can find on Blender Market (so it's not free). As stated by the author:


  A particle system is great for hair, particles, fur, even grass. But it can become an obstacle for other purposes. Compared to a particle system, the Random Object Array add-on offers much more control over random values like rotation, position, scale.


Here's a video about it:

https://youtu.be/ugaEllRttAk?t=8m13s