It worked very well for me, and the "snowball plan" I'd figured out for my mom also worked well while it lasted, but with a slight change from what you've described. Basically, I figured out the minimum payments for all debt, then picked one that would be paid off first -- for that one, I had to pay no less than the minimum payment +20% every month. If I had more, I paid more. Once that one got paid off, the ENTIRE amount I'd paid to that debt every month would then be dedicated to the next I needed to pay off -- that debt then got its minimum payment + what had previously been the minimum payment of the paid-off debt + 20% of that previous minimum payment. When the second debt is paid, the entire amount I had previously been paying on both debts plus that 20% then rolls to the next in the priority line.
As to which one I picked first -- I didn't do the smallest. Instead, I picked the smallest one with the highest interest rate. For instance, if I have two debts at 10% and two at 12%, the lowest amount in the 12% is the first to get paid off even if it's more than the balance on the 10% ones. Saving money on that interest ends up being worth a heck of a lot more than a faster payoff.
It worked VERY well for me, but I stuck to it until it was all gone. My mom tried a similar plan for her own debt, and got about 70% of it paid off before she "fell of the wagon" and started spending money she didn't have again.