It depeds what You want to have.
For all possible Options You can use a
FuseCalculator.
Nearly all the Fuses can be Changed.
When using ISP Programming the Controller has to had an functioning clock source.
E.g. When fused the Controller to external Clock source, there must be one there, or the Controller is not further functional.
Another mistake for ISP Programming is to disable the Reset Pin.
An error I've searched a long time for fix, is to let the JTAG enabled - That takes a few Pins from the Controller they can't be otherwise used then.
At ATMEGA 16 and greater this Function is activated at delivery!
The Lock Fuses are only to set.
To clear them the Controller has to be deleted completly.
I think for private using it is not nessesary to set them - It is a secure feature for commercenal use.
At delivery the ATMEGA 16 Controller is set to:
Reset Pin enabled
Internal Oscillator at 1MHz
Brown Out reset disabled
SPI ( = ISP ) enabled
JTAG ( = In System debugging ) enabled!!!
Lock Fused disabled
Boot Loader disabled
When exact timing doesn't matter and 8MHz is fast enough, You can use the internal Clock source.
You can increase the accurance of the clock by using the OSCCAL Procedure ( Take a look into the Datasheet or AN: AVR053 ).
When exact Clock frequencies or higher frequencies than 8MHz is needed, You should use an extenal Crystal e.g. for high speed serial connetions or watches.
Be aware, there are differet types of ATMEGA 16 availible ATMEGA 16, ATMEGA 16L, ATMEGA 16A ( list not complete ) .
They differ in a few availible Hardware options, operational Voltage and maximum Clock speed.
ATMEGA 16A has an own Datasheet!