Are you looking to develop web or mobile applications? And if you are looking to develop mobile apps, what kind of apps? Client or server side.
To build an effective estimate I tend to use a top down approach. I start with high level functionality and get only as granular as I need to. I also will prioritize my features by identifying which are ‘required’ and which are ‘nice to haves’.