Shared programming pins
As Foxrider83 correctly pointed out, a resistor is unnecessary between the button and MOSI because the button will never drive the line. It's essentially a dead-end piece of wire when it is not being pressed.

Regarding the reset circuitry, there are other passive components you could add for extra reliability, but you should be okay without them. I have even implemented a reset button without a series resistor (creating a short between the reset pin and ground), and it worked just fine. Since in your design, only an ISP programmer and not a button will be asserting the reset line, it should work fine.