This depends on several things, including what application it was, how well it was prepared, whether an interview is necessary and even the area of the country where you live. At the USCIS website, you can see what the standard processing times are depending on the kind of case.
Unfortunately, many applications take a long time to process. It depends completely on the type of application, office processing it, and other factors that the other poster mentioned. You could try making an infopass appointment and asking USCIS if anything has happened or been requested in your case. Also make sure to check your case number regularly on USCIS.gov and update your address if you move.
I hope this helps,
I completely agree with the comments above. In addition, you can also call USCIS at 800-375-5283 with your case number. They could also give you an idea of how long and what dates are being processed.
www.NCSDimmigration.com. Free consultation (Spanish, Vietnamese). Information provided here are for general purposes only. No implied nor express relationships are established.