You can use auto-correlation plots/partial auto-correlation plots. See the Box-Jenkins wikipedia page. The idea is that if you process is an AR(q) process, after q lags the partial-autocorrelation plot, should go to zero. Partial-autocorrelation plot basically is a plot that compares the correlation of $x(t)$ and $x(t+k)$, except you only take the component of $x(t)$ and $x(t+k)$ that is orthogonal to all the intervening lags $(x(t)...x(t+k-1))$ (ie you take the residual of a regression). You test when that plot dies down to zero--using confidence intervals for example--and that gives you the number of lags.
The advantage of this method is that it is theoretically justified and you can test whether your process is not only AR(q) but ARIMA(p,d,q) with slight modifications. The downsides is this only works if your time series is ARIMA. If it is not it could give a good approximation but all theoretical underpinnings are thrown out the door. Information Criterion works for any type of time series process which give it more flexibility than partial auto-correlation (like lets say you wanted to build a structural time series model or a neural net). Unlike Information Criterions, autocorrelation plots don't return a score so it is difficult to tell how much worse an AR(q+1) fitted graph is with an AR(q) graph, but it does tell you which one is correct so maybe that is all you need.