tts to a little small. I normally wear a XS or a S and I bought an S. It's a cardigan and the button ripple a little but don't gap. a M might have worked too, but I was fine with the S. (for reference, I'm a 34C) In the future, I'll probably size up for cardi's but go with an S for more solid styles.
the lower part fits pretty well. The small is fitted on me, but not too much. It's comfortable and appropriate for work. I was a worried that the M would be too big, which is why I kept S.
I'd say order the size that you wear most consistantly. If that's an XS, get that but if you wear a S just as often, go with the small. I'm kind of 50/50 between the sizes.