Preheat oven to 350°F. Line two baking trays with parchment paper and set aside.
In a bowl, place the flour, baking powder, baking soda, and salt. Briefly mix with a whisk.
In a large bowl with an electric hand mixer, or in the bowl of a standing mixer, place the butter and sugar. Beat until fluffy. Add the egg, sour cream, and vanilla and blend well. Gradually stir in the flour mixture.
Chill the dough for 1 hour. Roll the dough on a generously floured surface with a floured rolling pin about 1/4-inch thick. Use a two-inch circle cookie cutter to cut out the dough. Place the cookies on the prepared baking tray. Alternatively, roll about 1 1/2 tablespoons of dough into a ball and gently flatten with your floured palm.
Bake one tray at a time in the middle of the oven until edges start to brown, 12 to 14 minutes. Keep the other tray of cookies in the refrigerator while the first tray bakes. Let cool completely before frosting.
In the bowl of a standing mixer or in a large bowl with an electric hand mixer, blend the butter and shortening on low speed.
Gradually add about half of the confectioner’s sugar. Blend in the vanilla, salt and two tablespoons of the milk. Gradually add the rest of the confectioner’s sugar and mix very well until the frosting is smooth. If necessary, add additional milk or water to desired consistency.