Most avr's are programmed in ISP mode. This means that with only 4 wires you can program the device in circuit. Another method for programming is he parallel method which involves more wires, and cannot be done in circuit. There are other methods for more sophisticated avr's but for most of them there are the two methods mentioned above.
In ISP programming mode, you must be careful when programming the clock select fuse. If programmed incorrectly, you will need to use a parallel programmer to restore the clock fuse.
You should read the datasheet for the device you are using, it is explained very well.
There are lots of programs that will work for your board. but mainly I stick with avrstudio to do the programming.