Hi,
1)
Each AVR datasheet contains all necessary informations how the chips can be programmed.
Serial programming, parallel programming, timings, pin descriptions, voltage levels, protocol and so on.
Additionally they have application notes for programmers, as well as hardware and software for different protocols....
The manufacturer should always be the first address for such informations.
2)
First you need specifications.
There are many programmers available. Form cheap to expensive. Why do you need another one?
What are your requirements that others can´t fulfill?
Don´t reinvent the wheel.
But maye you have very special requirements, that really need a custom designed programmer.
Then you should tell all about it. What is your target interface (DUT), what is your human interface (PC, cellular phone...) what operating system does it use?
and so on.
Klaus