
Some reflections:
1) Mostly, do NOT use any agency! There is zero help as long as you can read English. The application process is not complex, and the agency even deliberately further complicate the process maybe just to make it look more professional. Also, the charge is extremely high! I used agency the first time and got rejected and the second time, I did my self and got approved!
2) Don't try to apply too early! It says you can apply as early as 6 months. However, the chance is super low. I applied after my 6 months (with only 3-month tax certificate). I got immediately rejected at exactly 4 month waiting period. I then waited for 6 months, and applied the 2nd time, with a whole year of tax cert, and then succeeded.
3) The longer you wait, the bigger chance you are! Their procedure seems like to filter out by a couple of cycles (e.g. at 4 month, 6 month, etc). So, if you are not reject at 4 month, good chance! If you are not reject at 6 month, congratulations and be patient. They seems like to set some time alarm in the system. In my case, I got it approved exactly on the day that my pending period is one year. So, expect some good news on the days like this. They post the mail, and you should be able to receive it within 2 days.
4) A fixed job with high salary and good employer should be helpful. Of course, high education is also helpful. I also heard it should be helpful if you have a property here and you have a boy, etc. It is hard to prove these points but they make sense pretty much.
Wish everybody good luck!