It's time and temperature. At a cooking temperature between 300 and 350 degrees F, it takes a chicken around 20 to 30 minutes per pound to cook. A 4 pound chicken should take around 2 hours to cook. When the internal temperature of the chicken reaches 175 to 180 degree F, it's time to take it off the heat.
So it will depend on your BBQ temp. Obviously, the lower the temp, the longer it will take to cook the bird. I use a spit on my Weber kettle and it takes about 2 hrs @ 300F for a 4-5 lb bird to reach 175F near the thigh.