You have the process right. As far as how long it takes, it varies from tank to tank. Are you doing a fishless cycle or are you cycling with fish? It it is a fishless cycle, the ammonia spike (where you add pure ammonia to raise the level to about 5 or 6 ppm) generally last about a week, give or take a couple days. The nitrite spike (once the ammonia has dropped to zero and you are just adding a small amount of ammonia each day to keep the bacteria already developed fed) will last about twice as long as the ammonia spike. The average time to completely cycle is probably about 3 to 4 weeks. The good thing about a fishless cycle though is that once the nitrite drops back to zero, you are ready to add pretty much your full fish load.
If you are cycling with fish, it will take longer. Basically, you add a few fish (quantity depends on the size of your tank, don't get carried away) and start checking daily for ammonia and nitrite. The ammonia will spike and then the nitrite will spike. During this time, you will probably have to do daily water changes to keep the levels from getting to a toxic level. Once both the ammonia and nitrite are back to zero for a full week, you can add a few more fish and start the process all over again. Basically the tank will only be cycled for the fish load that you currently have. Every time you add more fish that create more waste, your bacteria colony will have to catch up so you will get a mini cycle.