I've read several some of the guides out there (examples here and here) on this topic. I've found a shingle in the yard a couple times (after heavy wind/rain), and at times I've seen a few granules in the downspouts, but otherwise none of the warning signs are present. My roof is asphalt shingle with age approx. 15 years.
In the St. Louis area where I am, conventional wisdom says that 20 years is as much as you can expect out of an asphalt-shingled roof, so replacement is on the horizon. The best time to replace it, I suppose, would be the day before it starts to leak. Short of using a crystal ball, what other factors would help narrow down the optimal time to replace? I don't want to replace it now if it would still have several years of service left, but don't want to wait until it leaks either.