Test Estimation is probably the toughest part of the entire discipline, yes it is difficult in any discipline but the sheer number of internal and external dependencies makes the creation of an effective generic process impossible.